Будучи инженером по тестированию, вы, вероятно, слышали о таких видах тестирования как «дымовое» (smoke), «санитарное тестирование» (sanity), «ре-тест» и регрессионное тестирование. В этой статье я хотел бы внести ясность и объяснить разницу между этими видами тестирования и попробовать разобраться, провести границы (хоть и условные) где заканчивается один вид тестирования, и начинается другой. Узнайте больше о различиях между дымовым и санитарным тестированием.
Cодержание
О чем все это
Будучи инженером по тестированию, вы, вероятно, слышали о таких видах тестирования как «дымовое» (smoke), «санитарное тестирование» (sanity), «ре-тест» и регрессионное тестирование. Вполне возможно, многие из этих видов используются вами на ежедневной основе.
В этой статье я хотел бы внести ясность и объяснить разницу между этими видами тестирования и попробовать разобраться, провести границы (хоть и условные) где заканчивается один вид тестирования, и начинается другой.
Ликбез
Ниже приведены краткие определения видов тестирования, которые мы сегодня сравниваем:
- Дымовое (smoke) тестирование - проверка основных функций системы или ее компонентов для оценки работоспособности и стабильности перед более подробным тестированием.
- Санитарное (sanity) тестирование - быстрая проверка работоспособности после добавления новой функции для определения, заслуживает ли она более углубленного тестирования.
Ну а по существу?
Приведу пример разграничения понятий на моем текущем проекте.
Пример: у нас есть веб-сервис с пользовательским интерфейсом и RESTful API. Будучи тестировщиками, мы знаем:
- Дымовое тестирование будет включать проверку основных функций веб-сервиса, таких как вход на сайт, открытие главной страницы и основных разделов.
- Санитарное тестирование будет включать проверку добавленных новых функций, таких как регистрация нового пользователя или добавление новой записи в базу данных через API.
Тогда можно сделать ряд утверждений о том, какие типы тестов нужно использовать в какой момент времени:
- Дымовое тестирование следует проводить после каждого обновления или развертывания системы для проверки базовой работоспособности.
- Санитарное тестирование следует проводить после добавления новых функций или изменений для проверки их корректной работы.
При этом, если API принимает также POST-запросы, то в набор тестов sanity нужно включить именно эти запросы. По аналогии с UI мы будем проверять все страницы приложения.
См. также
What is the most popular Benjamin Moore colors?
Подведем итог
Надеюсь, что после чтения данной статьи, у вас появится ясность в определении какой вид тестирования вы используете на каком этапе.
Разновидность регрессионного тестирования, санитарное тестирование (sanity) является быстрой проверкой работоспособности после добавления новой функции. Оно нацелено на валидацию базовой функциональности без подробного тестирования.
Важно отметить, что используемое в русскоязычном QA-комьюнити название "санитарное тестирование" является несколько некорректным и комичным, но оно уже устоялось. Однако, более правильным названием этого типа тестирования является "тест работоспособности", согласно определению ISTQB.