In the second of a series of blogs on Testing in Agile, featuring excerpts from our ISTQB Foundation Agile Tester course, we discuss the role and skills of a tester in an Agile team. In an Agile team, testers must closely collaborate with all other team members and with business stakeholders. This has a number of implications in terms of the skills a tester must have and the activities they could perform within an Agile team.
Agile testers should have all the standard skills associated with testing and quality assurance, including interpersonal skills, domain knowledge and functional/non-functional test case design expertise. A tester in an Agile team should also be competent in areas such as test automation, test-driven development (TDD), acceptance test-driven development (ATDD) white/black-box testing and exploratory/experience-based testing.
Agile methodologies in particular depend very much on collaboration, communication, and interaction between team members, as well as with stakeholders outside the team, so “soft” skills are particularly important for Agile testers who need to be positive and solution-oriented with team members and stakeholders, display critical, quality-oriented and sceptical thinking about the product(s) they are testing. Agile Testers often need to be more pro-active in acquiring information from stakeholders than on sequential teams (as documentation is often more limited early in delivery). They should also be adept at working effectively with customer representatives and stakeholders to define testable user stories and acceptance criteria, be able to collaborate within the Agile team, working with developers and other team members where required and be able to respond to change quickly, including changing, adding, or improving test cases as the requirements or the solution changes.
In an Agile project, every team member is responsible for product quality and plays a role in performing test-related tasks (Elizabeth Hendrickson – a seasoned writer and consultant on Agile quality – suggests everyone on a good Agile team should be “test obsessed!”), however, there are some elements best suited to a dedicated quality professional. The particular responsibilities of a tester in an Agile team include creating and providing feedback on test status, test progress and product quality. One of the other things they need to report – often forgotten – is the quality of the test process itself. These activities may include understanding, implementing, and updating the test strategy, measuring and reporting test coverage, making sure testing tools are used to maximise value. They take a more active role reporting on, triaging and helping to resolve defects, training or coaching other members of the team in relevant aspects of testing and quality. Soft skills play an important role again here as testers need to collaborate with developers and business stakeholders to clarify requirements, with the emphasis on testability, consistency, and completeness, taking an active part in in team retrospectives, including making suggestions for and implementing improvements.
Agile organisations may encounter some particular test-related risks because they work so closely with developers. Testers may lose their “tester mindset”, come to tolerate, or fail to report, ineffective or inefficient testing (or other) practices. In time-pressured situations, testers may fail to keep up with fast-paced changes in an iteration. To mitigate these risks, organisations may consider options for preserving independence, though this is a difficult balance to achieve. Ensuring you have a strong element of leadership from the test organisation to provide governance across teams but allow the testers to function freely within the teams is a good way to ensure you don’t go back to a “them & us” mentality of the bad old days.
For more information on our self-paced learning, check out our available courses.