Тестовая пирамида (Test Pyramid) — это модель, показывающая оптимальное соотношение типов автоматизированных тестов:
внизу — много быстрых unit-тестов, выше — меньше интеграционных, и ещё меньше UI-тестов.
Пример:
70% — unit-тесты (проверяют отдельные функции),
20% — интеграционные (взаимодействие модулей),
10% — UI-тесты (конечные сценарии).
Тестовая пирамида (Test Automation Pyramid) — концепция Майка Кона, описывающая, какие уровни автоматизированных тестов должны преобладать для эффективного, быстрого и надёжного тестирования.
Главная идея:
Чем ниже уровень теста — тем он быстрее, дешевле и стабильнее.
Чем выше — тем медленнее, дороже и сложнее поддерживать.
| Уровень | Что проверяется | Пример | Доля |
|---|---|---|---|
| 1. Unit-тесты (модульные) | Проверяют отдельные функции, классы или методы | Проверка расчёта комиссии в одной функции | ~70% |
| 2. Integration-тесты (интеграционные) | Проверяют взаимодействие между компонентами (модулями, API, БД) | Проверка корректного сохранения данных после API-запроса | ~20% |
| 3. UI-тесты (end-to-end) | Проверяют систему через пользовательский интерфейс | Проверка сценария “Логин → Создать заказ → Оплатить” | ~10% |
Если пирамида перевёрнута (много UI-тестов), то:
тесты медленные,
часто ломаются (нестабильные локаторы, тайминги),
дорого в поддержке.
Если всё внимание только на unit — не видно ошибок интеграции.
Поэтому нужно сбалансированное соотношение уровней.
В интернет-банке:
Unit — проверяют логику расчёта процентов, валидацию данных;
Integration — проверяют API перевода средств и запись в базу;
UI — проверяют, что клиент может совершить платёж через интерфейс.
Результат: тесты выполняются за 15 минут вместо 2 часов, релизы стали стабильнее.
Современные команды добавляют сверху:
Exploratory / ручное тестирование — проверка UX и нестандартных сценариев;
Мониторинг и тесты в проде (synthetic monitoring) — автоматические проверки после релиза.
💡 Итог:
Тестовая пирамида — это стратегия распределения тестов по уровням,
где основа — много быстрых unit-тестов,
середина — интеграционные проверки,
а вершина — минимум медленных UI-тестов.
Чтобы пожаловаться или сообщить об ошибке, войдите в аккаунт или зарегистрируйтесь.