Cargill Simplifies Its Software Application Testing

Article ID: 17977

Cargill Global Financial Solutions, an administrative arm of Cargill, the international food, agricultural, and risk management company, is responsible for designing, modifying and supporting financial software packages across the Cargill organization globally. Headquartered in Minneapolis, Minnesota, one of the IT team's principal goals is to make the process of rolling out software packages as seamless and painless as possible for the various business environments within its global operations.

This doesn't just apply to applications developed in-house, but any software, including third-party packaged solutions. Cargill's philosophy is that no vendor can possibly anticipate and test all the ways in which a customer might use a piece of software, especially if the solution is a suite with many components and features. Also, Cargill frequently applies vendor-provided code changes issued between software releases and sometimes makes custom modifications to packaged software to meet business requirements — both situations in which testing of a production version is necessary.

Cargill's approach to this challenge is to build application models that can be rolled out to the rest of the organization. Because software deals with core business processes, this can only happen when Global Financial Solutions is happy that models have been thoroughly tested. "We take testing very seriously," says Product Manager Chip Lee. "We simply will not issue a new release without feeling confident that we have tested it thoroughly."

With an expectation of at least one major software release per year, Cargill began researching automated testing solutions in mid-2000. Being big users of PeopleSoft World (Cargill has more than 7,000 users of PeopleSoft World, formerly known as JD Edwards WorldSoftware), a critical consideration was the ability to test PeopleSoft World applications with unprecedented depth and detail. At the same time, the company sought to improve the quality and quantity of testing and provide consistency without increasing costs. After some market research, Cargill soon realized that Original Software's TestBench for iSeries was a software testing solution that could provide the necessary process improvements for testing PeopleSoft World applications on an iSeries.

Changing the Testing Process

What Cargill did was focus on its core processes and examine how to test them manually. It then developed a procedure for using TestBench to automate processes by recording scripts, creating test data, and building test packs for aggressive development and regression testing. Once the core processes were covered, others could be added, either separately or by being built into one or more existing processes.

This was a departure from the way Cargill had tested applications. Previously, all Cargill's processes were manual and each process was developed and stored separately. This meant there could be no pooling of such resources and that there was a good deal of overlap between test cases developed by different team members. Adopting TestBench let Cargill combine and document testing resources, eliminate overlap, and improve the efficiency of the testing process overall.

The project team found that the best use of its resources was to create a handful of TestBench experts who would work closely with the product and take responsibility for developing and building new tests. This also created greater overall consistency in the testing. All of the tests had already been documented on the company's intranet so any team member could see if a test relating to any particular process has already been developed. If not, the team member can request a manual test be added to the automated processes. In this way, Cargill is gradually building up a comprehensive library of tests to cover a huge range of business scenarios for its applications. Currently Cargill estimates it can cover more than 80 percent of application scenarios, no small achievement in an organization of Cargill's size and complexity.

The Payback

Requests to build new tests are scrutinized on a payback-time basis. This is a combination of how long it would take to recoup the time taken to automate the process, plus how much time automation could save in subsequent test runs. The team routinely incorporates this time-saved element into all of its test runs, which produces a conservative figure for the amount of time and money saved by converting from manual to automated testing. In the majority of cases, even using conservative figures, the payback time is remarkably short. Cargill discovered it could realize significant savings by adopting TestBench.

While the amount of savings varied depending on the complexity of the process involved, the economies were rarely insignificant. A short run might save just a few hours, but for complex processes a single run could save many hundreds of hours of manual testing. Says Chip Lee, "In one example, a process that used to take 260 hours to test manually can now be done in just a few hours with TestBench. That's a savings of around 95 percent!"

Another example is Global Financial Solutions' use of TestBench's Variable Data feature. Variable Data lets testers run a single script multiple times with different data returned on each run, avoiding the need to build and maintain multiple scripts to replicate the process and simplifying the testing of a product as complex as PeopleSoft World. The team used Variable Data to automate manual security setup via scripts. When done manually, this is a slow and painful process, so using Variable Data helped the team reduce that particular task by hundreds of hours.

As the team's experience with TestBench develops, the time it takes to build, implement and maintain tests gets shorter and shorter. That means the payback time becomes quicker and savings grow. For management purposes, the time-saved figures are collated on a monthly basis. Over a 12-month period, Cargill calculated conservatively that TestBench saved it more than $270,000.

Testing Functional Server Processes

Over and above the tangible benefits, the most significant advantage Cargill has seen from using TestBench is the heightened confidence the team now has when making changes to functional server processes. Notes Chip Lee, "Pre TestBench, there was great reluctance to do any work on key server programs — to open the hood, as it were — simply because of the time and complexity involved in testing such programs. Now working on such programs is almost a non-event. TestBench has removed the fear and reluctance, which means we can react to issues more quickly."

TestBench also gave Cargill an opportunity to completely rethink the way it went about testing, which heralded a cultural change in its testing approach. This meant re-educating the members of the testing team and getting them to accept new working methods, which is always a challenge. Fortunately this has not been difficult, partly because TestBench lends itself well to testing processes and partly because the benefits are clear for all to see. According to Chip Lee, "Making this cultural change within our team has really not been a problem. Because our members have quickly seen vast improvements in the speed and quality of their test processes, we get more converts every time we automate a new test."

The benefits of more efficient testing and greater confidence in the development process are passed directly to Global Financial Solutions' customers — the Cargill business units and functions that ultimately pick up the bill. They see real financial benefits from both the time and resource savings, as well as practical operating benefits from higher quality software.

"TestBench simply lets us do more with less," says Chip Lee — the mantra of all IT executives. Cargill is looking forward to achieving more cost savings and business benefits as its use of TestBench continues to grow and develop.

Gus Kenyon is head of marketing for The Original Software Group.

ProVIP Sponsors

ProVIP Sponsors