Management
Application testing is a major pain point for project managers, who are often under pressure to cut testing time short to meet deadlines or curb costs. This article explains how functional testing accelerators can help speed up this process, and offers best practices for using them.
Application testing methods have evolved slowly since the dawn of business technology. In the beginning, there was only the “hope for the best” approach, which meant simply deploying a new application and fixing problems as they arose. Then came manual testing. Then came automated testing with record/replay functionality.
Even with these advances, however, testing remains a major stumbling block for SAP upgrades and application implementations. Project managers are often pressured to reduce testing time to meet deadlines or curb cost overruns.
A 2006 ASUG study found that testing was the top-cited pain point for upgrades, with 75% of respondents identifying it as a major cost and time factor during upgrades and implementations. More than 86% of the respondents said they were concerned about risks associated with a lack of comprehensive testing.
One way to address these concerns is by implementing an accelerated testing solution. Typically a mix of software applications and processes, accelerated testing allows a project team to automate testing across entire business processes by creating modular testing components that can be plugged into multiple testing scenarios. This can dramatically reduce the time required to perform application testing.
The key components of an accelerated testing solution include:
- Automation elements — Application-specific functions for use across multiple test cases
- Libraries and dictionaries — Proprietary architectures that centralize function and object references
- Data tables — Centralized tables allow for multiple data iterations for a single business process test
- Test management tools — A separate application for storing and managing test cases
- Accelerated automation tools — Programs such as user interface screen-scrapers and automation element import/export tools
One of the primary benefits of accelerated testing solutions is that you no longer need to rely on technical or subject matter experts to complete every part of the test-building process. Once the functional components are loaded into the test management program, less technically proficient staff can reuse them.
While accelerated testing solutions are available from a number of different vendors, SAP offers its own tools and those from the HP Business Technology Optimization (BTO) suite. SAP Test Acceleration and Optimization and SAP Quality Center by HP are just a few examples of applications that can be used to implement accelerated testing.
Best Practices
Regardless of which software components you choose, certain best practices make using testing accelerators better and easier. Here are just a few:
Treat testing as an ongoing process, not a project-based one
Testing accelerators allow you to store functional components for later use, which in turn allows you to test applications using those components more quickly in the future. Project managers should capitalize on this functionality by incorporating testing into the ongoing management of their applications, says Bob McManus, practice manager, SAP Testing Services.
“Testing is an afterthought for a lot of companies, because they look at it from a project perspective. But early and ongoing test planning is critical to the health of your applications,” he says.
Get a head start on building test cases
Many companies rely on business users both to design requirements of a new or upgraded application and then again to test those applications. Testing accelerators allow you to begin creating test cases during the design phase. Because the tests are automated, a support staff member without much technical expertise or knowledge of the application can perform them without much additional input. Ted Chuh, principal consultant at FocusFrame, suggests building test cases during the Blueprinting phase of your project.
Prioritize your testing scenarios
Most testing accelerators include tools that allow you to customize your testing prioritization based on risk assessments. Often, as is the case with SAP Quality Center by HP, the project team is presented with a graphical interface that allows it to rate each application based on common risk factors. The higher-risk applications should be tested first.
“Your test scenarios should definitely be priority-driven, based on the legal, business, or compliance needs of your company,” says McManus.
Secure business user acceptance early
Because testing accelerators often require some extra work from business users early in the process, it is critical to obtain buy-in early in the process. McManus suggests approaching testing as a team-building process rather than as a chain-of-command process.
“People often treat testing as a factory, where processes are passed along down a chain. Teaming is necessary for a common approach for continuity and quality,” he says.
Take the easy road
McManus warns against using testing accelerators to implement a “Big Bang” testing project — like a full SAP ERP upgrade. Instead, focus on testing minor enhancements and upgrades to build your library of functional components. Common reusable testing components such as login screens or forms will not need to be created later.
“It’s about quick wins to gain momentum. Things get really expensive when you try to re-do everything,” says McManus.
The Four Basic Steps of an Accelerated Testing Solution
Should you decide to use an accelerated testing solution, FocusFrame’s Ted Chuh says you will likely follow these four basic steps:
- Import the automation element libraries. Loading the generic SAP automation elements into the test management tool is a relatively simple process with the HP acceleration tools, according to Chuh.
“That process requires about one day of an SAP system administrator. It’s really just a basic software installation. It is typically not more than two days to a week to complete the entire process,” says Chuh.
- Export transactions from SAP using a UI screen-scraping tool. Screen-scraping tools allow you to automate transactions for automated testing. With the HP tools Chuh uses, this process can be accomplished either by exporting transaction screens individually via an SAP scripting API, or by exporting all screens directly from the data dictionary in the SAP database.
“The libraries are developed in such a way that they identify the application that it’s running against and the objects that exist within that application. The tool captures those objects, places them in an XML file, and then associates objects with automated scripts. The automation is generated, as well as the capture of the objects, in the modular XML file. If one object changes, you only have to change it in one location and it propagates across the entire set,” says Chuh.
- Auto-generate automation elements. In this phase, the automation elements created by the screen-scraping tool and automation element libraries are loaded into the test management tool.
“All of the actions associated with a particular screen are already automated. It’s just a matter of assembling them into an end-to-end business scenario,” says Chuh.
- Create end-to-end business processes. Once the tasks of each application are captured by the system, it’s time to assemble them into an end-to-end process.
“This can be done by a subject matter expert who knows the business process or a tester who has a script to work against, and does a drag-and-drop of these components,” says Chuh.
Davin Wilfrid
Davin Wilfrid was a writer and editor for SAPinsider and SAP Experts. He contributed case studies and research projects aimed at helping the SAP ecosystem get the most out of their existing technology investments.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.