In-Sprint QA is normally conducted by a QA Engineer, but the overall responsibility may be shared in certain cases with other members of the Agile team.
There are a few primary actions that the person assuming the role of In-Sprint QA will engage in during the course of a sprint:
- Creating test cases from Acceptance Criteria (AC) - By reviewing stories and artifacts from previous sprints, a person performing QA for the sprint should be able to create test cases that will be used during the sprint. Depending on the type of solution and testing environments, ideally this individual can write end-to-end tests from these Acceptance Criteria.
- Reviewing design and development artifacts - All design and development artifacts should be reviewed through the lens of quality with the experience in mind. Designs should be reviewed for unhappy paths and other potential ‘gotchas’. Development artifacts should be reviewed for potential limits.
- Reviewing “ready for test” working software - As work progresses, it will eventually reach a point where development is nearing a completion. It is at this point that the QA Engineer for this story can begin their test cases, assuring software meets all the AC. By linking manual and automated tests to specific AC, the QA engineer is able to begin testing against a story that is partially complete.
- Writing defects - It is not the responsibility of the QA Engineer to build perfect software. However, it is their responsibility to surface all instances of less than perfect software and let the product owners decide what is worth fixing. To make those decisions, product leadership will need to have all defects replicable, with enough detail for quick decisions about priority.
All of these activities should be done in the most transparent method possible. Team members should communicate to one another the status of what they are working on during the sprint. This communication should begin in the daily stand up, and it should continue in conversations throughout the day. Defects should not be delivered all at once on the final day of the sprint.
Fully tested and validated Acceptance Criteria should be a part of the ‘definition of done’ for an Agile Feature team.