Ответ
Smoke-тестирование (Sanity Check) — это быстрая проверка базовой работоспособности критичных функций приложения после сборки или деплоя. Его цель — отсечь нерабочие билды до запуска более глубокого тестирования.
Ключевые принципы:
- Минимальный набор: Тестируются только самые важные, сквозные пользовательские сценарии (например: запуск приложения, вход в систему, доступ к основному модулю).
- Высокая скорость: Выполняется за несколько минут (обычно 5-15).
- Стабильность: Тесты должны быть максимально надежными и не зависеть от нестабильных данных.
- Ранний запуск: Интегрируется в CI/CD пайплайн сразу после успешной сборки и деплоя на тестовое окружение.
Пример чек-листа для веб-приложения:
- Главная страница загружается без критических ошибок в консоли.
- Пользователь может успешно войти с валидными учетными данными.
- После входа загружается личный кабинет (dashboard).
- Работает ключевая функция (например, создание нового элемента).
- Проверяется доступность критичных внешних сервисов (API, база данных).
Пример интеграции в CI (псевдокод):
# .gitlab-ci.yml или аналоги
stages:
- build
- deploy_to_staging
- smoke_test
smoke_test:
stage: smoke_test
script:
- npm run smoke-tests # Запуск автоматизированных smoke-тестов
allow_failure: false # Падение smoke-тестов блокирует дальнейшие стадии
Результат: Если smoke-тесты проходят, билд считается условно стабильным для запуска регрессионного тестирования. Если нет — сборка бракуется, и команда получает уведомление о критической поломке.