Circuit City Streamlines Tedious Testing Tasks with TestBench
July 26, 2005 Robert Gast
Circuit City Stores is on a steady course set by CIO Michael Jones to revitalize select areas of its information management structure. Circuit City’s IT department is busy integrating into its core operations a new point of sale system to replace a proprietary one written in the mid-1980s. While the new POS system is Linux based, many of the company’s legacy applications run on iSeries. To guarantee the purchasing process runs smoothly and to shorten the time it takes to complete project segments, Circuit City uses automated software testing solutions from Original Software Group.
Circuit City has used OSG’s automated testing solutions for several years. It first licensed TestBench for iSeries and TestDrive in the spring of 2000, to ease the pressure of unit testing of the new RPG code.
In the notably large IT department at Circuit City, word of a new application testing tool traveled by word of mouth. “At first TestBench was a little-known secret among the developers here but word soon spread about this new tool,” says Eve Cook, application developer at the company’s headquarters in Richmond, Virginia. Cook, now a mighty champion of TestBench, received a copy of the manual from a colleague and began tinkering with a TestBench tutorial included in the package. “I used it to unit test all of my new work for about a year,” she says.
TestBench is an automated software testing solution that reduces the amount of effort required to test software, and improves the quality of the applications released to end users. The software checks all server-related activity including server process tracking, data extraction and maintenance, environment protection, central script and result storage, and tracking and analysis of all related database activity. TestDrive is a PC-based GUI front end that controls script record and playback. Its architecture eliminates the need for users to learn a test scripting language.
When a new merchandising project began, Cook, now familiar with the product, created an elaborately integrated testing “portal” with it. This environment was designed for use by Circuit City’s application support group to do real world testing on Planogram information. “I used TestBench to create several scripts that would mimic users entering data. An interactive menu starts one of four different scripts or superscripts in batch. Members of our application support team who have no knowledge of TestBench can click on a button and use automation to test the application with the new tool we developed,” explains Cook. “We needed to run tests repeatedly over the course of several months and we didn’t want to have to go in and change the date every time we used it. The tool was able to warp the date to a date in the past and run it like it was today.”
Not ‘Point of Fail’
The new point of sale project, launched just over a year ago, called for SurePOS to be configured as a thin-client with regionally located servers. These servers ultimately feed an iSeries model 840 eight-way that handles merchandising, and other iSeries machines used to service financial applications, extended warranties, and music CDs and games. To support the integration of IBM’s POS system, in December of 2003 Circuit City’s IT department leased a new i5 machine and created four partitions. Each partition was loaded with copies of TestBench along with assorted modules to set up a mirror image of the production environment, solely for the sake of testing.
Along with new hardware, Circuit City’s software test team is in the critical path of the POS implementation project at the testing phase, and must guarantee among other things that no problem has its causality in the testing environment. The test team defines what the test criteria will be, and then prepares a subset of live data for testing purposes using Extractor for iSeries, a TestBench plug-in. Extractor defines the structure of a live database and then creates database subsets that retain referential integrity. The subsequent datasets are perfect downsized representations of the live environment for use in testing. Test scripts are then written detailing which of dozens of tests to use on four different legacy application environments that the POS system feeds. When the Extractor-generated test data flows through the POS systems and then into the legacy applications on a quartet of iSeries machines, the values must be exactly as they were when first presented.
“Extractor allows us to make sure that we have a complete test package to hand off to the test groups. If we see a problem, we know it’s not caused by the test environment,” says Tracy Buckley, test team member. “We simply couldn’t manage without it–it lets us synch up between all the machines and application environments.”
Although SurePOS replaces a significant component in Circuit City’s computing environment, the legacy systems will have minimal changes. If the testing results warrant modifications to the applications, they are performed at the point where the Linux POS server maps data for delivery to legacy.
The Persistence of Business
As this QA work progresses, the development group’s ongoing efforts to enhance the legacy applications for reasons unrelated to the POS system must continue. Cook and other developers use TestBench to unit-test much of their work. “The Extractor module has been enormously helpful in pulling data from tons of files to set up the data cases for testing. It has been a huge time-saver because I can take one from a year ago and use it over and over with just minor changes,” says Cook.
Extractor also includes database auto-analysis capabilities, automated data maintenance, data manipulation such as updating, sampling, and archiving, and extraction reports for auditing. Copies of production databases often cause disk space capacity issues. “Before we started using Extractor,” says Dana McKenna, a Circuit City systems administrator, “analysts would use every bit of disk that we could throw at the box.”
Aside from virtually eliminating software defects, improving several different routine processes, collapsing the development/test cycle for new or modified applications, and reducing costs, TestBench also delivers value in less quantifiable ways. Says Buckley, “Across the board, TestBench is a tremendous help in getting the whole environment stable and integrated. These tools have really helped improve my personal confidence in the test data and how tests are set up. I can focus on testing the software’s functionality and don’t have to worry if the environment is set up properly.”
Robert Gast writes for The Original Software Group. He is the managing partner of Chicago-area based Evant Group, a marketing communications company, and can be reached via e-mail at firstname.lastname@example.org.