Чем отличаются smoke, sanity и регрессионное тестирование?
- Что такое смоук-тестирование?
- Чем ретест отличается от регресса?
- Что такое регрессионное тестирование?
Smoke — быстрая проверка, что сборка вообще работает; sanity — узкая проверка конкретного исправления или функции; регресс — что изменения не сломали старое.
- Ретест — повторная проверка исправленного бага, регресс — проверка всего вокруг
- Регресс — главный кандидат на автоматизацию
А ещё Порядок на сборке: smoke → проверки задачи и ретест → регресс
Подробно
Smoke-тестирование — минимальный набор критичных проверок новой сборки: приложение запускается, можно войти, открыть главный экран, выполнить ключевой сценарий. Если smoke не прошёл, дальше тестировать бессмысленно — сборку возвращают.
Sanity-тестирование — точечная проверка конкретной области после изменения: исправили расчёт скидки — убеждаемся, что скидка считается и соседние расчёты логичны. Глубоко всё не проверяем.
Ретест (подтверждающее тестирование) — повторное выполнение проверки, которая нашла дефект, чтобы убедиться, что он исправлен.
Регрессионное тестирование — проверка, что изменения не сломали то, что работало раньше. Ошибки часто появляются в неожиданных местах: поправили корзину — сломалась оплата. Регрессионный набор растёт с продуктом, поэтому его в первую очередь автоматизируют, а вручную проверяют самое рискованное.
Термины smoke и sanity в разных компаниях используют по-разному — на собеседовании стоит дать определение и пример, а не спорить о названиях.
Пример
Вышла сборка с исправлением бага «не применяется промокод». Smoke: приложение открывается, вход работает, можно оформить заказ. Ретест: промокод из баг-репорта теперь применяется. Sanity: проверяем разные типы промокодов. Регресс: оплата, доставка и история заказов работают как раньше.
Что хотят услышать
- Чёткое различие целей трёх видов и ретеста.
- Пример на одной сборке.
- Связь регресса с автоматизацией.
Частые ошибки
- Путать ретест и регресс.
- Считать smoke полным тестированием сборки.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Регресс — повторная проверка только одного исправленного бага перед релизом
- ✗Smoke — полная проверка всех функций перед релизом, регресс — проверка одного исправления
- ✓Smoke — сборка жива; sanity — исправление; регресс — старое цело
- ✗Регресс плохо подходит для автоматизации, поэтому его всегда делают вручную
Что спросят дальше
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.