QA is no longer measured just by the number of defects found. The real goal of agile QA is to improve the software – not just give it a pass or fail at the end. You want to provide valuable information for the next iteration. That means quality is the whole team’s responsibility.
The agile framework is simple enough to learn but can be difficult to master. Trial and error should be expected – and testing should be continuous. Use these 5 tips to get QA working the way it should in your next implementation.
1. Make sure QA is integrated into every team
With QA on the team, testing can start as soon as there’s something to test. Most importantly, bugs can be identified and dealt with as soon as possible. Continuous testing also keeps the project’s momentum going, with no big surprises at the end. Here’s a helpful rule of thumb: shoot for one tester for every three developers in a standard agile team of five to nine members.
2. Get QA involved from the start
QA testers can help determine if user stories and acceptance criteria are well defined and if they satisfy customer requirements. They can provide developers with high-level test cases for user stories before they begin writing code and can review unit tests, even performing exploratory tests on early builds. All this throughout the development process enables quick turnaround, which enables agile’s quick iterations.
3. Schedule sprints so testing is complete when the sprint is over
Testing completed by the end of each sprint ensures that bugs that could affect other parts of the product are identified and taken care of throughout the development cycle. Development isn’t the finish line of a sprint; tested code is. Avoid the temptation of hitting deadlines by putting off testing. Instead, teams could declare a code freeze two days before the end of the sprint to give testers a chance to do manual and exploratory testing and still make the deadline.
4. Invest in automation
The time constraints of an agile project are a challenge, and automated testing is part of the answer. It speeds up the testing process overall and can pinpoint defects, which is great, because the best bug is the one you find and fix quickly. Each build should kick off continuous improvement testing as well to ensure the code is sound. Let the machines figure out when it’s time to move forward.
5. Think retrospectively
The whole team benefits from a retrospective meeting at the end of each iteration. In the same way, testers benefit from a test retrospective where they can discuss the process, exchange knowledge and experience and, most importantly, improve testing. Make sure the test retrospective sticks to testing issues and doesn’t spill over into team issues.
These tips are just the tip of the iceberg for making QA work in an agile environment. Commit to the process, and your own QA best practices will get honed with each sprint.
For more information, please download our ebook: Breaking Agile’s QA Bottlenecks