In our Test Automation Winning Strategies Webinar yesterday, there were several questions that we were unable to handle during the webinar and we’ll tackle each of them in the next few weeks. One question related to agile test automation: “In an agile lifecycle what should be the main focus of the automation to be effective?”.
For those that attended the webinar, remember that @QA_Anna had a slide on different types of automation, some of which we don’t typically think of:
- Unit testing frameworks
- Test controllers
- Recording and playback
- Performance testing tools
- Security testing tools
- Analytics collectors
- Screen capturing tools
- Code coverage tools
- Protocol testing tools
- Monitoring tools
- Database testing tools
- Simulators, log helpers, debuggers
- Data population scripts: setups, etc.
- Keystroke recording tools
Let’s look at a typical agile lifecycle in scrum for instance.
Also remember that in the webinar, we discussed staying away from UI related automation, especially in the beginning when the product is not stable. Given that, take an intersection of the list above, and think about where they apply in the agile life cycle. What to you get? Does agile test automation fit into an agile lifecycle? YES. We typically deploy automation in those bold italicized areas listed above. In the sprint planning meeting when you decide what goes into the iteration, also think about the above list, and how that list can be applied to that requirement being developed. If it is a database design, then obviously you can use those types of automation tools, or data population type automation. Then treat the automation as if it is real code, just as we discussed in the webinar. This means you’ll have to estimate the work involved, and show that it really works.
Agile test automation is not an easy task. We need to think outside the box of UI automation and “record and play”. An automation strategy and framework are critical in agile test automation. You can’t just dive in and start coding.