Smoke-тестирование: зачем оно нужно и как выполняется

Блог

Smoke-тестирование (или дымовое тестирование) — это минимальный набор тестов, прохождение которых показывает, что продукт готов к дальнейшему тестированию. Почему этот этап так важен и как он проходит? Давайте разберёмся в этой статье.

Smoke-тестирование также можно назвать «проверкой сборки», так как с помощью дымовых тестов мы проверяем работоспособность и стабильность сборки.

Преимущества Smoke-тестирования

  • Простота выполнения тестирования;
  • Обнаружение дефектов на ранних этапах;
  • Повышение качества системы;
  • Экономия времени и ресурсов при тестировании;
  • Минимизация рисков интеграции.

Чем различаются Smoke, Sanity и Регрессионное тестирование?

  1. Smoke проверяет рабочее состояние новой сборки. Sanity-тестирование проверяет изменения, которые были сделаны в текущей сборке. Регресс проводится для проверки всего функционала, который был затронут в ходе изменения в текущей сборке.
  2. Дымовое тестирование можно выполнить на любой сборке. Sanity и Регресс выполняются только на стабильных сборках.
  3. Smoke-тестирование может выполняться как разработчиками, так и тестировщиками. Sanity и Регресс выполняются только тестировщиками.
  4. Smoke-тестирование обязательно проводится для каждой новой сборки. Sanity-тестирование делают, только если нет времени на более глубокое регрессионное тестирование. Регрессионное тестирование выполняется всегда, когда нет ограничения во времени.

Как выполняется смоук-тестирование?

Smoke-тестирование выполняется при каждой новой сборке. Для этого специалисты определяют минимальный набор тест-кейсов для критически важного функционала. На этапе написания тест-кейсов выделяют приоритетность и серьёзность кейса. В Smoke-прогон входят кейсы с Priority High и Severity Critical — как правило, это основные пользовательские сценарии, набор кейсов для проверок интеграционных модулей.

  •  К примеру, у нас в системе используются сторонние модули для скачивания документов, отображения карт, отправки писем, регистрации через интеграционную систему. Эти кейсы добавлены в Smoke-прогон. Тестировщики должны убедиться, что все критически важные функции работают правильно: подключены ли модули, выполняют ли они свою основную функцию. К примеру, при проверке модуля скачивания документов нужно убедиться, что документ скачивается, а что конкретно в нем отображено – уже задача для регресса.

Все результаты Smoke-прогона тестировщики фиксируют в системе управления. На основании этой информации формируются диаграммы Smoke-прогона. Вот как они выглядят:

Пример Smoke-тестирования

Предположим, в тестируемом приложении есть следующие основные пользовательские сценарии:

  1. Вход в систему
  2. Регистрация пользователя
  3. Личная страница пользователя
  4. Редактирование личных данных

Для такого приложения тестировщик в ходе Smoke-тестирования должен проверить все основные пользовательские сценарии. Например:

  1. Пользователь смог войти с действительными учетными данными.
  2. Пользователь не смог войти c недействительными учетными данными.
  3. Успешное создание нового пользователя при заполнении формы регистрации валидными данными.
  4. Просмотр страницы пользователя после входа в систему.
  5. Пользователь смог отредактировать Имя/email

Заключение

Таким образом, Smoke-тестирование или проверка сборки проводится для того, чтобы до запуска продукта убедиться, что всё работает стабильно и отвечает требованиям заказчика. Оно проводится при каждой новой сборке. У дымового тестирования много преимуществ: оно помогает заметить дефекты на раннем этапе, повысить качество системы и экономит время команды.