Agile Test Automation: Testing quadrants (Defining the testing scope)

Reading Time: 4 minutes

Hello Everyone, This blog briefly discusses how the testing quadrants help the agile teams to define their testing scope for maximum ROI.

In agile development, agile and DevOps collaboration changed the whole perspective of testing the product. Nowadays the agile teams are doing rapid development and they need tests that can support the team as well as criticize the product.

Agile Testing Quadrants is a concept that was first introduced by Brian Marick and in later years Lisa Crispin has worked upon that and explains how the 4 types of testing quadrants help the development team and other stakeholders to ensure the quality of their products. It will explain the relationship between multiple types of tests.

Agile testing quadrants are beneficial to define the scope and coverage of automation tests in the planning phase, it helps the QA teams to define what are the different types of valuable tests we need on different layers to ensure the quality of the product.

As mentioned before there are 4 testing quadrants we have that are divided in two phases

Tests that supporting the team: 

This is the biggest difference between testing in traditional projects and testing in agile projects. In agile, the whole team is responsible for the quality of the product, so the developers need some sort of tests that help them to ensure the quality in the incremental development model.

The testing done in Q1 and Q2 is majorly focused on the requirement and design aid which generally the testing teams think of as testing.

Tests that critique the product:

When we talk about critiquing the product here we play the role of an end-user or a product owner, who describes the requirements in a sort of computer program, it’s difficult to explain everything to describe so a programmer fully understands. Here the tests come into the picture, those criticize the product in different ways.

We constructively review the product to see how we can improve the product and as soon as we find the improvement areas we construct the new requirements and inject them again in the development cycle.

The testing done in Q3 and Q4 is majorly focused on reviewing the product and feeding back into the left side of our matrix with some new tests to drive future development.

Q1: Technology-facing tests that support the team.

At the initial phase of development, the first step is to set up the foundation of agile testing and development, developers are the first person who has encountered the different challenges, without a strong foundation of test-driven design it’s hard to deliver value on time. So the technology-facing tests that support the team form the foundation of agile development and testing. Developers write their unit and component tests which ensures the quality by helping the developers to understand exactly what the code needs to do.

The quadrants overs the tests such as Unit tests, API tests, and Component Tests. These tests help the team to identify the pain areas as earliest as possible, if we ignore this quadrant it will be very difficult to handle the quality matrices at all other quadrants.

Q2: Business-facing tests that support the team.

The Q2 tests majorly involved the tests that as a tester we see in our daily life, like functional tests, simulate the requirements as an end-user scenario. These are the tests that we can use as regression tests or smoke tests to ensure that nothing has broken in the iterative development model. These tests help the developer to know when to stop coding.

These are the tests which convert the product requirements in an executable test. Tools like selenium, cypress, cucumber, and other framework libraries can be used as a preferable tool set for writing these test cases.

Q3: Business-facing tests that critique the product.

As we have seen earlier, How the automating tests at the above two quadrants help the development team to understand the customer requirements and develop the product accordingly. Now Q3 comes into the picture which gives a chance to an end-user to criticize their product and plan the future sprints based on the results of Q3 tests. This quadrants majorly involved manual testing and covers tests such as Exploratory Testing, Scenario-based Testing, Usability Testing, User Acceptance Testing, and Alpha/Beta testing.

We can use the tools used in quadrants two to demonstrate the actual functionality and get feedback from the clients.

Q4: Technology-facing tests that critique the product.

As of now we are only working on the functional aspects and ensuring the product quality, In Q4 major focus is on non-functional requirements which cover tests like performance test, security tests, accessibility tests, etc. These tests are performed based on the priority which is driven by the product owner, as they can be introduced either early in the development cycle or later when we test these parameters.

Tools like JMeter, Gatling, JConsole, load runner can be used to automate these tests.

On a personal level we proposed the agile teams to consider the testing quadrants at their planning phase and define what are the different types of tests we are going to cover in the development cycle. Thanks.

References

Knoldus-blog-footer-image

Written by 

Gaurav is a Module Lead QA Consultant having experience of more than 4.5 years. He is well familiar with core QA concepts and well versed in designing automation frameworks in a microservice environment. He has good hands-on experience in automation tools like ReadyAPI, SoapUI, postman.io, rest-assured.io, Cypress.io, gatling.io, Selenium (Java & Scala) and others. He actively promotes shifting left in the development cycle and understands the project domain to work closely with the development team. He has a good understanding of different domains like Airline, health Care and Shipping and cruising domain.