In Part I of this book, we discussed what XP can do for quality assurance and testing professionals and what a tester can do for an XP team. We described the tester's role at a high level, and now we're going to examine it in more detail, by taking a virtual test drive through a prototypical XP project in the role of an XP tester.
We'll examine what the tester should be doing at various points along the way and use examples to illustrate how the tester does it. In the course of our journey, we'll find out many of the testing, development, and quality assurance skills XP testers use. You'll get a chance to try these out yourself in the exercises provided.
Before starting out on a road trip, it's good to have a destination and route in mind (though we might change our minds anytime once we're on the road). Our test drive is modeled on a three-day trip from Chicago to Salt Lake City, via Denver. This is three solid eight-hour days of driving, through the heart of the Great Plains and over the Rocky Mountains. Here's our planned itinerary (see next page).
The first two days, we drive through gently rolling hills. The roads aren't hard to negotiate, but the long, open stretches can get tedious. We'll have to concentrate to keep our eyes on the road. We're likely to run into construction detours and the occasional traffic jam. Once we head up into the mountains, the drive can get downright dangerous, especially if the weather's bad. We need to make sure our car doesn't overheat on the long climb up toward the divide. A rockslide might hold us up. It's a mighty pretty drive, though. We'll enjoy our journey, especially the road food!
Table . Our itinerary
Day | Road Trip | General XP Activities | XP Tester Activities |
1 | Leave Chicago on I-80 West Lunch at Gringo's in Iowa City Check in to the Quality Inn in Omaha; dinner at La Strada | User stories Release planning | Help with user stories Find hidden assumptions Define high-level acceptance tests Estimate acceptance testing Enable accurate estimates |
2 | Leave Omaha on I-80 West Lunch at the Brick Wall in North Platte Check into the Castle Marne B&B in Denver; dinner at My Brother's Bar | Iteration planning Coding and unit testing Refactoring Integration | Estimate testing and test infrastructure tasks Nail down acceptance test details Write executable acceptance tests Organize acceptance tests |
3 | Leave Denver on I-70 West Lunch at W. W. Pepper's in Grand Junction Arrive in Salt Lake City | Acceptance testing End of iteration Next iteration Release | Refactor acceptance tests Get acceptance tests running Execute acceptance tests Make acceptance tests run through user interface Perform retrospective Perform regression testing Release |