И да, если вдруг вам показалось, что во время дымового тестирования вы действительно увидели дым — возможно, стоит проверить, не загорелся ли сервер. А вот пример того, как отсутствие дымового тестирования может привести к забавным последствиям. Одна компания решила сэкономить время и выпустить обновление корпоративного портала без базовых проверок.
Очень важно Методология программирования не принимать за аксиому то, что если какое-либо действие было пройдено один раз, оно будет всегда с положительным исходом. Smoke-тесты позволяют постоянно проверять, что основные функции не пострадали с течением времени или не были поломаны в течение долгого периода. Smoke-тестирование помогает убедиться, что ни одна из основных и очевидных неудач не оставлена на волю случая.
Простыми словами регрессионное тестирование — это тестиование при котором мы проверяем, что новый функционал не сломал старый функционал, который раблотал до этого. Вообще термин «Smoke Testing«, что в переводе означает дымовое тестирование иимеет корни из индустрии электроники. Приложение должно запуститься и продемонстрировать работоспособность своих базовых функций. Автоматизированное смок-тестирование — пишутся скрипты, проверяющие ключевые функции. Иногда это бывает целесообразно, если действия стандартные и повторяемые. Smoke-тестирование фактически представляет собой контролируемый эксперимент, поэтому все проводится согласно заранее определенным сценариям в специально подготовленной среде.
Смоук-тесты подходят для быстрой проверки общей работоспособности приложения после новой сборки. В разработке программного обеспечения (ПО) важно различать виды тестирования, чтобы обеспечить высокое качество продукта. Двое из этих видов — смоук-тестирование и санити-тестирование — часто вызывают вопросы относительно их различий и применения. Чтобы определить, как именно проводить дымное тестирование, надо определить основные функции и компоненты тестируемой системы. Также можно руководствоваться приоритетом функций, рисковыми областями или областью изменений.
Цель — убедиться, что продукт в принципе работоспособен и может быть передан на дальнейшее тестирование. Первое своё применение этот термин получил у печников, которые, собрав печь , закрывали все заглушки, затапливали её и смотрели, чтобы дым шёл только из положенных мест. Это вводное руководство о том, что это такое, как это может быть реализовано, какие ресурсы используются для его проведения и примеры, направляющие читателей. Простые ошибки могут быть фатальными для вашего сайта — особенно если Вы — SaaS (eng. Software as a Service) компания, как мы. Если пользователь заходит на Ваш сайт и не может справиться с простым заданием, таким как зарегистрироваться или сбросить свой забытый пароль, Вы рискуете потерять этого пользователя навсегда.

Эти тесты помогут быстро выявить базовые проблемы в работе приложения и принять меры для их исправления. Smoke-тестирование проводится после обновления ПО, также может быть проведено и при выходе первой версии системы в промышленную эксплуатацию. На тестовом стенде Smoke-тестирование может проводиться в качестве приемочных испытаний перед функциональным тестированием. Поскольку smoke-тестирование проводится с довольно высокой периодичностью и на него затрачиваются существенные ресурсы тестировщиков, рекомендуется автоматизировать это направление. А теперь представьте, что дымовое тестирование — это как свидание вслепую.
Первое включение нового радиоэлектронного устройства, пришедшего из производства, совершается на очень короткое время (меньше секунды). Сильно нагревшаяся за эту секунду микросхема может свидетельствовать о грубой ошибке в схеме. Если первое включение не выявило перегрева, то прибор включается снова на большее время. Выражение «smoke-test» используется инженерами в шуточном смысле, так как появления дыма, а значит и порчи частей устройства, стараются избежать.

Это способ узнать клиента, зацепить внимание и превратить его в покупателя. Представьте себе тестировщика-детектива, который с лупой в руках исследует каждую функцию приложения. Это медленнее, зато позволяет заметить те нюансы, которые автоматика может пропустить. https://deveducation.com/ Например, когда кнопка «Отправить» находится там, где её может найти только профессиональный археолог.
В Smoke-прогон входят кейсы с Precedence High и Severity Important — как правило, это основные пользовательские сценарии, набор кейсов для проверок интеграционных модулей. Смоук-тестирование — это минимальный набор тестов, который проверяет основные функции системы или компонента. Задача – проверить, работает ли система в общих чертах, без детальной проверки. Smoke-тестирование (или дымовой тест) — это первичная проверка программы, позволяющая убедиться, что основные функции работают, а приложение запускается без ошибок. Такой тест сразу выявляет критические неполадки, которые могут сделать дальнейшую проверку бессмысленной. Его обычно проводят после каждой сборки, чтобы убедиться, что продукт готов к следующему этапу тестирования.
Его задача – проверить, работает ли система или компонент после сборки или обновления. В отличие от юнит-тестирования, которое тестирует отдельные компоненты или модули, смоук-тестирование проверяет взаимодействие между компонентами и их способность работать вместе. «Дымовой тест» обычно выполняется самим программистом; не проходящую этот тест программу не имеет смысла отдавать на более глубокое тестирование. Цель такого тестирования – проверить, что после очередной сборки программного продукта нет явных, грубых дефектов, «блокирующих дальнейший путь». Ручное смок-тестирование — это процесс проверки ключевых функций на явные дефекты. Чаще всего этим и ограничиваются, особенно если приложение небольшое.

Например, в CI-сценариях smoke-запуски выполняются автоматически при каждом коммите, а sanity-наборы — только при ручном триггере или изменении критичных компонентов. Но оба подхода смоук тестирование работают быстрее, если хорошо настроены фильтры и запускаются выборочно, без всей тестовой базы. Разберем ключевые виды проверок, методы и инструменты, чтобы обеспечить стабильность и надежность работы.
Эти проверки помогают убедиться, что приложение готово к более глубокому анализу и тестированию второстепенных, но всё ещё важных функций. Однажды в одном крупном банке (назовем его «Банк с большой буквы Б») разработчики выкатили новую версию мобильного приложения. Казалось бы, обычное обновление — пара новых кнопочек, улучшенный дизайн… Но дымовое testing показало, что приложение почему-то округляет все суммы до ближайшего миллиона (представьте лица клиентов, увидевших такие балансы!). Благодаря раннему обнаружению, баг не дошел до продакшена, и все сохранили свои рабочие места. Санитарное тестирование — это узконаправленное тестирование достаточное для доказательства того, что конкретная функция работает согласно заявленным в спецификации требованиям. Этот вид тестирования часто применяется при внесении изменений в код, добавлении новых функций или исправлении ошибок.
Например, можно создать сценарий, который проверяет основные функции веб-приложения, такие как вход в систему, добавление элементов и проверка отображения страниц. Главной задачей смоук тестирования является убедиться в том, что приложение может успешно запуститься и работать, не обнаруживая критических ошибок. Это особенно важно для больших проектов, где множество инструментов, библиотек и функций могут привести к возникновению многочисленных ошибок и проблем в работе приложения. Если представить процесс разработки ПО как строительство дома, то дымовое тестирование — это как проверка несущих стен и фундамента.