In an agile team, testers must work closely with all other team members and with business stakeholders. This has a number of implications for the skills a tester must have and the activities they perform in an agile team.
Agile Tester Skills
A tester in an agile team should have skills in test automation, test-driven development, acceptance of test-driven development, white-box, black-box, and experience-based testing.
Since agile methods rely heavily on collaboration, communication, and interaction between team members and stakeholders outside the team, testers on an agile team should have good interpersonal skills. Testers in agile teams should:
- Be positive and solution-oriented in their interactions with team members and stakeholders
- Demonstrate critical, quality-oriented, and skeptical thinking about the product
- Actively seek information from stakeholders (rather than relying solely on written specifications)
- Accurately evaluate and report on test results, test progress, and product quality
- Collaborate effectively with customer representatives and stakeholders to define testable user stories, especially acceptance criteria
- Collaborate within the team, in pairs with programmers and other team members
- Respond quickly to changes, including changing, adding, or improving test cases
- Planning and organizing one’s own work
Continuous skill enhancement, including interpersonal skills, is essential for all testers, including those on agile teams.
The Role of a Tester in an Agile Team
The role of a tester in an agile team includes activities that generate and provide feedback not only on test status, test progress, and product quality but also on process quality. In addition to the activities described elsewhere in this curriculum, these activities include:
- Understand, implement, and update the test strategy.
- Measuring and reporting test coverage across all applicable coverage dimensions
- Ensuring the proper use of testing tools
- Configuring, using, and managing test environments and test data
- Reporting defects and working with the team to resolve them
- Coaching other team members on relevant aspects of testing
- Ensure appropriate testing tasks are scheduled during release and iteration planning
- Actively work with developers and business stakeholders to clarify requirements, particularly with respect to testability, consistency, and completeness
- Proactively participate in team retrospectives, proposing and implementing improvements
Within an agile team, each team member is responsible for product quality and plays a role in performing test-related tasks. Agile organizations may be exposed to some test-related organizational risks:
- Testers work so closely with developers that they lose the appropriate tester mindset
- Testers tolerate or remain silent about inefficient, ineffective, or substandard practices within the team
- Testers fail to keep up with incoming changes in time-limited iterations
To mitigate these risks, organizations can consider several variations to maintain independence.