When we start working with a client who is in the process of converting or have converted to Agile from Waterfall, one of the most common questions is “What do testers do in Agile?” The typical consulting answer is that it depends. As much as I hate to give that answer, it really does depend on what Agile recipe you are using and the skills of your team. For now, let’s start with Agile planning. Testing should be a critical part of the planning. When the team breaks down stories into tasks, testing should always be one of the tasks.
Agile Testing Tasks
Testing tasks performed by testers can be further broken down into:
- Infrastructure-related tasks such as tools, frameworks, and environment management.
- Test data generation and maintenance, and data organization and validation.
- Non-functional testing tasks should also be noted. These could include static analysis, complexity analysis, performance testing, and security testing.
- Cross functional or integration testing tasks, such as those that will cross from the new features for that sprint to old features.
- Any level of testing documentation as decided as part of your Agile recipe. (This should be an explicit task.)
When the backlog is groomed in planning, all stories should have a testing component including acceptance tests. But within the development of acceptance tests, there are several sub-activities. These include determining priorities; considering normal, alternate, and error paths through the story; and story review, which means clearing up any ambiguities, clarifying story descriptions and user roles, and eliminating or delineating possible alternate interpretations.
As you can see, there are plenty of testing activities as part of the Agile planning phase. The bigger picture of Agile is that everyone is responsible for a quality product and there is no “gatekeeper” of quality.