“Why Automated Software Testing?” begs the question “Why not?” Inherently many software testing activities lend themselves to automation, because they are often too tedious to implement using manual methods. The authors of Implementing Automated Software Testing explain the ROI of doing so.
Why Automate?
Because of unsuccessful Automated Software Testing (AST) attempts, myths related to AST implementations, and a lack of sufficient AST knowledge, you may be asking yourself, “Why should I automate?” This excerpt from the book “Implementing Automated Software Testing” answers this question by describing some of the key practices in software testing and the many areas that lend themselves to AST. The purpose of this discussion here is to help you understand key practices in software testing in the context of “why AST.”
AST is a key technique that addresses some of the challenges software testers face today. Our experience has shown that if implemented correctly, AST
- Can reduce the time and cost of software testing
- Can improve software quality
- Can enhance manual testing efforts via increased testing coverage and replaces the manually mundane and labor intensive tasks
- Can achieve what manual testing can hardly accomplish, such as memory leak detection under specific conditions; concurrency testing and performance testing, and more.
Cost, schedule, and quality are parameters that are critical to the success of any software development and product. We will discuss how AST can contribute to each.
The Challenges of Testing Software Today
The primary challenge today for testing software is that customers want more software functionality to be delivered faster and cheaper, while at the same time they expect the quality of the software to at least meet if not exceed their expectations.
The implications for the software test team are enormous. More functionality means each software baseline to be tested will be larger and more complex, which means more test cases must be run for each delivery. In other programs, faster deliveries mean less time to test each delivery, and more deliveries will be made each year, perhaps three or four product releases instead of one or two. More deliveries also mean more regression testing cycles. Reducing costs means the testing needs to be completed with fewer labor hours. Simply stated, there is more software to test, more often, with fewer people.