Sanity Testing — это узконаправленный тип тестирования, который выполняется для быстрой проверки работоспособности ключевых функций системы после внесения изменений (например, после исправления бага, обновления или доработки кода). Его цель — убедиться, что основные компоненты приложения работают корректно, прежде чем переходить к более глубокому тестированию.
Ключевые характеристики Sanity Testing:
- Узкая направленность — проверяются только критически важные функции, связанные с последними изменениями.
- Быстрота выполнения — обычно занимает от нескольких минут до часа.
- Поверхностная проверка — не углубляется в детали, как регрессионное тестирование.
- Ручное или автоматизированное — может выполняться вручную или через скрипты (например, smoke-тесты).
Когда применяется?
- После исправления конкретного бага.
- Перед запуском регрессионного тестирования.
- При ограниченных временных рамках (например, перед срочным релизом).
Пример сценария:
def test_login_sanity():
response = login(username="valid_user", password="correct_pass")
assert response.status_code == 200
assert "Welcome" in response.text
Отличие от Smoke Testing:
- Smoke Testing — проверка стабильности сборки (build) в целом.
- Sanity Testing — фокусируется на конкретных изменениях.
Преимущества:
- Экономит время QA-команды.
- Позволяет быстро выявить блокирующие ошибки.
Недостатки:
- Не заменяет полноценное тестирование.
- Может пропустить сложные баги.
Резюмируем:
Sanity Testing — это "быстрая диагностика" системы после изменений, которая помогает решить, стоит ли продолжать более глубокое тестирование.