Ответ
Sanity-тестирование имеет средний приоритет. Оно выполняется после успешного smoke-теста, но перед глубоким регрессионным тестированием.
Ключевые отличия по приоритету:
- Smoke-тест (Высокий) — проверка «дыма»: работает ли сборка вообще? Базовые сценарии.
- Sanity-тест (Средний) — проверка «здравомыслия»: работают ли конкретные исправленные функции после изменений? Фокус на узкой области.
- Регрессионный тест (Высокий) — полная проверка системы на предмет побочных эффектов.
Практический пример: После фикса бага в функции оплаты sanity-тест проверит только сценарии, связанные с оплатой, а не весь функционал приложения.
def test_sanity_payment_after_fix():
"""Sanity-тест для проверки исправления бага в оплате."""
# 1. Инициируем оплату с исправленными данными
payment_result = process_payment(user_id=123, amount=100, currency="USD")
# 2. Проверяем, что баг более не проявляется
assert payment_result["status"] == "success"
assert "transaction_id" in payment_result # Ключевое поле теперь присутствует