Что такое Sandwich-тестирование?

«Что такое Sandwich-тестирование?» — вопрос из категории Основы тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Sandwich-тестирование (гибридное) — это стратегия интеграционного тестирования, которая одновременно сочетает подходы сверху вниз (top-down) и снизу вверх (bottom-up).

Принцип работы:

  1. Верхний слой тестируется с реальными, уже готовыми нижними модулями (а не с заглушками).
  2. Нижний слой тестируется независимо и интегрируется с верхним.
  3. Средний слой ("начинка") проверяется в последнюю очередь, когда оба направления тестирования встречаются.

Пример для трёхуровневой архитектуры: Пользовательский интерфейс (UI) → Бизнес-логика (API) → База данных (DB)

  • Тестирование сверху вниз: UI + реальный API.
  • Тестирование снизу вверх: DB + реальный API.
  • Интеграция и проверка полного потока: UI → API → DB.

Преимущества:

  • Эффективность: Позволяет начать тестирование раньше, чем будут готовы все модули.
  • Скорость: Параллельная работа над разными слоями ускоряет процесс.

Недостатки:

  • Сложность координации: Требует чёткого планирования и синхронизации команд.
  • Риск пропуска ошибок: Интеграционные дефекты в среднем слое могут быть обнаружены поздно.