Developing an Automated Software Testing Strategy
Several of our previous blogs have discussed the importance of requirements and the fact that these serve as the blueprints for an effective automated software testing program. Once requirements are finalized, the next step in the automation process is to develop an automated test strategy.
A well-defined automated test strategy includes the objectives, scope, approach, testing tools and framework, test environment, schedule and personnel for the testing effort. These items should be documented and communicated so everyone involved in the process has a clear understanding of the effort. This blog will take a closer look at objectives and scope.
Defining Objectives and Scope
Defining the objectives of the software testing effort, at a high level, will guide the other decisions related to developing a strategy. What do we want the test automation effort to accomplish? For example, the overall objectives may be to improve software quality or to reduce test execution time. However, the objective could also be as broad as automating the entire software testing lifecycle (STL) or as narrow as automating only one type of test. It is important to know the objectives, as they will inform the rest of the process.
Decisions surrounding the scope will also shape the strategy. How many tests or which types of tests in this program should be automated? At Innovative Defense Technologies (IDT), we define Automated Software Testing as the application and implementation of software technology throughout the entire software testing lifecycle (STL) with the goal of improving STL efficiencies and effectiveness.
This is a broad definition and it supports the use of AST for almost all tests in the STL. However, that expansive application of AST may not match your company’s objectives for a particular effort…or may be too broad in scope. Since automation can be applied to so many areas of the STL, it is important to evaluate which tests it makes the most sense to automate. Some of the key questions that can help with that decision include:
- Frequency: Is the test executed more than once?
- Repetition: Is it run repeatedly?
- Urgency: Does the test cover critical path features?
- Complexity: Does the test cover a highly complex, error-prone area?
- Costly: Is the test prohibitively expensive to perform manually?
Scope is decided not only by the types of tests you choose to automate. It should also take into account the return on investment and the availability of resources like budgets, schedules and expertise.
Automation provides many benefits. It increases quality, reduces cost and saves time. A comprehensive automation strategy that includes clearly defined objectives and scope will guide the process and help ensure success. An experienced software testing partner like IDT can help.
Some information taken from: Dustin, Elfriede, Thom Garrett, and Bernie Gauf. Implementing Automated Software Testing: How to Save Time and Lower Costs While Raising Quality. Upper Saddle River, NJ: Addison-Wesley, 2009. This book was authored by three current IDT employees and is a comprehensive resource on AST. Blog content may also reflect interviews with the authors.