Ответ
Smoke-тестирование (санити-чек) — это регулярная, часто ежедневная практика. Оно выполняется для быстрой проверки стабильности сборки перед запуском более глубокого тестирования.
Типичные триггеры для запуска smoke-тестов:
- После каждой успешной сборки (build) в CI/CD-пайплайне.
- Перед началом регрессионного тестирования новой версии.
- После развертывания (деплоя) на тестовое или staging-окружение.
- После установки «горячего» фикса (hotfix).
Пример набора smoke-тестов для веб-приложения (псевдокод):
import requests
# 1. Проверка доступности главной страницы
response = requests.get("https://app.com")
assert response.status_code == 200
# 2. Проверка критического API-эндпоинта
api_response = requests.get("https://api.app.com/health")
assert api_response.status_code == 200 and api_response.json()["status"] == "OK"
# 3. Проверка базового функционального потока (например, логин)
login_data = {"username": "test", "password": "test"}
login_response = requests.post("https://app.com/login", data=login_data)
assert login_response.status_code == 200 or 302 # Успех или редирект
В современных DevOps-практиках smoke-тесты часто полностью автоматизированы и интегрированы в пайплайн как gate (проверка) для продвижения сборки дальше.