You know how important it is to test at the end of each sprint. But testing manually at every step is guaranteed to put you behind. If you automate your testing, you can boil three weeks of labor down to as little as eight hours of automation and save your human resources for the most sophisticated tasks. Here’s how.
Step 1: Get the right person in place first.
The first step to automated testing isn’t an automation thing – it’s a people thing. Hire a Senior QA Automation Engineer who understands your business, is highly analytical, and ideally has a background as a developer. This resource can help guide you through the following steps.
Step 2: Evaluate the automation tools available in the marketplace.
Decide what you’re looking for before you start looking. Ask yourself:
- What value does the tool bring?
- How does it integrate with the current tool set and processes we’re using?
- Is the technology behind the tool readily available or custom? (If custom, it may be harder for you to find the people you need to use the tool.)
- How bulletproof are the scripts themselves?
Step 3: Integrate the new tool into your current tools and processes.
There’s no sense in paying for something you don’t use, so make sure you fully integrate the tool with your current solutions.
Step 4: Decide what you can automate.
Start with repetitive tests that run frequently, and then automate more complicated tests. Follow a progression like this:
- Smoke tests. At the very least, you should automate smoke tests to make sure the mainline functionality is still working with each build. No human should touch the release until it passes the smoke test.
- Mini regression tests. Then, automate mini regression tests to confirm with each new build that none of the previously working code has been broken. Mini regression and smoke tests make up the minimum testing you would have had to do manually. Automating allows you to test even further.
- Full regression tests. It’s the tester’s dream to give the product a complete run-through at every sprint, and you would likely never get to full regression tests without automating the others. Yet these can be automated as well, giving you a better depth of coverage and higher quality product, as well as reducing maintenance, rework and embarrassment.
- Functional tests. If you’ve automated all of your regression testing, you have quite a mature testing organization on your hands. Now you’re ready to automate the functional testing within each sprint, in order to determine if the new code does what it was written to do. This requires creating automated scripts for each new functionality.
- Test-driven development. This is the nirvana of QA. Once you’ve automated the bulk of testing, your QA people are free to create tests before the code is even written, moving your team into test-driven development. To be successful here you’ll need to involve the business owner on a daily basis and document his requirements, which will inform the tests that then drive the development.
By using automated testing to not only catch up, but also get ahead, you’ve turned weeks of manual labor into hours of focused time and become active rather than reactive in your testing. You’re spending less time on rework, you’ve shortened the development cycle, and you’re about to go to market with a far superior product.
For more QA best practices, download our free ebook: Breaking Agile’s QA Bottlenecks