Agile testing follows a more fluid, continuous process which takes place hand-in-hand with development and product management. An agile team doesn’t do all of the requirements work for a system, then all of the development work and then all of the testing work consecutively. Instead, the agile team takes a small piece of the system and works together to complete that piece of the system. The piece may be infrastructure-related, feature development or a research spike. Then the team takes on another small piece and completes that piece. The project marches towards completion piece by piece.

Completing a piece of the system, referred to as a story or backlog item, means that product management, development and testing work together toward a common goal. The goal is for the story to be ‘done’. Stories are identified and prioritized by the product owner, who manages the backlog. Stories are selected based on their priority and effort estimate. The effort estimate is another team activity, which also includes testers. The team also identifies dependencies, technical challenges, or testing challenges. The whole team agrees on final acceptance criteria for a story to determine when it’s ‘done’.

During an iteration, several stories may be in various stages of development, test, or acceptance. Agile testing is continuous, since everyone on an agile team tests. However, both the focus and timing of testing is different depending on what type of testing is performed. Developers take the lead on code-level tests, while the tester on the agile team provides early feedback during all stages of development, helps or is cognizant of code-level testing being performed, takes the lead on acceptance test automation building regression test plans and uncovers additional test scenarios through exploratory testing.

In addition, the agile tester ensures acceptance test coverage is adequate, leads automation efforts on integrated, system-level tests, keeps test environments and data available, identifies regression concerns and shares testing techniques. Additional testing, such as performance and regression testing, that falls outside the scope of story-level testing, can be addressed through test-oriented stories, which are estimated, planned and tracked just like a product-oriented story.