Smoke-тестирование: зачем оно нужно и как выполняется
Блог
Smoke-тестирование (или дымовое тестирование) — это минимальный набор тестов, прохождение которых показывает, что продукт готов к дальнейшему тестированию. Почему этот этап так важен и как он проходит? Давайте разберёмся в этой статье.
Smoke-тестирование также можно назвать «проверкой сборки», так как с помощью дымовых тестов мы проверяем работоспособность и стабильность сборки.
Преимущества Smoke-тестирования
- Простота выполнения тестирования;
- Обнаружение дефектов на ранних этапах;
- Повышение качества системы;
- Экономия времени и ресурсов при тестировании;
- Минимизация рисков интеграции.
Чем различаются Smoke, Sanity и Регрессионное тестирование?
- Smoke проверяет рабочее состояние новой сборки. Sanity-тестирование проверяет изменения, которые были сделаны в текущей сборке. Регресс проводится для проверки всего функционала, который был затронут в ходе изменения в текущей сборке.
- Дымовое тестирование можно выполнить на любой сборке. Sanity и Регресс выполняются только на стабильных сборках.
- Smoke-тестирование может выполняться как разработчиками, так и тестировщиками. Sanity и Регресс выполняются только тестировщиками.
- Smoke-тестирование обязательно проводится для каждой новой сборки. Sanity-тестирование делают, только если нет времени на более глубокое регрессионное тестирование. Регрессионное тестирование выполняется всегда, когда нет ограничения во времени.
Как выполняется смоук-тестирование?
Smoke-тестирование выполняется при каждой новой сборке. Для этого специалисты определяют минимальный набор тест-кейсов для критически важного функционала. На этапе написания тест-кейсов выделяют приоритетность и серьёзность кейса. В Smoke-прогон входят кейсы с Priority High и Severity Critical — как правило, это основные пользовательские сценарии, набор кейсов для проверок интеграционных модулей.
- К примеру, у нас в системе используются сторонние модули для скачивания документов, отображения карт, отправки писем, регистрации через интеграционную систему. Эти кейсы добавлены в Smoke-прогон. Тестировщики должны убедиться, что все критически важные функции работают правильно: подключены ли модули, выполняют ли они свою основную функцию. К примеру, при проверке модуля скачивания документов нужно убедиться, что документ скачивается, а что конкретно в нем отображено – уже задача для регресса.
Все результаты Smoke-прогона тестировщики фиксируют в системе управления. На основании этой информации формируются диаграммы Smoke-прогона. Вот как они выглядят:
Пример Smoke-тестирования
Предположим, в тестируемом приложении есть следующие основные пользовательские сценарии:
- Вход в систему
- Регистрация пользователя
- Личная страница пользователя
- Редактирование личных данных
Для такого приложения тестировщик в ходе Smoke-тестирования должен проверить все основные пользовательские сценарии. Например:
- Пользователь смог войти с действительными учетными данными.
- Пользователь не смог войти c недействительными учетными данными.
- Успешное создание нового пользователя при заполнении формы регистрации валидными данными.
- Просмотр страницы пользователя после входа в систему.
- Пользователь смог отредактировать Имя/email
Заключение
Таким образом, Smoke-тестирование или проверка сборки проводится для того, чтобы до запуска продукта убедиться, что всё работает стабильно и отвечает требованиям заказчика. Оно проводится при каждой новой сборке. У дымового тестирования много преимуществ: оно помогает заметить дефекты на раннем этапе, повысить качество системы и экономит время команды.