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).
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
- 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.