Ответ
Smoke-тестирование (санитарная проверка, Build Verification Test) проводится после каждой новой сборки (билда) приложения перед запуском полного цикла тестирования. Его цель — быстро проверить работоспособность критически важных функций и определить, стабильна ли сборка для дальнейшего, более глубокого тестирования.
Типичный процесс:
- Цель: Проверить, что основные пользовательские пути (happy paths) работают.
- Объем: 5-15 высокоуровневых тестов (чек-лист или автоматизированные скрипты).
- Критерий прохождения: Все smoke-тесты должны быть пройдены. В случае падения хотя бы одного — сборка отклоняется, и разработчики получают уведомление.
Пример автоматизированного smoke-теста для веб-приложения (Python + pytest + Selenium):
import pytest
from selenium import webdriver
def test_smoke_check():
"""Базовый smoke-тест для веб-приложения."""
driver = webdriver.Chrome()
try:
# 1. Проверка доступности главной страницы
driver.get("https://app.example.com")
assert "My App" in driver.title
# 2. Проверка критического API-эндпоинта (здоровье системы)
# (Используем requests для API-проверки)
import requests
health_resp = requests.get("https://api.example.com/health")
assert health_resp.status_code == 200
assert health_resp.json()["status"] == "OK"
# 3. Проверка базового функционала (например, отображение формы логина)
login_button = driver.find_element("id", "login-btn")
assert login_button.is_displayed()
finally:
driver.quit()
# Если тест падает, сборка считается нестабильной.
Инструменты: Для smoke-тестов часто используют Postman/Newman (API), Selenium/Playwright/Cypress (UI), или простые скрипты на pytest/JUnit.