Testing Pyramid & Quadrant

What is it?

Testing pyramid needed to make sure that we deliver a high quality product by ensuring covering with testing all layers of development.

Consists of unit, integration, system (API and UI testing), and acceptance (UI + manual).

image
image

Testing pyramid: Computing resource, time, more power

  • Unit test (тестирование по отдельности, раздельно, например корзина и отплата)
  • Integration (проверка взаимодействия между модулями)
  • End-to-end testing is a technique that tests the entire software product from beginning to end to ensure the application flow behaves as expected.
  • Acceptance testing - отпределение готовности приложение, тестируется только основной функционал
    • User acceptance testing - делается пользователями со стороны клиента, проверяют соответствует ли приложение их требованиям
    • Operations acceptance testing - non-functional testing, testing available, disaster recovery, fault tolerance, security

Testing quadrants

  • WHY? Helps to ensure that all important test types and test levels are included in the development lifecycle.
  • Tests can be business (user) or technology (developer) facing
image
  • Quadrant Q1 is unit level, technology facing, and supports the developers.
    • This quadrant contains unit tests.
    • These tests should be automated and included in the continuous integration process.
  • Quadrant Q2 is system level, business facing, and confirms product behavior.
    • This quadrant contains functional tests, examples, story tests, user experience prototypes, and simulations.
    • These tests check the acceptance criteria and can be manual or automated.
    • They are often created during the user story development and thus improve the quality of the stories.
    • They are useful when creating automated regression test suites.
  • Quadrant Q3 is system (E2E) or user acceptance level, business facing, and contains tests that critique the product, using realistic scenarios and data.
    • This quadrant contains 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 is system or operational acceptance level, technology facing, and contains tests that critique the product.
    • This quadrant contains 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.

Resources

SuperMade with Super