2.3 Role and Skills of a Tester in an Agile Team
In an Agile Team, testers have to collaborate with all other team members and with business stakeholders. Therefor a tester need skills so they can fulfill the activities they perform within an Agile Team.
2.3.1 Agile Tester Skills
Agile Testers should have skills from traditional testing methods. Just as a Java team member should have Java skills, a tester should have testing skills. In addition to these skills, a tester in an Agile Team should be competent in test automation, test-driven development, acceptance test-driven development, white-box, black-box, and experience-based testing.
Agile methodologies depend heavily on collaboration, communication, and interaction between the team members as well as stakeholders outside the team, so testers in an Agile Team need good interpersonal skills.
Testers in Agile Teams should:
- Act positive and solution-oriented: with team members and stakeholders
- Have a critical eye: Display critical, quality-oriented, skeptical thinking about the product
- Be pro-Active: Actively acquire information from stakeholders (rather than relying entirely on written specifications)
- Accurately evaluate and report: test results, test progress, and product quality
- Use the tester skills: Work effectively to define testable User Stories, especially acceptance criteria, with customer representatives and stakeholders
- Be a good team-member: Collaborate within the team, working in pairs with programmers and other team members
- Have a open mind-set: Respond to change quickly, including changing, adding, or improving test cases
- Be professional: Plan and organize their own work.
Continuous skills growth, including interpersonal skills growth, is essential for all testers, including those on Agile Teams.
2.3.2 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. These activities include:
- Understanding, implementing, and updating the test strategy
- Measuring and reporting test coverage across all applicable coverage dimensions
- Ensuring 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 in relevant aspects of testing
- Ensuring the appropriate testing tasks are scheduled during release and iteration planning
- Actively collaborating with developers and business stakeholders to clarify requirements, especially in terms of testability, consistency, and completeness
- Participating proactively in team retrospectives, suggesting 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 encounter some test-related organizational risks:
- Testers work so closely to developers that they lose the appropriate tester mind-set
- Testers become tolerant of or silent about inefficient, ineffective, or low-quality practices within the team
- Testers cannot keep pace with the incoming changes in time-constrained iterations.
To mitigate these risks, organizations may consider variations for preserving independence.