Selecting The Best Automated Test Tools For Agile Environment
These days strict schedules and budgets simply don't allow for too much of manual testing and an automated testing tool of some kind is essential to getting the job done right.
So how can you select the best automated test tools for developing software using the Agile method? Here are few tips to keep in mind:
There should be support for changing requirements
Perhaps it seems obvious, but even the requirements themselves can change in Agile iterations. Traditional automated testing tools often can't handle changing requirements since they're designed around anticipated inputs and expected outputs. For Agile software development, individual input and output combinations aren't good enough.
Instead, the test tools must support scripts at a requirements level. As requirements change, automated test tools must be able to keep up.
The tool must be able to accommodate improving design
Improvements in design between two iterations can make a big difference. Two separate components may be combined -- or a single component could become two or three. The testing tool must be reconfigurable so that tests made for early designs can be adapted for each future iteration. And this should happen either automatically or semi-automatically. Ideally, the testing tool itself should be able to notice changes and suggest accommodations to developers.
Rapid test script development and modification must be possible
Again, this also may be obvious -- the automated test tool must accommodate quick and simple script development and modification so tests can proceed without delay.
Support for scenarios rather than specific inputs
Rather than requirements, look for tools that support use cases instead. While specific inputs and outputs may be the appropriate way to test in traditional development situations, the ability to accommodate automated testing scenarios is more useful in Agile development. Potential quick changes in design from one iteration to the next and the limited availability of time for scripting tests are among the reasons that scenarios work better.
Agile software development is based around changing requirements from one iteration to the next, so choosing the right automated testing tools is essential.
You have to think carefully about which automated testing tool you employ to make sure they're right for your software development environment. When you make the right choices, you get the maximum benefit possible from your tools. When you don't, you risk wasting time -- and getting poor results as well.
- Jorgen Hesselberg
- Saji Rajasekharan
- Agile Development Editorial
- Matthew House
- Matthew House