The software test pyramid comes up a lot in Agile testing circles and while its core message is important, there is much more to say about building a well-balanced test portfolio. In particular a common problem is that teams conflate the concepts of end-to-end tests, UI tests, and customer facing tests like acceptance, system and integration tests. These are all orthogonal characteristics. The unit tests and integration tests which use API’s are integrated and automated. GUI-based tools are used for creating the system and acceptance level tests.
Testing Quadrants, Test Levels and Testing Types
Brain Marick defined the testing quadrants that grossly align with test levels that suit the agile manifesto. This model uncovers the 4 testing quadrants and its variants along with test types and levels plus writing tests for different stakeholders and business people. The testing quadrants contain both business (user) and technology (developer) facing, either manual or automation or a combination of both.
The four quadrants are described below:
- Quadrant Q1 – At unit level contains unit Tests, technology facing, tests subject to full automation and continuous integration.
- Quadrant Q2 – At system level, business facing, these are functional tests, examples, story tests, user experience prototypes, and simulations based on the acceptance criteria, be manual or automated. Created as a part of definition of done for a story
- Quadrant Q3 – At system or user acceptance level, business facing, contains tests exploratory testing, scenarios, process flows, usability testing, user acceptance testing, alpha testing, and beta testing. These tests are often manual and are user-oriented.
- Quadrant Q4 – At system or operational acceptance level, technology facing performance, load, stress, and scalability tests, security tests, maintainability, memory management, compatibility and interoperability, data migration, infrastructure, and recovery testing. These tests are often automated.
In any specific iteration one or more or all tests from all quadrants may be performed depending on the nature of the stories.
Other popular articles:
- What are Test Levels in Agile methodology?
- What are Project Work Products in Agile testing?
- What are Software Testing Levels?
- What is Acceptance testing or User Acceptance Testing (UAT)?
- What is Definition of Done? Test Levels in Agile software