В каком окружении обычно проводят smoke-тестирование?

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

Ответ

Smoke-тестирование (проверка «дымом») выполняется в стабильном тестовом окружении, максимально приближенном к продакшену, чтобы убедиться, что ключевые функции работают после сборки или деплоя.

Типичные окружения для smoke-тестов:

  • Staging / Pre-Production — наилучший вариант, так как повторяет продакшен по конфигурации, данным и сервисам, но изолирован от реальных пользователей.
  • QA / Test — стандартное окружение для регулярных проверок.
  • Production — иногда используется для быстрой проверки после деплоя (например, health-check эндпоинтов).
  • DEV — редко, только для ранней проверки критических путей.

Пример smoke-теста для проверки здоровья API (Python):

import requests

def test_smoke_api_health():
    # Проверяем, что основное API отвечает
    response = requests.get('https://staging-api.example.com/health', timeout=5)
    assert response.status_code == 200, f"Expected 200, got {response.status_code}"
    assert response.json().get('status') == 'OK', "Service status is not OK"
    print("Smoke test passed: API is healthy")

Почему staging? Потому что только там можно достоверно проверить интеграцию всех компонентов в условиях, близких к боевым.