Урок 25 — Смоук, санитарное, регрессионное тестирование

Дымовое тестирование

Вообще термин «Smoke Testing«, что в переводе означает дымовое тестирование и
имеет корни из индустрии электроники.

То есть первый тест радиолектронного оборудования был буквально такой, оборудование включали в сеть и наблюдали идет ли дым из компонентов и если идет, значит тест не пройден.

В контексте программного обеспечения термин был адаптирован для описания быстрого набора тестов, которые выполняются после сборки, развертывания новой версии программы.

Эти тесты должны показать, «идет ли дым»: то есть, являются ли базовые функции приложения настолько нестабильными, что дальнейшие тесты или работа с системой не имеют смысла.

Если smoke тесты не проходят, это сигнал для тестировщиков о том, что в системе есть критические проблемы, которые нужно решить перед тем, как продолжить детальное тестирование.

И того дымовое тестирование — это вид тестирования программного обеспечения, при котором выполняются базовые тесты для оценки стабильности системы.

Например у нас есть какая то программа и в ней мы можем авторизоваться, зарегистрироваться, произвести какую то оплату.

И в этом случае у нас может быть один какой то смоук тест который базово проверяет, что стандартная авторизация под каким то стандратным логином работает, базовый один смоук тест, который проверяет, что регистрация работает и базовый один смоук тест, что работает оплата каким то одним способом.

Такие смоук тесты должны быть максимально простыми и быстрыми для выполнения, не смотря на их простоту, они должны охватывать основной функционал.

Такие тесты первые кандидаты для автоматизированного тестирования, так как их необходимо выполнять чаще всего.

Преимущества:

  • Быстро выявляются критические ошибки.
  • Экономия времени и ресурсов, так как нет необходимости проводить полное тестирование, если smoke тесты не проходят.

Недостатки:

  • Нет гарантии полной работоспособности системы, так мы проверяем только самое основное без деталей.
  • И из-за этого можно пропустить менее критические ошибки.

Регрессионное тестирование

Простыми словами регрессионное тестирование — это тестиование при котором мы проверяем, что новый функционал не сломал старый функционал, который раблотал до этого.

Этот вид тестирования часто применяется при внесении изменений в код, добавлении новых функций или исправлении ошибок.

Регрессионные тесты часто повторяются.

И как правило тестировщики не очень любят проводить регрессионное тестирование, так как в этом случае мы проверяем не новый функционал, а постоянно проверяем не сломан ли один и тот же старый функционал и поэтому если такие тесты не автоматизированы, то ручная проверка регресса превращаются в рутину.

Поэтому, чтобы тестировщики не перегорали, чтобы им было интереснее работать, они должны тестировать только новые фичи, а все старые фичи должно быть покрыты автотестами и вся регрессия должна быть автоматизирована.

Регрессионное тестирование должно охватывать все функциональные аспекты программы.

К примеру если в смоук тесте мы говорили об одном автотесте, который проверяет, что авторизация проходит, то в регрессионных тестах это может быть быть автотест на авторизацию по емейлу, на авторизацию по логину, негативный автотест, что мы не можем авторизоваться с не существующим пользователем и т д

 

Преимущества :

  • Обеспечивается уверенность в том, что существующая функциональность не сломана.
  • Регресионное тестирование позволяет быстро выявить и исправить ошибки, связанные с изменениями в коде.

Недостатки:

  • Главный недостаток, как я уже говорил, что такое тестирование может быть трудоемким и затратным, особенно если тесты не автоматизированы.
  • Также есть возможность пропуска новых ошибок, если тестовый набор не обновляется или не адаптируется под новые изменения.

Санитарное тестирование

Санитарное тестирование является подмножеством регрессионного тестирования и многие путают это тестирование со смок тестированием, а кто то вообще считает это одним и тем же. Хотя и оба являются формами поверхностного тестирования, но они имеют разные цели и применяются в разных контекстах.

Санитарное тестирование — это узконаправленное тестирование достаточное для доказательства того, что конкретная функция работает согласно заявленным в спецификации требованиям.

То есть основная цель смоук тестирования удостовериться, что система в целом работоспособна, а основная цель санитарного тестирования быстро проверить, что новые функции или исправления не сломали основную функциональность системы.

Например, мы выкладываем какой то новый билд со определенным списком фичей. При смоук тесте мы проверяем какой то основной кейс один по авторизации, один кейс по регистрации и один по оплате, при санитарном тестировании мы более детально проверим только авторизацию и будем проходить по авторизации какой то пул тестов, а не один как в случае со смоук тестированием.

Смоук тестирование обычно проводится при каждом новом развертывании или значительных изменениях в системе.

Санитарное тестирование обычно проводится однократно после конкретных изменений или исправлений, чтобы удостовериться, что они не сломали существующую функциональность.

Оба типа тестирования являются важными элементами стратегии тестирования и часто используются вместе для обеспечения качества программного продукта.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.