Today's market demands efficiencies and cost savings, so why are labor intensive software testing still the norm? Bernie Gauf argues that automated software testing offers the advantages of lower costs and higher quality. Here's what you need to know.
Under the cloud of sequestration, IT contractors face the challenge of delivering large, highly complex software systems for the government and its agencies with increasingly limited resources. We are expected to maintain the same high standards while budgets tighten. The mission-critical nature of government software systems—including those for the Department of Defense—leaves no room for error.
To keep up with the demands inherent in building systems of this size and complexity, we must find ways to streamline processes. One area ripe for re-evaluation is software testing, which now consumes more than 50 percent of the resources—in both cost and time—of most development schedules.
The traditional testing of complex systems is labor intensive, time consuming and limited. Project teams must test thoroughly to ensure software quality. Engineers who are needed to focus on design and development are preoccupied with repetitive test tasks and analysis.
Increasing the size of test teams to match the rate at which software applications are growing is cost prohibitive. Maintaining current test team size and continuing the same processes will erode the amount of testing actually conducted, decreasing overall test coverage and compromising quality.
New technologies in the form of automated software testing (AST) are available and must be embraced. AST is a technology that dramatically accelerates test execution and reporting time while expanding test coverage and test complexity. Recent advances in AST enable the automation of a very high percentage of the testing that needs to be conducted.
Imagine trying to be competitive in today’s marketplace if you were writing all of your software in assembly code, defining every command and compiling it yourself, while other firms were developing their software in an integrated development environment using software design tools and programming in JAVA. Using modern tools, today’s software engineers are able to focus on what the software is supposed to do, and are, by and large, abstracted from the details of software commands.
Testing manually today is like writing software at the assembly code level. Test engineers need to define and execute every step and command. It is a tedious process. A well thought out AST solution provides an alternative, allowing test engineers the opportunity to focus on designing tests and evaluating the results.
The strategic use of AST offers the following advantages:
Improved software quality: Repeatable, consistent and thorough automated tests support the delivery of high quality software.
Improved documentation: Automated tests readily produce documented, objective, quality evidence, including requirements traceability and comprehensive pass/fail results.
Reduced testing time and manpower: Automated tests run significantly faster than manual tests, are less labor-intensive, and provide the capability to verify thousands to millions of test permutations in minutes to hours.
Cost savings: AST can markedly reduce the costs involved in producing first-rate software. Savings result from not only reduced test time and manpower but also from lower lifecycle costs as a result of improved software quality and documentation.
Given the significant time and effort required to conduct software testing today, organizations that effectively utilize AST will increase their competiveness in the marketplace. In my experience, firms that implement a well-defined automated software testing strategy can increase their testing productivity by an average of 75 percent.
As the ever-increasing size and complexity of software systems drive the time and cost of testing, we need to think outside the box. It is time to incorporate AST and embrace this empowering technology.
NEXT STORY: 4 critical questions to guide your career