Content
для подавляющего большинства это синонимы, я из них использую только одно слово — смоук. Потому что, если я употреблю слово санити, то велика вероятность что буду понят не правильно и тестирование будет проведено не так как я подразумевал. Там же кстати, написано, что санити-тестирование это подмножество регрессионного тестирования, а не приёмочного тестирования, как в этой статье. Тест на вменяемость — гугл возвращает странные результаты… В то время как “санитарное тестирование” — как раз о том самом.
При этом, если это api принимает так же post-запросы, то очевидно что в другой набор тестов sanity нужно включить именно эти запросы. По аналогии с UI мы будем проверять все страницы приложения. Будучи инженером по тестированию, вы, вероятно, слышали о таких видах https://deveducation.com/it/smoke-test/ тестирования как «дымовое» , «санитарное тестирование» , «ре-тест» и регрессионное тестирование. Вполне возможно, многие из этих видов используются вами на ежедневной основе. Дымовой тест легче автоматизировать, чем более глубокое и интеллектуальное тестирование.
Другой способ классификации видов регрессионного тестирования связывает их с типами сопровождения, которые, в свою очередь, определяются типами модификаций. Иногда это происходит из-заслабой техники управления версиями или по причине человеческой ошибки при работе с системой управления версиями. Наконец, при переписывании какой-либочасти кода часто всплывают те же ошибки, что были в предыдущей реализации.
Тесты верификации версии (Build Verification Test; Build Acceptance Test, smoke test, quick check). Представляют собой набор тестов для проверки сохранности основной функциональности в каждой новой версии программы. Иными словами – это краткое тестирование всех основных функций разрабатываемого ПО, цель которого – убедится, что smoke тестирование программа “работает нормально”, что основная функциональность программы не нарушена. Если хотя бы один из тестов верификации версии выявляет баг – то тестер возвращается к предыдущей (последней “рабочей”), дальнейшей тестирование новой версии не проводится, а информация об ошибке вносится в базу и отправляется разработчику.
Это относится ко всем группам тестов регрессии. При корректирующем регрессионном тестировании техническое задание не изменяется, а модифицируются только некоторые операторы программы и, возможно, конструкторские решения.
Понятие дымовое тестирование пошло из инженерной среды. При вводе в эксплуатацию нового “железа” считалось, что тестирование прошло удачно, если из установки не пошел дым. В области же тестирования программного обеспечения, оно направлено на поверхностную проверку всех модулей приложения на предмет работоспособности и наличие быстро находимых критических и блокирующих дефектов. По результатам дымового третирования делается вывод о том, принимается или нет установленная версия программного обеспечения в тестирование, эксплуатацию или на поставку заказчику. Для облегчения работы, экономии времени и людских ресурсов рекомендуется автоматизировать дымовые тесты.
Регрессионное Тестирование
Поэтому, данное предложение из статьи считаю достаточно спорным, в данном примере я бы считал такой набор полным регрессионным тестированием а ни как не санити-тестом. Санитарное тестирование в данном случае будет состоять из выполнения запроса ко всем 10 точкам входа в api, сверкой полученного json с ожидаемым, а так же наличием требуемых данных в нём. Строго говоря, вы всё равно сможете проводить тестирование, даже при том что не сможете точно сказать, в чём же разница. Можно даже не задумываться о разграничении, каким именно видом тестирования вы сейчас заняты. Но всё же, чтобы расти над собой в профессиональном смысле, нужно знать что вы делаете, зачем, и насколько правильно вы это делаете. Для облегчения работы, экономии времени и людских ресурсов рекомендуется внедрить автоматизацию тестовых сценариев для дымового тестирования. Для тестов регрессии, которые предполагается проводить более 3-5 раз рекомендуется писать скрипты для автоматизации процесса.
То есть мы выполнили запрос — от сервиса пришёл ответ, и он не «задымился», то есть не вернул ошибку 4хх или 5хх, и что-то невнятное, вместо json. На smoke тестирование этом можно сказать что «дымный» тест пройден. Для проверки того, что работает так же и UI достаточно просто один раз открыть страницу в браузере.
Регрессионное тестирование может быть использовано не только для проверки корректности программы, часто оно также используется для оценки качества полученного результата. Так, при разработке компилятора, при прогоне регрессионных тестов рассматривается размер получаемого кода, скорость его выполнения и время компиляции каждого из тестовых примеров. Выявить эти ошибки и помогают тесты регрессии. Обычно используемые методы регрессионного тестирования включают повторные прогоны предыдущих тестов, а также проверки, не попали ли регрессионные ошибки в очередную версию в результате слияния кода. Поэтому считается хорошей практикой при исправлении ошибки создать тест на неё и регулярно прогонять его при последующих изменениях программы. Хотя регрессионное тестирование может быть выполнено и вручную, но чаще всего это делается с помощью специализированных программ, позволяющих выполнять все регрессионные тесты автоматически.
Чтобы не допустить подобного, бета-тестеру время от времени необходимо проводить тесты, выявлявшие ранее баги в измененном участке кода, исправление которых уже было проверено ранее и зафиксировано в базе. Это и есть тесты регрессии на “закрытых” багах. Под регрессионными тестами понимают те виды тестов, которые проводятся с каждой новой версией программы. Цель проведения этих тестов проста – убедиться, что новая версия программы не содержит ошибок в уже протестированных участках кода. Я понимаю Sanity tests как углубленное тестирование какой либо части приложения, новой функциональности или старой, после изменения или фиксов багов. То есть, нельзя провести санити-тест всего приложения. Прогрессивное регрессионное тестирование предполагает модификацию технического задания.
Автоматизация снижает количество ручного труда и поэтому позволяет проводить эти тесты чаще. Чем чаще выполняются тесты, тем раньше становится известно о проблемах, выявляемых этими тестами. Чем раньше становится известно о проблеме, тем легче её устранить. Автоматизация тестирования часто выполняется с помощью средств непрерывной интеграции. Аналогичным образом (см. пункт 4 ) отбираются тесты в группу регрессии на “закрытых” багах. Из Собственно тестов регрессии проводят лишь те, которые сопряжены с измененным в новой версии участком кода. После успешного прохождения тестов верификации версии, проводят серию Тестов верификации багов.
Smoke Testing Vs Sanity Testing
Допустим, что тест № 3, выявивший баг, после исправления этого бага разработчиком был проведен повторно, при том успешно. Тест был отмечен как pass, а баг – как Verified. Допустим теперь, что в ходе разработки, участок кода, где был исправлен этот баг, оказался изменен, или сменился разработчик, который случайно удалил часть в коде, исправлявшую этот баг и т.п.
- Если программа приходит от разработчика в виде полноценной инсталляции, то Тесты верификации начинаются с проверки инсталляции, после чего проводится краткий набор тестов функциональности.
- Тесты верификация багов представляют собой тесты проверки исправления багов.
- Обычно это выполняется после каждой удачной компиляции (в небольших проектах) либо каждую ночь или каждую неделю.
- В некоторых проектах даже используются инструменты для автоматического прогона регрессионных тестов через заданный интервал времени.
- Начинают регрессионное тестирование с Тестов верификации версии.
Если хотя бы один из тестов failed, версия передается на доработку, регрессионное тестирование прекращается, а тестер возвращается к тестированию последней “рабочей” версии. Тесты верификация багов представляют собой тесты проверки исправления багов.
В большинстве случаев при этом к системе программного обеспечения добавляются новые модули. Регрессия старых багов – попытка доказать, что недавнее изменение кода или данных сломало исправление старых ошибок, т.е. старые баги стали снова воспроизводиться.
Тестирование По
Цель – отклонить неработающее приложение, чтобы QA команда не тратила время на установку и тестирование программы. В случае отсутствия таковых дефектов дымовое тестирование объявляется пройденным, и приложение передается для проведения полного цикла тестирования, в противном случае, дымовое тестирование объявляется front end разработчик проваленным, и приложение уходит на доработку. На вопрос когда и как проводить регрессионное тестирование, и какие тесты ставить в первую очередь ответить не просто. Все определяется видом разрабатываемого ПО, продолжительностью жизненного цикла, сроками тестирования, количеством членов команды.
Если sanity тест не пройден, сборка отклоняется для экономии времени и средств, которые нужны на более подробное тестирование. Smoke-тестирование – вид тестирования программного обеспечения, который выполняется для smoke тестирование того, чтобы удостовериться, что критический функционал программы правильно работает. Тестирование выполняется перед тем как любой подробный функционал проверен или выполнены регрессионные тесты в сборке программы.
Выполнив один простой GET-запрос к одной из этих точек входа, и получив ответ в формате json, мы уже убеждаемся что дымное тестирование пройдено. Оба эти вида тестирования нацелены на то, чтобы избежать потерь времени и усилий, чтобы быстрее определить недостатки ПО и их критичность, а так же то, заслуживает ли оно перехода в фазу более углублённого и тщательного тестирования или же нет. В этой статье я хотел бы внести ясность и объяснить разницу между этими видами тестирования и попробовать разобраться, провести границы (хоть и условные) где заканчивается один вид тестирования, и начинается другой. Smoke и Sanity тестирование – самые неправильно понимаемые темы в тестировании ПО.
тесты верификации версии представляют собой краткий набор основных тестов функциональности. или smoke test, дымовое тестирование) — в тестировании программного обеспечения означает минимальный набор тестов на явные ошибки. Дымовой тест обычно выполняется программистом; не проходившую этот тест программу не имеет смысла отдавать на более глубокое тестирование.
Существует множество литературы на эту тему, но большинство из них сбиват с толку. Ошибки при соединении с базой данных, актуально для архитектуры клиент-сервер. Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 13 июня 2019; проверки требует 1 правка.
Допустим, что тест с номером 1 выявил баг, что было зафиксровано и передано разработчику для исправления. Через определенное время от разработчика была получена новая версия программы, с информацией о том, что баг исправлен. Тогда возникает необходимость провести тест с номером 1 повторно – для того, чтобы убедиться, что баг действительно больше не проявляется. В случае успешного прохождения теста такой баг помечается как Verified, в противном случае – как re-do, о чем сообщается разработчику и передается на доработку. Проведение таких тестов является обязательным. Так как причин, из-за которых исправленный баг может сохраниться в программе – множество (от ошибочного описания, а, возможно, и понимания проблемы, до ошибочного утверждения о том, что исправление имело место). Цель – определить, что предложенная функциональность работает примерно как ожидалось.
Часто «тестирование согласованности» или «тестированием на вменяемость», называют термином «санитарное тестирование». Думаю что это пошло из-за фонетических свойств английского слова sanity, схожего по звучанию с чем-то «санитарным». Относительно данной статьи прошу считать «санитарное» тестирование как «тестирование на согласованность». smoke тестирование Надеюсь, что после чтения данной статьи, у вас появится ясность в определении какой вид тестирования вы используете на каком этапе, и в чём разница между этими видами тестирования. Как и было упомянуто вначале, граница между этими понятиями весьма условная и остаётся на ваше усмотрение в рамках проекта.
В некоторых проектах даже используются инструменты для автоматического прогона регрессионных тестов через заданный интервал времени. Обычно это выполняется после каждой удачной компиляции (в небольших проектах) либо каждую ночь или каждую неделю. Начинают регрессионное тестирование с Тестов верификации версии. Если программа приходит от разработчика в виде полноценной инсталляции, то Тесты верификации начинаются с проверки инсталляции, после чего проводится краткий набор тестов функциональности.
Из опыта разработки ПО известно, что повторное появление одних и тех же ошибок — случай достаточно частый. По данным зарубежных авторов количество ошибок, возникающих в процессе изменения кода (исправления багов, внедрения новой функциональности и т.п.) колеблется от 50% до 80%.
Leave A Comment
You must be logged in to post a comment.