Saturday, July 4, 2009

How do you plan test automation?

It involves assessing risk, identifying and prioritizing test requirements, estimating testing resource requirements, developing a testing project plan, and assigning testing responsibilities to test team members.

A well-defined test automation vision:

What and how much to automate.
When to automate and how.
Prioritized test automation plan.

The first step in planning for test automation is to identify and understand some key factors about the SUT: Identify what software is to be tested, its specific components and features we want to test, and the environment surrounding the SUT. These factors are critical to the automation architecture. Additionally, understand the existing and available testware elements and tools for testing and test automation in the SUT’s environment.

It is also important to identify what things we think are outside the scope of our automation or we don’t intend to test.Early decisions on which components to include, which to exclude, and which features are most important can put definitive boundaries on the automation tasks and substantially reduce their complexity.

After the SUT elements are identified the environment and interfaces must be considered.

The form of the data for input and results capture is also important.

It is not necessary to have one automation architecture that covers all the components. Testing can succeed when the tester and automation tools perform a useful test and draw proper conclusions based on the results. Automation is valuable to augment the tester by performing tasks that are tedious or impossible for a human or are more cost effective to automate.

The scope of the planned automation tasks also depends on the existing and available testware elements and tools. The testware elements include all of the software, documentation, test cases, data, programs, and associated procedures needed for all the test activities. The tools include operating system utilities, SCM, test selection and control programs, comparison routines, etc., that are employed to do the testing and automation. Although availability and current use of automated tools does not necessitate that automation be based on them, it is common for an automation architecture to have a requirement to include existing testware.

Two areas of test automation require special attention. Results capture can be a huge task when you realize the world of possible results from running software.
Results interpretation is a second area that can spell trouble for an automation effort.

Just Enough Software Test Automation
Seven Steps
developing effective test plans for automation