Ответ
Это уровни тестирования, отличающиеся масштабом проверяемых компонентов и целями.
| Уровень | Объект тестирования | Цель | Пример |
|---|---|---|---|
| Модульное (Unit) | Отдельная функция, метод или класс в изоляции. | Проверить корректность работы минимальной единицы кода. |
def test_calculate_discount():
assert calculate_discount(100, 0.1) == 90 # 10% скидка
``` |
| **Интеграционное** | Взаимодействие нескольких модулей, систем или сервисов (например, приложение + БД + API). | Обнаружить дефекты на стыке компонентов. | Тест, что данные из формы корректно сохраняются в базе данных и возвращаются через API. |
| **Системное** | Полностью интегрированная система как единое целое. | Проверить соответствие системы техническим требованиям в среде, близкой к production. | Сквозной (E2E) тест полного пользовательского сценария в готовом приложении. |
| **Приемочное (UAT)** | Вся система с точки зрения бизнес-требований. | Подтвердить, что система готова к выпуску и удовлетворяет потребностям заказчика/пользователя. | Финальная проверка ключевых сценариев заказчиком перед релизом. |
**Пирамида тестирования** рекомендует иметь много модульных, меньше интеграционных и еще меньше системных/приемочных тестов.