Testing activities can be framed into four quadrants that represent different value and goals of that activity in an agile context. These are testing focussed on keeping customer value high versus keeping business costs low (for example, keeping team velocity high) and testing focused on building software that the project wants versus researching software to see how the project might not have got want it wanted. Agile testing is then an iterative process going around the four quadrants in a constant loop (Marick, 2003) (Crispin & Gregory, 2008) (Bach & Bolton, 2015):
High customer value |
|||
---|---|---|---|
Building the software we want |
Are we building a valuable product? Idea testing Artefact Testing Requirements testing Design testing Stakeholder questioning Validation checking Early feedback Advocating risk |
Are we finding all problems that threaten the value of the product? Exploratory testing Risk-based testing Alpha testing Beta testing Production testing Inductive Testing |
Researching the software we got |
Are we finding build issues quickly and easily? Machine/automation checks Unit and integration checks Code reviews Implementation testing Pair-testing Verification checking Advocating testability Deductive testing |
Are we finding problems as efficiently as possible? Test planning Test design Test logistics Training and personal development Upskilling Pair-testing Test tooling |
||
Low business costs
|
Citations
- Bach, J. and Bolton, M., 2015. The
REALAgile Testing Quadrants (as we believe they should always have been). [online] Satisfice Inc./DevelopSense. Available at: Link - Crispin, L. and Gregory, J., 2008. Agile Testing. 1st ed. Upper Saddle River, N.J: Addison-Wesley, p.98.
- Marick, B., 2003. My Agile testing project [online] Exploration Through Example. Available at: Link
2020-08-31: Ported and updated