Ответ
Sandwich-тестирование (гибридное) — это стратегия интеграционного тестирования, которая одновременно сочетает подходы сверху вниз (top-down) и снизу вверх (bottom-up).
Принцип работы:
- Верхний слой тестируется с реальными, уже готовыми нижними модулями (а не с заглушками).
- Нижний слой тестируется независимо и интегрируется с верхним.
- Средний слой ("начинка") проверяется в последнюю очередь, когда оба направления тестирования встречаются.
Пример для трёхуровневой архитектуры:
Пользовательский интерфейс (UI) → Бизнес-логика (API) → База данных (DB)
- Тестирование сверху вниз: UI + реальный API.
- Тестирование снизу вверх: DB + реальный API.
- Интеграция и проверка полного потока: UI → API → DB.
Преимущества:
- Эффективность: Позволяет начать тестирование раньше, чем будут готовы все модули.
- Скорость: Параллельная работа над разными слоями ускоряет процесс.
Недостатки:
- Сложность координации: Требует чёткого планирования и синхронизации команд.
- Риск пропуска ошибок: Интеграционные дефекты в среднем слое могут быть обнаружены поздно.