Ответ
Sanity-тестирование (здравомыслия) — это узконаправленная, неглубокая проверка конкретной функции или исправления после сборки, чтобы убедиться, что внесенные изменения работают как задумано, без критических дефектов. Его цель — подтвердить «работоспособность» конкретной области, а не всей системы.
| Ключевые отличия от Smoke-тестирования: | Критерий | Smoke-тестирование | Sanity-тестирование |
|---|---|---|---|
| Цель | Проверить стабильность сборки для дальнейшего тестирования. | Проверить корректность работы конкретного исправления или функции. | |
| Глубина | Поверхностное, охватывает основные сквозные сценарии. | Узкое и сфокусированное на измененной области. | |
| Объем | Широкий, охватывает ключевые модули системы. | Очень ограниченный, только затронутые изменениями компоненты. | |
| Когда проводится | Сразу после получения новой сборки. | После smoke-тестов, когда нужно проверить конкретный багфикс или фичу. |
Пример сценария sanity-теста после исправления бага в форме логина:
def test_login_sanity_after_fix():
# 1. Основной хэппи-путь
assert login("valid_user", "correct_password") == SUCCESS
# 2. Проверка конкретного исправленного бага: блокировка после N попыток
for _ in range(MAX_ATTEMPTS - 1):
assert login("valid_user", "wrong_password") == INVALID_CREDENTIALS
# N-ая попытка должна вызвать блокировку
assert login("valid_user", "wrong_password") == ACCOUNT_LOCKED
# 3. Смежная базовая функция: кнопка "Забыли пароль?"
assert is_clickable("forgot_password_link") == True
Sanity-тестирование — это быстрая проверка «логичности» изменений, а не полная регрессия.