«Пирамида тестов» - метафора, которая означает группировку динамических тестов программного обеспечения по разным уровням. Она также дает представление, какое количество тестов должно быть в каждой из этих групп. Основной принцип разделения уровней - тест должен быть на том же уровне, что и тестируемый объект. В тесте более высокого уровня вы не тестируете всю условную логику и пограничные случаи, которые уже покрыты тестами более низкого уровня.
Уровни тестирования:
- Unit/component/program/module testing - тестируется минимально-атомарный модуль программы, чаще всего это одна функция или метод. Таких тестов должно быть больше всего;
- Integration testing - несколько модулей программы тестируются вместе;
- System testing - вся программа тестируется полностью;
- Acceptance testing - программа принимается заказчиком на соответствие заявленным требованиям либо тестировщики проходят end-to-end сценарии с точки зрения пользователя.
Доп. материал:
- Test Pyramid
- The Practical Test Pyramid + перевод на русский Пирамида тестов на практике
- От песочных часов к пирамиде: как усовершенствовать структуру тестов
- Just Say No to More End-to-End Tests
- How Much Testing is Enough?
- Software Testing Anti-patterns
- Пирамида Автоматизации Тестирования: Версия 2021 года
- Антипаттерны тестирования ПО
- Unit, API и GUI тесты - чем отличаются
- Почему тестировать должны не только QA. Распределяем тест-кейсы между Dev, Analyst и QA
- Пирамида тестирования на практике. Как работает QA в Jiji
- Почему «осмысленное тестирование» - это важно?
- Разные подходы к тестированию: в чем их суть и какой выбирать для своих проектов