Санитарное тестирование обычно проводится однократно после конкретных изменений или исправлений, чтобы удостовериться, что они не сломали существующую функциональность. Вообще термин «Smoke Testing«, что в переводе означает дымовое тестирование и имеет корни из индустрии электроники.
После внесения исправления тестировщик снова должен провести смоук-тестирование. Также выражение “smoke-test” напрямую связано со временем, затраченным на тестирование. Иначе говоря, это такое тестирование, на которое будет затрачено времени не более одной выкуренной сигареты. Первое включение нового радиоэлектронного устройства, пришедшего из производства, совершается на очень короткое время (меньше секунды). Сильно нагревшаяся за эту секунду микросхема может свидетельствовать о грубой ошибке в схеме.
Только при положительном прохождении всех сценариев Smoke-тестирование считается успешно пройденным, а сборка передается далее на тестирование. Санитарное тестирование — это узконаправленное тестирование достаточное для доказательства того, что конкретная функция работает согласно заявленным в спецификации требованиям. Этот вид тестирования часто применяется при внесении изменений в код, добавлении новых функций или исправлении ошибок. Smoke-тестирование также можно назвать «проверкой сборки», так как с помощью дымовых тестов мы проверяем работоспособность и стабильность сборки. Этот чек-лист является базовым руководством для smoke-тестирования и может быть дополнен в зависимости от особенностей вашего проекта. Если же обнаружены проблемы, то сборка отклоняется и передается обратно разработчикам для исправления.
Санитарное тестирование является подмножеством регрессионного тестирования и многие путают это тестирование со смок тестированием, а кто то вообще считает это одним и тем же. Хотя и оба являются формами поверхностного тестирования, но они имеют разные цели и применяются в разных контекстах. Простыми словами регрессионное тестирование — это тестиование при котором мы проверяем, что новый функционал не сломал старый функционал, который раблотал до этого. Если smoke тесты не проходят, это сигнал для тестировщиков о том, что в системе есть критические проблемы, которые нужно решить перед тем, как продолжить детальное тестирование.
Пример Smoke Testing:
Тест должен подтвердить или опровергнуть правильность выполнения ПО своих основных функций перед его передачей на более глубокое тестирование. Основная цель дымового тестирования – раннее обнаружение проблем в сборке. Если в сборке присутствуют ошибки, то дальнейшее тестирование будет лишь тратой времени и ресурсов. Например, мы выкладываем какой то новый билд со определенным списком фичей. Как правило Smoke-тестирование выполняется вручную, но если приложение обновляется часто и есть повторяющиеся от сборки к сборке текст-кейсы, то их можно автоматизировать для экономии времени и ресурсов.
В случае отсутствия таковых дефектов дымовое тестирование объявляется пройденным, и приложение передается для проведения полного цикла тестирования, в противном случае, дымовое тестирование объявляется проваленным, и приложение уходит на доработку. В некоторых источниках ошибочно полагают, что санитарное и дымовое тестирование – это одно и тоже. Мы же полагаем, что эти виды тестирования имеют “вектора движения”, направления в разные стороны.
Санитарное и дымовое тестирование (англ. Sanity Testing и Smoke Testing соответственно) – два распространенных вида тестирования приложений. Фактически smoke-тестирование представляет собой эксперимент, поэтому оно должно проводиться по заранее определенным сценариям в контролируемой среде. Это исключает воздействие на тестируемую систему непредвиденных внешних факторов, которые могут исказить результаты проверки. Для выполнения сценариев удобнее всего пользоваться заранее составленным чек-листом, где описан процесс, ожидаемый результат и дана информация о результате прохождения.
Как Проводить Smoke-тестирование
Если первое включение не выявило перегрева, то прибор включается снова на большее время. Выражение «smoke-test» используется инженерами как шутка, так как https://deveducation.com/ появления дыма, а значит и порчи частей устройства, стараются избежать. Регрессионное тестирование должно охватывать все функциональные аспекты программы.
Для облегчения работы, экономии времени и людских ресурсов рекомендуется внедрить автоматизацию тестовых сценариев для дымового тестирования. Санитарное тестирование – это узконаправленное тестирование достаточное для доказательства того, что конкретная функция работает согласно заявленным в спецификации требованиям. Используется для определения работоспособности определенной части приложения после изменений Тестирование на основе чек-листов произведенных в ней или окружающей среде. С помощью них проверяется их рабочее состояние и дается гарантия, что все критически важные функции работают правильно. Задача – проверить, подключен ли модуль, выполняет ли он свою основную функцию. К примеру, при проверке модуля скачивания документов нужно убедиться, что документ скачивается, а что конкретно в нем отображено – это проверка в рамках регресса.
Что Такое Smoke-тестирование
Тем не менее они не отменяют необходимость проведения более глубоких проверок, затрагивающих функции, не столь важные для самой сборки, но имеющие большое значение для пользователя. Кроме того, тестовые сценарии нуждаются в периодическом обновлении, чтобы исключить риск пропуска новых ошибок. Проверка ключевого функционала должна осуществляться сразу после создания программного обеспечения — это приемочные испытания, за которыми далее будет проводиться углубленное функциональное и регрессионное тестирование. Поскольку набор кейсов для стартовой проверки всегда идентичен, а исследование проводится регулярно, целесообразно автоматизировать процессы. Смоук-тестирование — первый этап исследований программного обеспечения (ПО) после его создания или модернизации.
В зависимости от специфика проекта, smoke check можно пройти как за несколько минут, так и за несколько часов. Для этого определяется минимальный набор тест-кейсов для критически важного функционала. В Smoke-прогон входят кейсы с Priority High и Severity Critical, как правило, это основные пользовательские сценарии, набор кейсов для проверок интеграционных модулей.
Запустив первичную проверку ПО после его создания или модернизации, мы сразу поймем, корректно ли собраны модули и нет ли багов. Как только ошибки будут найдены, программу сразу же отправят на доработку без прохождения сложного цикла исследований. Первое свое применение этот термин получил у печников, которые, собрав печь, закрывали все заглушки, затапливали её и смотрели, чтобы дым шёл только из положенных мест. Поэтому, чтобы тестировщики не перегорали, чтобы им было интереснее работать, они должны тестировать только новые фичи, а все старые фичи должно быть покрыты автотестами и вся регрессия должна быть автоматизирована. То есть первый тест радиолектронного оборудования был буквально такой, оборудование включали в сеть и наблюдали идет ли дым из компонентов и если идет, значит тест не пройден.
Автоматизация тестирования часто выполняется с помощью средств непрерывной интеграции. Такие смоук тесты должны быть максимально простыми и быстрыми для выполнения, не смотря на их простоту, они должны охватывать основной функционал. Типичными примерами смоук-тестирования служит проверка отклика системы при входе по логину с валидными данными, работоспособности кликов по кнопкам, доступности меню и других очевидных функций.
- Иначе говоря, это такое тестирование, на которое будет затрачено времени не более одной выкуренной сигареты.
- Таким образом, smoke-тесты — это простой и действенный способ проверить основной функционал сборки.
- Фактически smoke-тестирование представляет собой эксперимент, поэтому оно должно проводиться по заранее определенным сценариям в контролируемой среде.
- В некоторых источниках ошибочно полагают, что санитарное и дымовое тестирование – это одно и тоже.
- Компания IBS AppLine не только протестирует ПО, но и предложит перечень мер, направленных на устранение ошибок.
- Используется для определения работоспособности определенной части приложения после изменений произведенных в ней или окружающей среде.
Smoke-тестирование (или дымовое тестирование) — это минимальный набор тестов, прохождение которых показывает, что продукт готов к дальнейшему тестированию. Когда сборка готова, нужно проверить, что критически важные функции работают как положено. Оно проводится перед более глубоким функциональным и регрессионным тестированием. Главная его цель – заранее выявить ошибки, чтобы не тратить время на более сложные тесты. Таким образом, smoke-тесты — это простой и действенный способ проверить основной функционал сборки.
Цель проверки — изучение работоспособности системы, корректности отклика и обработки данных. Smoke-тесты короткого цикла направлены на выявление критических дефектов, которые в дальнейшем могут спровоцировать архитектурные ошибки и серьезные поломки оборудования. То есть основная цель смоук тестирования удостовериться, что система в целом работоспособна, а основная цель санитарного тестирования быстро проверить, что новые функции или исправления не сломали основную функциональность системы. Иными словами – это минимальный набор тестов, прохождение которых показывает, что продукт готов к дальнейшему тестированию.
Smoke-тестирование можно также назвать «Проверкой сборки», так как с помощью Smoke-тестов мы проверяем работоспособность и стабильность сборки. И того дымовое тестирование — это вид тестирования программного обеспечения, при котором выполняются базовые тесты для оценки стабильности системы. Санитарное тестирование – это вид тестирования сборки ПО после изменений в коде или функциональности. Его цель – проверить, что старые ошибки исправлены, а новых не появилось. Если Sanity-тест не проходит, сборка отправляется на доработку, а не на более тщательное тестирование. Smoke-тестирование — проверка программного обеспечения на стабильность и наличие явных ошибок.
Если вы хотите углубить свои знания в области тестирования ПО, рекомендую обратить внимание на такие онлайн-школы, как .
Сам термин появился впервые в среде инженеров, занимавшихся отопительным оборудованием. Когда изготавливалась новая печь или котел, все ее заглушки задвигались, после чего она затапливалась. Если дым шел только из положенных мест (например дымохода), то отопительное устройство было собрано правильно. Позже этот термин стал в ироничном ключе использоваться разработчиками микроэлектроники, которые проверяли устройства путем подачи напряжения на короткое время и таким образом выявляли сильно нагревающиеся компоненты. Оба типа тестирования являются важными элементами стратегии тестирования и часто используются вместе для обеспечения качества программного продукта.
В контексте программного обеспечения термин был адаптирован для описания быстрого набора тестов, которые выполняются после сборки, развертывания новой версии программы. Smoke-тестирование проводится после обновления ПО, также может быть проведено и при выходе первой версии системы в промышленную эксплуатацию. На тестовом стенде Smoke-тестирование может проводиться в качестве приемочных испытаний перед функциональным тестированием. Поскольку smoke-тестирование проводится с довольно высокой периодичностью и на него затрачиваются существенные ресурсы тестировщиков, рекомендуется автоматизировать это направление.
Нужно определить какие задачи нужно достичь благодаря нашему приложению, какие очевидные шаги для достижения поставленной задачи, какие важные требования мы должны соблюдать и в какой последовательности. Набор тестов — это сгруппированная совокупность тестовых случаев, связанная определенным образом (к примеру, по функциональности). Smoke-тесты созданы для того, чтобы проверить основную функциональность и должны быть неотъемлимой частью процесса тестирования. Они могут включать что-то простое, вроде “Могу ли я зарегистрироваться? Smoke-тестирование предполагает ответы ДА/НЕТ и все тест-кейсы должны быть пройдены с положительным результатом. Smoke take a look at должны быть быстрыми и легковесными, для того, чтобы их можно было запускать часто.
Исходя из Smoke мы поняли, что модуль в общей сборке корректен и подключен к системе. Smoke Tests легче автоматизировать, чем более глубокое и интеллектуальное тестирование. Автоматизация снижает количество ручного труда и поэтому позволяет проводить эти тесты чаще. Чем чаще выполняются тесты, тем раньше становится известно о проблемах, выявляемых этими тестами.