В чём различия между Smoke, Sanity и Regression тестированием?
Краткий ответ
Smoke тестирование проверяет базовую работоспособность ключевых функций, Sanity — фокусируется на проверке конкретных изменений, а Regression — подтверждает, что обновления не сломали существующий функционал.
Развёрнуто
Краткий ответ
Smoke тестирование выполняется для быстрой оценки стабильности приложения после сборки. Sanity тестирование направлено на проверку корректности недавно внесённых изменений. Regression тестирование охватывает всю систему, чтобы убедиться в отсутствии побочных эффектов от новых изменений.
Как это работает
Smoke тестирование — это поверхностная проверка основных функций, которая позволяет определить, готов ли продукт к более глубокому анализу. Обычно проводится сразу после сборки.
Sanity тестирование — узконаправленное тестирование, цель которого — убедиться, что исправления багов или новые функции работают корректно и не требуют полного повторного тестирования.
Regression тестирование — комплексное тестирование, которое направлено на выявление ошибок, появившихся в ранее работающих участках после внесения изменений в код.
| Тип тестирования | Основная задача | Объём проверки | Время проведения |
|---|---|---|---|
| Smoke | Проверка базовой стабильности | Критические функции | После каждой сборки |
| Sanity | Проверка конкретных исправлений | Локальные изменения | После внесения багфиксов |
| Regression | Проверка полной системы на ошибки | Вся функциональность | Перед релизом |
Пример
После интеграции новой функции, QA сначала запускает smoke тесты, чтобы убедиться, что приложение запускается и основные функции работают. Затем проводится sanity тестирование, чтобы проверить конкретно новую функцию или исправление. Перед релизом выполняется regression тестирование, чтобы удостовериться, что изменения не повлияли на другие части продукта.
Что важно знать на собеседовании
- Smoke тесты быстрые и поверхностные, их цель — определить, стоит ли углубляться в тестирование
- Sanity тесты узконаправленные и проверяют конкретные изменения, без полного охвата системы
- Regression тесты самые объёмные и важные для поддержания стабильности продукта
- Различие между smoke и sanity часто зависит от контекста и процесса в команде
- Автоматизация regression тестов помогает ускорить повторное тестирование после изменений
Тема: Виды и уровни тестирования | Уровень: middle