Что такое smoke-тестирование и каковы его основные требования?

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

Ответ

Smoke-тестирование (санитарное тестирование) — это быстрая проверка базовой работоспособности ключевых функций приложения после сборки или развертывания, чтобы определить, стоит ли запускать более глубокое тестирование.

Основные требования к smoke-тестам:

  1. Минимальный и критически важный набор. Проверяются только основные сценарии (например, запуск приложения, вход в систему, загрузка главной страницы).
  2. Высокая скорость выполнения. Обычно укладывается в 5–15 минут, чтобы не блокировать CI/CD-пайплайн.
  3. Максимальная стабильность. Тесты должны быть надежными и не давать ложных срабатываний, так как их результат — сигнал для продолжения работы.
  4. Полная автоматизация. Интеграция в процесс сборки для запуска без ручного вмешательства.

Пример 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"