Agile testing quadrants

The agile testing quadrants are a two-by-two matrix that sorts the testing on an agile project by two questions: whether a test is business-facing or technology-facing, and whether it supports the team while it builds or critiques the finished product. The four cells are numbered Q1 to Q4, and the numbers imply no order.

The longer version

Brian Marick drew the matrix in a blog post dated 21 August 2003, the first of a series on the direction of agile testing. A business-facing test, he wrote, is one you could describe to a business expert in terms that would interest her, and a technology-facing test is described with words drawn from the domain of the programmers. His second distinction was between tests that support programming and tests that critique the product. Lisa Crispin and Janet Gregory carried the matrix into their book Agile Testing. Crispin has written that they called it the Quadrants and, with Marick's permission, made it the heart of the book, where the supporting side is labelled as supporting the team.

The ISTQB Foundation syllabus gives a compact account of what goes where. Q1 is technology-facing and supports the team: component tests and component integration tests, automated and run in continuous integration. Q2 is business-facing and supports the team: functional tests, examples, user story tests and prototypes, which check the acceptance criteria. Q3 is business-facing and critiques the product: exploratory testing, usability testing and user acceptance testing, which are often manual. Q4 is technology-facing and critiques the product: smoke tests and non-functional tests other than usability, which are often automated.

The matrix is a planning aid. A team lays its planned testing over the four cells and looks for one with nothing in it. Crispin describes the quadrants as a taxonomy to help teams plan their testing and make sure they have the resources to carry it out. She also says there are no hard and fast rules about what goes in which quadrant, and that a team does not work through them from 1 to 4. Most projects, in her account, would start with Q2, because that is where the examples that turn into specifications and drive coding come from.

Common questions

What are the four agile testing quadrants?

The four quadrants are Q1, technology-facing tests that support the team, such as component tests; Q2, business-facing tests that support the team, such as user story tests; Q3, business-facing tests that critique the product, such as exploratory testing; and Q4, technology-facing tests that critique the product, such as performance testing.

Who created the agile testing quadrants?

Brian Marick introduced the matrix on his blog in August 2003, as two distinctions put together: business-facing or technology-facing, and supporting programming or critiquing the product. Lisa Crispin and Janet Gregory named it the Quadrants and built their book Agile Testing around it.

Do the agile testing quadrants have to be done in order?

The numbers on the quadrants are labels and carry no sequence. Lisa Crispin has written that the numbering does not imply any order and that teams do not work through the quadrants from 1 to 4. In her description, most teams iterate through them rapidly, working in small increments.

What are the agile testing quadrants used for?

Teams use the quadrants to plan testing and to check that no kind of test has been forgotten. Laying the planned work over the four cells can show, for example, a release with plenty of component tests and no exploratory or performance testing. The matrix also gives developers, testers and business people shared words for each kind of test.

Which agile testing quadrants are automated?

Q1 tests are the ones the ISTQB Foundation syllabus says should be automated and included in continuous integration. In the same account, Q2 tests can be manual or automated, Q3 tests are user-oriented and often manual, and Q4 tests are often automated.

Bug reports that arrive ready to triage.

Collect replay, console, network and browser context with the Free plan.

<script src="…/widget.js" data-key="pb_pub_…">