Санитарное и дымовое тестирование (англ. Sanity Testing и Smoke Testing соответственно) – два распространенных вида тестирования приложений. В этой статье мы разберем, чем они отличаются друг от друга.
Содержание
- Что такое сборка ПО?
- Дымовое тестирование
- Санитарное тестирование
- Различия между дымовым и санитарным тестированием
- Что стоит запомнить о Smoke и Sanity-тестах
Что такое сборка ПО?
Исходный код простой программы легко может поместиться в один файл. Чтобы получить исполняемую программу, его нужно скомпилировать и скомпоновать. Это дело несложное.
Но, как правило, коммерческий проект состоит из нескольких тысяч файлов. Создание исполняемой программы из этих исходников – сложная задача, требующая времени. Программа собирается из отдельных компонентов, и именно это называется сборкой ПО.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
Что собой представляет дымовое тестирование?
Когда сборка готова, нужно проверить, что критически важные функции работают как положено. Такое тестирование называется дымовым. Оно проводится перед более глубоким функциональным и регрессионным тестированием. Главная его цель – заранее выявить ошибки, чтобы не тратить время на более сложные тесты.
При дымовом тестировании тест-кейсы выбираются таким образом, чтобы охватить все самые важные функции системы. Например, сценарий может быть таким: “Убедитесь, что программа запускается без ошибок, интерфейс корректно реагирует и т.д.”.
Считается, что название этого тестирования связано с тем, что когда-то печники тестировали новую печь, наблюдая, куда идет дым.
Что такое санитарное тестирование?
Санитарное тестирование – это вид тестирования сборки ПО после изменений в коде или функциональности. Его цель – проверить, что старые ошибки исправлены, а новых не появилось. Если Sanity-тест не проходит, сборка отправляется на доработку, а не на более тщательное тестирование.
Предназначение санитарного тестирования – убедиться, что разработчик не допустил базовых ошибок. Например, если ваш калькулятор выдает 2 + 2 = 5, то нет смысла проверять более сложные выражения вроде sin 60 + cos 45.
Примечание редакции: также рекомендуем почитать о регрессионном тестировании – “Что такое регрессионное тестирование?”.
Различия между дымовым и санитарным тестированием
Smoke-тестирование | Sanity-тестирование |
---|---|
Проводится, чтобы убедиться, что самые важные функции программы работают нормально | Проводится, чтобы проверить новый функционал и убедиться, что ошибки были исправлены |
Цель – проверка устойчивости системы | Цель – проверка "здравомыслия" системы |
Выполняется разработчиками и тестировщиками | Выполняется тестировщиками |
Обычно документируется или проводится по сценарию | Не документируется и не имеет сценариев |
Является подмножеством Acceptance-тестирования | Является подмножеством регрессионного тестирования |
Проверяет всю систему полностью | Проверяет конкретный компонент системы |
Что стоит запомнить о Smoke и Sanity-тестах
- И санитарное, и дымовое тестирование позволяют быстро обнаружить баги и отправить приложение на доработку, существенно экономя время на тщательном тестировании.
- Дымовое тестирование также называют Acceptance-тестированием.
- Ежедневная сборка ПО и Smoke-тестирование – полезная практика для крупных проектов.
- И Smoke, и Sanity-тесты могут выполняться вручную или автоматически. Автоматические тесты часто включаются в процесс сборки ПО.
- Если в процесс сборки ПО включено тестирование, то сначала выполняется дымовое, а затем санитарное. В ИТ-индустрии тест-кейсы для них обычно объединяют, чтобы ускорить выполнение. Из-за этого нередко возникает путаница в терминах.
Надеемся, теперь вы хорошо улавливаете разницу между дымовым и санитарным тестированием. А если вам легче воспринимать материал визуально, можете посмотреть видео:
Перевод статьи Thomas Hamilton «Sanity Testing Vs. Smoke Testing – Difference Between Them».
Людей которые говорят “Санитарное” тестирование нужно выгонять из тестировщиков)))
А еще лучше найти того, кто так перевел слово “Sanity”…
Пингбэк: Что такое тестовый набор
Пингбэк: Как мы создали автономную систему тестирования
Пингбэк: 15 вопросов на QA-собеседовании (2024)
Пингбэк: Что такое shift-left тестирование?
Пингбэк: Функциональное тестирование
Пингбэк: Как тестировать электрический чайник
Пингбэк: Sanity-тестирование