Achieving the Full Potential of Test Automation
Software test automation has the capability to decrease the overall cost of testing and improve software quality, but most testing organizations have not been able to achieve the full potential of test automation. Many groups that implement test automation programs run into a number of common pitfalls.
These problems can lead to test automation plans being completely scrapped, with the tools purchased for test automation becoming expensive “shelfware”. Often teams continue their automation effort, burdened with huge costs in maintaining large suites of automated test scripts that are of questionable value.
This paper will first discuss some of the key benefits of software test automation, and then examine the most common techniques used to implement software test automation. It will then analyze some of the key reasons why test automation efforts fail to meet their potential. Finally, it will examine how using a keyword-driven approach to test automation can allow organizations to avoid the problems inherent in other approaches, and realize the benefits of test automation.
Action Based Testing™, the latest methodology from the original architect of the keyword method, and the TestArchitect™ toolset will be presented as proven real-world examples of how the full potential of test automation can be achieved.
The Benefits of Software Test Automation
Most software development and testing organizations are well aware of the benefits of test automation. A quick glance at the Web sites of any test automation tool vendor will point out a number of the key benefits of test automation. Some of these benefits include:
Reduced test execution time and cost: Automated tests take less time to execute than manual tests, and can generally execute unattended. A tester must simply start the test, and then analyze the results when the test is completed.
Increased test coverage on each testing cycle:
Automated tests can allow testing teams to execute large volumes of tests against each build of their application, achieving a level of coverage that would not be possible with manual testing . This increased coverage can help teams uncover bugs in existing functionality much more quickly than through manual testing. Test automation can allow teams to test more features in each cycle (breadth), and also to test features using more permutations of inputs (depth).
Increased value of manual testing effort: So long as applications are meant for human end users, test automation will never entirely replace the need for human testers. No matter how sophisticated test automation tools become, they will never be as good as human testers at finding bugs in an application. Human testers will instantly notice subtle bugs that are almost never detected by test automation, particularly usability bugs. Automated test tools cannot ‘follow their instincts’ to uncover bugs using exploratory and ad hoc testing techniques. By freeing manual testers from having to execute repetitive, mundane tests, test automation enables them to focus on using their creativity, knowledge, and instincts to discover important bugs.

