Friday, June 17, 2016

The Agile Testing Quadrants

When we think of software quality, we must take into account all its dimensions. For each dimension a different testing approach should be used. Do we know what type of testing we should perform, when to stop testing? To answer these questions, Agile Testing Quadrants will help us cover all categories of testing we need to do. The image below shows how each of the four quadrants reflects the testing we perform.


On Y axis, tests are divided into tests that support the team or critique the product. On the X axis, tests, they are divided into business-facing and technology-facing tests.

The tests that are supporting the product, from Quadrants 1 and 2, are those that support the team while the product is developed. Quadrant 1 should include test-driven development, which is the core of agile approach. Quadrant 2 also supports the development's work, but at a higher level. The tests defined here are the result of customer's examples,  that are describing details of each story. It is possible that some tests are duplicating others from the first quadrant, but these are more system behavior oriented.

The tests that are critiquing the product should not be interpreted in a negative way. As a customer, I may think differently of a programmer, I may have different expectations related to the product behavior. Business-facing examples from Quadrant 3, help the team to design the desired product. Also, it will try to emulate the way the real user will use the application. the testing is usually performed by customers. The tests from Quadrant 4 are just as critical to agile development as to any type of software testing. They are criticizing product characteristics like performance and security.

Read more about agile testing in this book: Agile Testing: A Practical Guide for Testers and Agile Teams.

Happy testing and... make it green, becomes a dream :).

No comments:

Post a Comment

Popular Posts