With its 4 values and 12 principles, the Agile Manifesto is first and foremost about continuous delivery of valuable software to the customer. These general principles define the way we build software today. But there is nothing specific about the impact on testing. How can testing support efficiently this continuous delivery of working software?
Tester’s role in an agile team
With the rise of TCoE (Test Center of Excellence), testers have mainly operated as independent testing team being the owners of quality in the Waterfall process. They have defined standards, best practices and tools that should be deployed on each project.
But for agile projects, test should not be a separated organization but tightly integrated into the development team. Quality is the responsibility of every stakeholder including developers. During the project sprints, different kind of testing should be performed (see Brian Marick’s matrix). Different stakeholders are involved at different times: developers, testers, product owners, customers…
If quality should be built-in for each iteration, the focus and intensity of testing depends on the goal of the iteration. Is it about the development of a new feature with a focus on story testing and beta testing? Is it a prototype of architecture with a particular focus on performance testing? Is it a technical spike with just unit tests…
So testers doesn’t disappear in agile projects which is a common fear. Role is just being redefined.
So what it is about?
Being tester requires a particular mindset, a way of learning and challenging the business domain. It enables him to imagine/define the best test cases. “The tester is a designer” being both supportive and critique: that’s a core skill.
The tester is also an explorer (exploratory testing). Automated check is essential for the success of rapid iterations but is only one side of the coin. Testing is a performance that no level of automation is able to replicate!
Tester won’t disappear
Last but not least, with the shift left and adoption of BDD/ATDD, he gets a central role to support the continuous delivery of working software:
- Support the product owner on the definition of acceptance criteria,
- Validate acceptance tests with project stakeholders,
- Work closely with developers for automation.
So no definitely, tester will not disappear…