Ответ
Smoke-тестирование (санитарное тестирование) — это быстрая проверка базовой работоспособности ключевых функций приложения после сборки или развертывания, чтобы определить, стоит ли запускать более глубокое тестирование.
Основные требования к smoke-тестам:
- Минимальный и критически важный набор. Проверяются только основные сценарии (например, запуск приложения, вход в систему, загрузка главной страницы).
- Высокая скорость выполнения. Обычно укладывается в 5–15 минут, чтобы не блокировать CI/CD-пайплайн.
- Максимальная стабильность. Тесты должны быть надежными и не давать ложных срабатываний, так как их результат — сигнал для продолжения работы.
- Полная автоматизация. Интеграция в процесс сборки для запуска без ручного вмешательства.
Пример smoke-теста для веб-приложения на Python с использованием pytest:
import requests
def test_main_page_loads():
"""Проверка, что главная страница приложения доступна."""
response = requests.get("https://app.example.com/")
assert response.status_code == 200
assert "Welcome" in response.text
def test_login_endpoint_available():
"""Проверка доступности конечной точки для входа."""
response = requests.get("https://app.example.com/api/health")
assert response.status_code == 200
assert response.json().get("status") == "OK"