These high-level tests give programmers a big picture about what code they need to write for a given user story. As coding begins, testers can start writing detailed executable tests, starting with the "happy path." As the "happy path" begins to work, we can write more complex test cases, including edge cases and boundary conditions. Testers and programmers collaborate to automate these tests as they go. As problems are discovered, the code is fixed immediately. Once a test passes, it is put into the continuous integration process as part of the regression suite.
Once coding is complete, testers do exploratory testing to learn more about the functionality and discover whether requirements may have been missed or misunderstood. Missed requirements may turn into new user stories, or they may be bugs that need to be fixed right away. Testers and other team members conduct any other testing needed, such as performance, security or usability testing. They demo the functionality to customers as each increment is completed. No story is "done" until all testing activities are complete.
By collaborating with the customers and the programmers throughout the iteration, from story planning to demos, testers can help their team deliver business value at a regular, maintainable pace.
Dig Deeper on Topics Archive
Related Q&A from Lisa Crispin
Agile leader Lisa Crispin explains a more organic, more Agile approach to test reporting. Continue Reading
When it comes to Agile planning, average time over many iterations is a more important metric than individual story estimates. Continue Reading
Most inexperienced Scrum teams overcommit on what they will deliver, and when. Agile leader Lisa Crispin says that does more harm than good. Continue Reading