Что такое ошибка жизненного цикла

  • Схема
  • Cтатусы багов
  • Другие статусы (этапы цикла)
  • Действия в багтрекере
  • Указания
  • Ошибка, дефект, отказ
  • Инвалиды и дубликаты
  • Еще нюансы
  • Жизненный цикл дефекта в Bugzilla (схемы)

В процессе разработки всегда возникают дефекты (баги), которые тестировщики стараются найти, а разработчики пофиксить, то есть устранить. В баг-трекинговой системе фиксируется статус дефекта, и действия участников команды. Все происходит упорядоченно (поэтапно), нередко бывают повторные этапы. Баг проходит от «рождения» (Новый) до «смерти» (Закрыт). Этот процесс называется жизненным циклом дефекта.

Жизненный цикл бага в трекере
Жизненный цикл бага в трекере

Дефектом называют ошибку в компьютерной программе, возникающую в процессе проектирования или написания кода программы. Ошибка заключается в некорректном поведении программы. Цель QA-команды состоит в обнаружении дефектов как можно раньше, и как можно большего количества дефектов, что повышает итоговое качество программы. Продукт без дефектов соответствует требованиям заказчика и предоставляет услуги пользователям на должном уровне.

Понятия баг и дефект, а также жизненный цикл дефекта и жизненный цикл бага в данной статье взаимозаменяемы. 

Жизненный цикл бага

Цикл обработки дефекта (бага), с присвоением ему различных статусов после выполнения различных действий — начиная с регистрации нового бага в системе и до закрытия после устранения. 

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

Общая схема жизненного цикла дефекта (например, в Jira):

Жизненный цикл дефекта
Жизненный цикл дефекта

Список статусов бага

  1. Новый

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

  1. Назначен

Когда новый дефект подтвержден и принят в обработку, получает статус Назначен (Assigned). Как правило назначается ответственный за устранение этого бага (поэтому статус еще может называться «Назначен НА кого-то»). 

  1. Открыт

Open-статус означает, что дефект приняли разработчики и начали процесс устранения.

На этом этапе возможен переход в статус «Отклонен» или «Отложен», то есть разработчик может «не принять» этот дефект — отклонить или отложить.

  1. Устранен

Или Решен/Исправлен (Fixed, Resolved). Разработчики поработали с кодом, внесли нужные правки, пометили статусом «Исправлен», и возвращают тестировщикам для повторной проверки.

  1. Ожидает повторного тестирования

В статусе Pending Retest дефект ожидает, когда тестировщики повторно проверят его, убедившись что все ОК, код теперь исправлен.

  1. Повторно тестируется

Retest: тестировщик еще раз проверяет этот дефект, и убедившись что он устранен разработчиками, верифицирует это и закрывает дефект, а в противном случае переоткрывает.

  1. Повторно открыт

Если повторное тестирование не смогло устранить баг, обнаруживается снова, ему присваивается статус Reopen. Баг открывается опять и еще раз проходит по циклу.

  1. Проверен

Тестировщик еще раз проверяет (верифицирует) баг, повторно исправленный разработчиком, и если теперь он не проявляется, присваивается статус Verified.

  1. Закрыт

Разработчики и тестировщики общими усилиями нашли и устранили дефект, он больше не появляется, и можно присвоить статус Closed.

Другие статусы в баг-трекерах

  1. Отклонен

Разработчик отклонил этот дефект, присвоив статус Rejected, потому что дефект или является дубликатом (уже внесен в систему кем-то из коллег), дефект не воспроизводится, или вообще не считается дефектом. 

  1. Отложен

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

  1. Дубликат

Этот дефект уже зарегистрирован другим тестировщиком, или суть дефекта та же, тогда присваивается статус Duplicate.

  1. Не дефект

Баг может и есть, но ни на что не влияет, ни в чем не ухудшает функциональность и юзабельность — отмечается статусом Not a Defect.

  1. Не воспроизводится

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

  1. Невозможно устранить

Бывают ситуации, когда баг устранить невозможно по какой-то причине: недостатки технологии, стоимость, нехватка времени, недостаточная квалификация или просто лень. Он переводится в статус Can’t be fixed.

  1. Требует уточнения

Статус Need more information по сути близок к «Не воспроизводится» выше, но с нюансами. Такой статус присваивается, когда разработчики не сумели воспроизвести баг по шагам, предоставленным тестировщиком, или если тестировщик составил не очень подробный репорт.

Подробнее о действиях в баг-трекере

В словесной форме (и в других баг-трекерах кроме Jira) это выглядит примерно так:

  • Дефект обнаруживается тестировщиком.
  • Тестировщик присваивает ему статус «Новый».
  • О новом дефекте тотчас узнает проджект-менеджер, который исследует ситуацию — является ли дефект действительно дефектом, стОит ли устранять сейчас и пр.
  • Если нет, дефекту присваивается статус «Отклонен».
  • Если дефект действительно существует, и стОит внимания сейчас, проджект-менеджер проверяет, является ли дефект дубликатом и если да, обозначается как дубликат.
  • Если не дубликат, дефект передается в работу разработчику, который начинает действия по устранению проблемы, с присвоением статуса «In Progress», и по завершению — «Исправлен».
  • Далее дефект возвращается в зону ответственности тестировщика под статусом «Повторно тестируется». Тестировщик снова запускает тест-кейсы, и если дефект опять проявляется, повторно открывает его и возвращает разработчику.
  • А если все хорошо, дефект закрывается, с присвоением соответствующего статуса «Закрыт».

Указания по эффективности жизненного цикла

  • Важно, чтобы все команды, участвующие в проекте, понимали этапы жизненного цикла и свою ответственность на этапах
  • Это позволит избежать недопонимания и «сваливания ответственности»
  • От тестировщиков особо требуется четкое и понятное описание сути дефекта, и почему присвоен тот или иной статус
  • От разработчиков требуется оперативнее устранять дефекты, не откладывая «на потом»

Ошибка, дефект (баг) и отказ в контексте жизненного цикла дефекта

  • Ошибка (error) — например когда разработчик видит отличие между тем как приложение себя ведет и тем как должно себя вести, в процессе разработки
  • Дефект (баг) — случается когда тестировщик обнаруживает несоответствие между реальным и предполагаемым поведением приложения в процессе тестирования
  • Отказ (failure) — несоответствие реального и предполагаемого поведения обнаруживается уже в процессе пользования приложением конечным пользователем, клиентом, или тестировщиком на этапе приемочного тестирования.

Инвалиды и дубликаты

  • Имеются в виду «невалидные» дефекты в баг-репортах, то есть те которые возникают не из-за ошибок в коде, допущенных разработчиком, а из-за некорректно работающего тестового окружения, или просто по ошибке в процессах тестирования; такой дефект считается «не валидным», не подтвержденным, поэтому отклоняется
  • Дубликат дефекта возникает, когда по этой проблеме уже открыт/заведен как минимум один дефект; дубликат закрывается
  • Над процессами в жизненном цикле дефекта надзирает тест-менеджер/старший тестировщик/лид/проджект-менеджер, в зависимости от того как в команде выстроены процессы. Присвоение статусов в конечном счете решается ими, на основе стоимости, времени и усилий, нужных на устранение дефекта
  • Также ими решается вопрос, какие присвоить приоритет и серьезность

Что еще нужно помнить о жизненном цикле багов

  • Дефекты могут возникать на любом этапе разработки и тестирования
  • Чем раньше дефект обнаружен и устранен, тем лучше (выгоднее для компании)
  • В идеале — на том же этапе, когда дефект найден (тогда «стоимость дефекта» минимальная)
  • Статическое тестирование (анализ кода без выполнения), проводимое на раннем этапе разработки, выгоднее чем дебаг на позднем

Жизненный цикл дефекта в Bugzilla (в принципе релевантно для любого багтрекера)

Жизненный цикл бага в Bugzilla
Жизненный цикл бага в Bugzilla

Сложнее, но с объяснениями:

Жизненный цикл бага с объяснениями

***

ЧТО ТАКОЕ ЖИЗНЕННЫЙ ЦИКЛ ОШИБКИ ПРИ ТЕСТИРОВАНИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, РАЗЛИЧНЫЕ ЭТАПЫ ЖИЗНЕННЫЙ ЦИКЛ ДЕФЕКТА

В этом посте мы расскажем вам все, что вам нужно знать о жизненном цикле ошибки (жизненный цикл дефекта). В предыдущем посте мы узнали, что такое тестирование программного обеспечения, жизненные циклы программного обеспечения, такие как SDLC и STLC.

Мы начнем с определения жизненного цикла ошибки и различных состояний жизни дефекта. cycle.

Определение жизненного цикла ошибки

Жизненный цикл ошибкитакже известен как жизненный цикл дефекта. В процессе разработки программного обеспечения ошибка имеет жизненный цикл. Ошибка должна пройти жизненный цикл, чтобы быть закрытой. Жизненный цикл ошибки зависит от используемых инструментов (КК, JIRA и т. д.) и процессов, которым следует организация.

Что такое программная ошибка?

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

Жизненный цикл дефекта — видеоруководство

Посмотрите видео ниже, чтобы увидеть подробное объяснение «Жизненный цикл ошибки / Жизненный цикл дефекта»

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

Если вам понравилось это видео, подпишитесь на наш канал YouTube, чтобы получать дополнительные видеоуроки.

ЧТО ТАКОЕ ЖИЗНЕННЫЙ ЦИКЛ ОШИБКИ В ТЕСТИРОВАНИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, РАЗЛИЧНЫЕ ЭТАПЫ ЖИЗНЕННОГО ЦИКЛА ДЕФЕКТА

Дефект Состояния жизненного цикла

Различные состояния ошибки в жизненном цикле ошибки программного обеспечения (sblc) следующие:

#1. Новый

Когда тестировщик находит новый дефект. Он должен предоставить надлежащий документ о дефекте команде разработчиков, чтобы воспроизвести и исправить дефект. В этом состоянии дефект, опубликованный тестировщиком, имеет статус «Новый»

#2. Назначено

Дефекты со статусом «Новый» будут одобрены (если допустимы) и переданы команде разработчиков руководителем тестирования/руководителем проекта/менеджером проекта. После назначения дефекта статус ошибки меняется на «Назначено»

#3. Открыть

Команда разработчиков начинает анализировать и работает над исправлением дефекта

#4. Исправлено

Когда разработчик вносит необходимые изменения в код и проверяет их, статус ошибки меняется на “Исправлено”, и ошибка передается группе тестирования.

#5. Тест

Если статус «Тест», это означает, что дефект исправлен и готов к тестированию независимо от того, исправлен он или нет.

#6. Проверено

Тестер повторно тестирует ошибку после того, как она была исправлена ​​разработчиком. Если в программном обеспечении не обнаружена ошибка, то ошибка исправлена ​​и присваивается статус «проверено».

#7. Закрыто

Если после проверки исправления ошибка больше не исчезает, ей будет присвоен статус «Закрыто».

#8. Повторно открыть

Если дефект остается прежним после повторного тестирования, то тестировщик регистрирует дефект с помощью документа о повторном тестировании дефекта и меняет статус на «Повторно открыть». Ошибка снова проходит жизненный цикл для исправления.

#9. Дубликат

Если дефект повторяется дважды или дефект соответствует одному и тому же понятию бага, команда разработчиков меняет статус на «дубликат».

#10. Отложено

В некоторых случаях менеджер проекта/руководитель может установить статус ошибки как отложенный.

  • Если ошибка обнаружена в конце выпуска и ошибка незначительна или не важна, ее необходимо исправить немедленно.
  • Если ошибка ошибка не связана с текущей сборкой.
  • Если ожидается, что она будет исправлена ​​в следующем выпуске.
  • Клиент думает об изменении требования.
  • В таких случаях статус будет изменен на «отложено ”, и это будет исправлено в следующем выпуске.

#11. Отклонено

Если система работает в соответствии со спецификациями, а ошибка вызвана неверным толкованием (например, ссылкой на старые требования или дополнительные функции), то руководитель группы или разработчики могут пометить такие ошибки как «Отклонено».

Некоторые другие статусы:

#12. Невозможно исправить

Технология не поддерживается, Корень проблемы с продуктом, Стоимость исправления ошибки выше

№ 13. Не воспроизводится

Несоответствие платформы, неправильный документ о дефекте, несоответствие данных, несоответствие сборки, несогласованные дефекты

#14. Требуется дополнительная информация

Если разработчик не может воспроизвести ошибку в соответствии с шагами, предоставленными тестировщиком, разработчик может изменить статус на «Требуется дополнительная информация». В этом случае тестировщику необходимо добавить подробные этапы воспроизведения и передать ошибки команде разработчиков для исправления. Этого не произойдет, если тестировщик напишет хороший документ о дефекте.

Заключение

Это все о жизненном цикле программной ошибки/жизненном цикле дефекта. Некоторые компании используют идентификаторы ошибок в RTM (матрице отслеживания требований) для сопоставления с тестовыми наборами.

Рекомендуемая литература:

  • 8 типов тестовых наборов Подлежит автоматизации
  • 8 типов тестовых случаев, которые нельзя автоматизировать
  • Как написать хороший отчет об ошибке или документ о дефекте
  • Процесс сортировки дефектов при тестировании программного обеспечения
  • Результаты тестирования при тестировании программного обеспечения
  • Что такое Атрибуты качества в архитектуре программного обеспечения

TAG: qa

Какой же путь проходит баг и какую роль в его жизненном цикле играет тестировщик? Давайте разбираться.

Ошибка, дефект, но чаще всего баг. Именно так называется то, что находят тестировщики в процессе работы.

Определение бага

Bug в переводе означает “жук, насекомое”. Первая ошибка, которая была задокументирована, возникла как раз из-за жука. В середине 40-х годов 20 века ученых Гарвардского университета вызвали для того, чтобы определить причину сбоя в работе вычислительной машины Mark II. Покопавшись в этой громадной куче приборов, соединенных проводами, они обнаружили бабочку, застрявшую между контактами электромеханического реле. Стало ясно, что именно она и явилась причиной сбоя. Одна из сотрудниц университета, Грейс Хоппер, так и сформулировала результат исследований: «неполадку вызвал баг». Извлеченное насекомое было вклеено скотчем в технический дневник, с соответствующей сопроводительной надписью. Ее, как говорят, до сих пор можно увидеть в этом журнале, хранящемся в университетском научном музее.

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

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

Баг в программе не появляется просто так, у него всегда есть источник. Например, ошибка программиста при написании кода. Дефекты встречаются, потому что люди склонны ошибаться, существует нехватка времени, сложность кода, сложность инфраструктуры, изменения технологий и/или много системных взаимодействий.

Что еще интересно, что программ, не содержащих ошибок, не бывает. По статистике на каждую тысячу строк программного кода, который пишут программисты, приходится несколько ошибок, а количество строк в сложном программном обеспечении достигает нескольких миллионов. Поэтому поиск и исправление этих ошибок – очень трудоемкое дело, составляющее до 45% всех затрат на разработку программного обеспечения.

Жизненный цикл бага

Давайте вкратце разберем каждый этап жизненного цикла

Жизненный цикл бага
Жизненный цикл бага
  1. Новый (New) — Тестировщик находит баг, локализует и вносит его в специальную систему, где хранятся баг-репорты. С этого момента баг начинает официально существовать.
    Далее его статус меняется на Отказ (Rejected) или на Назначен (Assigned).
  2. Отказ (Rejected) — пишется комментарий программиста или менеджера о причине reject-a(отклонения). Это может быть некачественное описание дефекта, такой дефект уже существует (дубликат), невозможность воспроизвести дефект. Также это может произойти потому что для заказчика какие-то ошибки перестали быть актуальными. После этого, тестировщик или закрывает дефект (Closed), или дополняет комментарии данного дефекта и переводит дефект заново в состояние Назначен(Assigned).
  3. Назначен (Assigned)— дефект просмотрен и открыт (то есть признан для исправления).
  4. Решен (Fixed) — дефект исправили и он в этом состоянии требует перепроверки тестировщиком.
  5. После проверки ошибки тестировщиком, дефект переводится в состояние Переоткрыт (Re-opened) (если дефект не исправлен или исправлен не полностью) либо в Закрыт (Closed), если ошибка исправлена.

Данную схему можно изобразить в текстовом виде. Вот несколько вариантов прохождения багов (можно просто нарисовать на листочке на собеседовании):
1. Новый (new) —> Отклонен (rejected) —> Закрыт (closed)
2. Новый (new) —> Назначен (аssigned) —> Решен (fixed) —> Закрыт (closed)
3. Новый (new) —> Назначен (аssigned) —> Решен (fixed) —> Закрыт (closed) —> Переоткрыт (re-opend)

Жизненный цикл бага с точки зрения команды

Давайте для большей наглядности рассмотрим жизненный цикл бага с точки зрения участников команды и их функций.

Жизненный цикл бага с точки зрения команды
Жизненный цикл бага с точки зрения команды

Сначала тестировщик находит баг. Далее заносит его в систему учета ошибок. После этого программист начинает изучать отчет о дефекте. Именно на этом этапе он решает баг это или нет.

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

Если баг больше не воспроизводится, то тестировщик закрывает баг.
Если баг снова воспроизводится, то мы возвращаем его программисту. И снова проходим все шаги, начиная с 3-го шага (рассмотрения проблемы программистом).

Теперь другой сценарий — разработчик не принял баг. Если баг не принят, то разработчик возвращает его нам. Наша задача — рассмотреть проблему. Если баг вернули из-за некорректного описания, то значит переписываем его. Если невозможно воспроизвести дефект, то заново проверяем все шаги, может мы что то упустили при описании. Если разработчик прав и бага нет, то мы закрываем баг. А если баг все же есть, то вносим необходимые коррективы и опять возвращаемся на шаг 3.

***

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

As we know during development of any software product the development teams follow the Software Development Life Cycle (SDLC) processes. But development process is not so easy and always runs smoothly. During the development process when product is being developed different types of defects or bugs arise with product. So these defects are identified and resolved throughout development process just to deliver a good quality software product at last. So in this article, we will discuss these bugs in software development process and how these are identified during software testing, and how these are resolved.

What is a Bug/Defect?

A defect is an error or bug in an application that is created during building or designing software and due to which software starts to show abnormal behaviors during its use. So it is one of important responsibilities of the tester to find as much as defect possible to ensure quality of product is not affected and end product is fulfilling all requirements perfectly for which it has been designed and provide required services to end-user. Because as much as defects will be identified and resolved then software will behave perfectly as per expectation.

Let’s first understand defect life cycle and after that, we will move to workflow and different states of defect.

Defect Life Cycle

In Software Development process, Defect Life Cycle is life cycle of defect or bug from which it goes through covering the specific set of states in its entire life. Mainly bug life cycle refers to its entire states starting from a new defect is detected to closing of that defect by tester. Alternatively, it is also called a Bug Life Cycle.

The journey of Defect Cycle varies from organization to organization and also from project to project because development procedures and platforms as well as testing methods and testing tools differ depending upon organizations and projects. The number of states that defect goes through also varies depending upon the different tools used and process followed during testing of software.

Workflow of Defect/Bug Life Cycle –

The below diagram illustrates actual workflow of Defect Life Cycle.

The above diagram shows different states of Defect in Defect Life Cycle and these are as follows :

1. NEW –

When any new defect is identified by tester, it falls in ‘New’ state. It is first state of Bug Life Cycle. The tester provides a proper Defect document to Development team so that development team can refer to Defect Document and can fix bug accordingly.

2. ASSIGNED –

Defects which are in status of ‘New’ will be approved and that newly identified defect is assigned to the development team for working on defect and to resolve that. When the defect is assigned to developer team then status of bug changes to ‘Assigned’ state.

3. OPEN –

In this ‘Open’ state the defect is being addressed by developer team and developer team works on the defect for fixing the bug. Based on some specific reason if developer team feels that defect is not appropriate then it is transferred to either ‘Rejected’ or ‘Deferred’ state.

4. FIXED –

After necessary changes of codes or after fixing identified bug developer team marks state as ‘Fixed’.

5. PENDING RETEST –

During the fixing of defect is completed, developer team passes new code to testing team for retest. And the code/application is pending for retesting at Tester side so status is assigned as ‘Pending Retest’.

6. RETEST –

At this stage, tester starts work of retesting defect to check whether defect is fixed by developer or not, and the status is marked as ‘Retesting’.

7. REOPEN –

After ‘Retesting’ if tester team found that bug continues like previously even after developer team has fixed the bug, then status of bug is again changed to ‘Reopened’. Once again bug goes to ‘Open’ state and goes through life cycle again. This means it goes for Re-fixing by the developer team.

8. VERIFIED –

The tester re-tests bug after it got fixed by developer team and if tester does not find any kind of defect/bug then bug is fixed and status assigned is ‘Verified’.

9. CLOSED –

It is the final state of Defect Cycle, after fixing defect by developer team when testing found that the bug has been resolved and it does not persist then they mark defect as a ‘Closed’ state.

Few More States that also comes under this Defect Life Cycle –

1. REJECTED –

If the developer team rejects defect if they feel that defect is not considered as a genuine defect, and then they mark status as ‘Rejected’. The cause of rejection may be any of these three i.e Duplicate Defect, NOT a Defect, Non-Reproducible.

2. DEFERRED –

All defects have their bad impact on developed software and also they have a level based on his impact on software. If the developer team feels that defect that is identified is not a prime priority and it can get fixed in further updates or releases then developer team can mark status as ‘Deferred’. Means from current defect life cycle it will be terminated.

3. DUPLICATE –

Some times it may happen that defect is repeated twice or defect is same as any other defect then it is marked as ‘Duplicate’ state and then defect is ‘Rejected’.

4. NOT A DEFECT –

If the defect has no impact or effect on other functions of the software then it is marked as ‘NOT A DEFECT’ state and ‘Rejected’.

5. NON-REPRODUCIBLE –

If the defect is not reproduced due to platform mismatch, data mismatch, build mismatch, or any other reason then developer marks defect as in a ‘Non-Reproducible’ state.

6. CAN’T BE FIXED –

If the developer team fails to fix defect due to Technology support, Cost of fixing bug is more, lack of required skill or due to any other reasons then developer team marks defect as in ‘Can’t be fixed’ state.

7. NEED MORE INFORMATION –

This state is very close to ‘Non-reproducible’ state. But it is different from that. When the developer team fails to reproduce defect due to steps/document provided by tester is insufficient or Defect Document is not so clear to reproduce defect then developer team can change status as “Need more information’. When the Tester team provides a good defect document then developer team proceeds to fix the bug.

Advantages of following a Defect Life Cycle :

  • Deliver High-Quality Product
  • Improve Return on Investment (ROI) by Reducing the Cost of Development
  • Better Communication, Teamwork and Connectivity
  • Detect Issues Earlier and Understand Defect Trends
  • Better Service and Customer Satisfaction

Difficulties in Defect Life Cycle :

  • Variations of the Bug Life Cycle
  • No Control on Test Environment

Last Updated :
11 Nov, 2020

Like Article

Save Article

Какой же путь проходит баг и какую роль в его жизненном цикле играет тестировщик? Давайте разбираться.

Ошибка, дефект, но чаще всего баг. Именно так называется то, что находят тестировщики в процессе работы.

Определение бага

Bug в переводе означает “жук, насекомое”. Первая ошибка, которая была задокументирована, возникла как раз из-за жука. В середине 40-х годов 20 века ученых Гарвардского университета вызвали для того, чтобы определить причину сбоя в работе вычислительной машины Mark II. Покопавшись в этой громадной куче приборов, соединенных проводами, они обнаружили бабочку, застрявшую между контактами электромеханического реле. Стало ясно, что именно она и явилась причиной сбоя. Одна из сотрудниц университета, Грейс Хоппер, так и сформулировала результат исследований: «неполадку вызвал баг». Извлеченное насекомое было вклеено скотчем в технический дневник, с соответствующей сопроводительной надписью. Ее, как говорят, до сих пор можно увидеть в этом журнале, хранящемся в университетском научном музее.

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

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

Баг в программе не появляется просто так, у него всегда есть источник. Например, ошибка программиста при написании кода. Дефекты встречаются, потому что люди склонны ошибаться, существует нехватка времени, сложность кода, сложность инфраструктуры, изменения технологий и/или много системных взаимодействий.

Что еще интересно, что программ, не содержащих ошибок, не бывает. По статистике на каждую тысячу строк программного кода, который пишут программисты, приходится несколько ошибок, а количество строк в сложном программном обеспечении достигает нескольких миллионов. Поэтому поиск и исправление этих ошибок – очень трудоемкое дело, составляющее до 45% всех затрат на разработку программного обеспечения.

Жизненный цикл бага

Давайте вкратце разберем каждый этап жизненного цикла

Жизненный цикл бага

Жизненный цикл бага
  1. Новый (New) — Тестировщик находит баг, локализует и вносит его в специальную систему, где хранятся баг-репорты. С этого момента баг начинает официально существовать.
    Далее его статус меняется на Отказ (Rejected) или на Назначен (Assigned).
  2. Отказ (Rejected) — пишется комментарий программиста или менеджера о причине reject-a(отклонения). Это может быть некачественное описание дефекта, такой дефект уже существует (дубликат), невозможность воспроизвести дефект. Также это может произойти потому что для заказчика какие-то ошибки перестали быть актуальными. После этого, тестировщик или закрывает дефект (Closed), или дополняет комментарии данного дефекта и переводит дефект заново в состояние Назначен(Assigned).
  3. Назначен (Assigned)— дефект просмотрен и открыт (то есть признан для исправления).
  4. Решен (Fixed) — дефект исправили и он в этом состоянии требует перепроверки тестировщиком.
  5. После проверки ошибки тестировщиком, дефект переводится в состояние Переоткрыт (Re-opened) (если дефект не исправлен или исправлен не полностью) либо в Закрыт (Closed), если ошибка исправлена.

Данную схему можно изобразить в текстовом виде. Вот несколько вариантов прохождения багов (можно просто нарисовать на листочке на собеседовании):
1. Новый (new) —> Отклонен (rejected) —> Закрыт (closed)
2. Новый (new) —> Назначен (аssigned) —> Решен (fixed) —> Закрыт (closed)
3. Новый (new) —> Назначен (аssigned) —> Решен (fixed) —> Закрыт (closed) —> Переоткрыт (re-opend)

Жизненный цикл бага с точки зрения команды

Давайте для большей наглядности рассмотрим жизненный цикл бага с точки зрения участников команды и их функций.

Жизненный цикл бага с точки зрения команды

Жизненный цикл бага с точки зрения команды

Сначала тестировщик находит баг. Далее заносит его в систему учета ошибок. После этого программист начинает изучать отчет о дефекте. Именно на этом этапе он решает баг это или нет.

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

Если баг больше не воспроизводится, то тестировщик закрывает баг.
Если баг снова воспроизводится, то мы возвращаем его программисту. И снова проходим все шаги, начиная с 3-го шага (рассмотрения проблемы программистом).

Теперь другой сценарий — разработчик не принял баг. Если баг не принят, то разработчик возвращает его нам. Наша задача — рассмотреть проблему. Если баг вернули из-за некорректного описания, то значит переписываем его. Если невозможно воспроизвести дефект, то заново проверяем все шаги, может мы что то упустили при описании. Если разработчик прав и бага нет, то мы закрываем баг. А если баг все же есть, то вносим необходимые коррективы и опять возвращаемся на шаг 3.

***

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

Software testing is the process of testing and verifying that a software product or application is doing what it is supposed to do. The benefits of testing include preventing distractions, reducing development costs, and improving performance. There are many different types of software testing, each with specific goals and strategies. Some of them are below:

  1. Acceptance Testing: Ensuring that the whole system works as intended.
  2. Integration Testing: Ensuring that software components or functions work together.
  3. Unit Testing: To ensure that each software unit is operating as expected. The unit is a testable component of the application.
  4. Functional Testing: Evaluating activities by imitating business conditions, based on operational requirements. Checking the black box is a common way to confirm tasks.
  5. Performance Testing: A test of how the software works under various operating loads. Load testing, for example, is used to assess performance under real-life load conditions.
  6. Re-Testing: To test whether new features are broken or degraded. Hygiene checks can be used to verify menus, functions, and commands at the highest level when there is no time for a full reversal test.

What is a Bug?

A malfunction in the software/system is an error that may cause components or the system to fail to perform its required functions. In other words, if an error is encountered during the test it can cause malfunction. For example, incorrect data description, statements, input data, design, etc.

Reasons Why Bugs Occur?

1. Lack of Communication: This is a key factor contributing to the development of software bug fixes. Thus, a lack of clarity in communication can lead to misunderstandings of what the software should or should not do. In many cases, the customer may not fully understand how the product should ultimately work. This is especially true if the software is designed for a completely new product. Such situations often lead to many misinterpretations from both sides.

2. Repeated Definitions Required: Constantly changing software requirements creates confusion and pressure in both software development and testing teams. Usually, adding a new feature or deleting an existing feature can be linked to other modules or software components. Observing such problems causes software interruptions.

3. Policy Framework Does Not Exist: Also, debugging a software component/software component may appear in a different or similar component. Lack of foresight can cause serious problems and increase the number of distractions. This is one of the biggest problems because of what interruptions occur as engineers are often under pressure related to timelines; constantly changing needs, increasing the number of distractions, etc. Addition, Design and redesign, UI integration, module integration, database management all add to the complexity of the software and the system as a whole.

4. Performance Errors: Significant problems with software design and architecture can cause problems for systems. Improved software tends to make mistakes as programmers can also make mistakes. As a test tester, data/announcement reference errors, control flow errors, parameter errors, input/output errors, etc.

5. Lots of Recycling: Resetting resources, redoing or discarding a finished work, changes in hardware/software requirements may also affect the software. Assigning a new developer to a project in the middle of nowhere can cause software interruptions. This can happen if proper coding standards are not followed, incorrect coding, inaccurate data transfer, etc. Discarding part of existing code may leave traces on other parts of the software; Ignoring or deleting that code may cause software interruptions. In addition, critical bugs can occur especially with large projects, as it becomes difficult to pinpoint the location of the problem.

Life Cycle of a Bug in Software Testing

Below are the steps in the lifecycle of the bug in software testing:

  1. Open: The editor begins the process of analyzing bugs here, where possible, and works to fix them. If the editor thinks the error is not enough, the error for some reason can be transferred to the next four regions, Reject or No, i.e. Repeat.
  2. New: This is the first stage of the distortion of distractions in the life cycle of the disorder. In the later stages of the bug’s life cycle, confirmation and testing are performed on these bugs when a new feature is discovered.
  3. Shared: The engineering team has been provided with a new bug fixer recently built at this level. This will be sent to the designer by the project leader or team manager.
  4. Pending Review: When fixing an error, the designer will give the inspector an error check and the feature status will remain pending ‘review’ until the tester is working on the error check.
  5. Fixed: If the Developer completes the debugging task by making the necessary changes, the feature status can be called “Fixed.”
  6. Confirmed: If the tester had no problem with the feature after the designer was given the feature on the test device and thought that if it was properly adjusted, the feature status was given “verified”.
  7. Open again / Reopen: If there is still an error, the editor will then be instructed to check and the feature status will be re-opened.
  8. Closed: If the error is not present, the tester changes the status of the feature to ‘Off’.
  9. Check Again: The inspector then begins the process of reviewing the error to check that the error has been corrected by the engineer as required.
  10. Repeat: If the engineer is considering a factor similar to another factor. If the developer considers a feature similar to another feature, or if the definition of malfunction coincides with any other malfunction, the status of the feature is changed by the developer to ‘duplicate’.

Few more stages to add here are:

  1. Rejected: If a feature can be considered a real factor the developer will mean “Rejected” developer.
  2. Duplicate: If the engineer finds a feature similar to any other feature or if the concept of the malfunction is similar to any other feature the status of the feature is changed to ‘Duplicate’ by the developer.
  3. Postponed: If the developer feels that the feature is not very important and can be corrected in the next release, however, in that case, he can change the status of the feature such as ‘Postponed’.
  4. Not a Bug: If the feature does not affect the performance of the application, the corrupt state is changed to “Not a Bug”.

Bug lifecycle

Fig 1.1 Diagram of Bug Life Cycle

Bug Report

  1. Defect/ Bug Name: A short headline describing the defect. It should be specific and accurate.
  2. Defect/Bug ID: Unique identification number for the defect.
  3. Defect Description: Detailed description of the bug including the information of the module in which it was detected. It contains a detailed summary including the severity, priority, expected results vs actual output, etc.
  4. Severity: This describes the impact of the defect on the application under test.
  5. Priority: This is related to how urgent it is to fix the defect. Priority can be High/ Medium/ Low based on the impact urgency at which the defect should be fixed.
  6. Reported By: Name/ ID of the tester who reported the bug.
  7. Reported On: Date when the defect is raised.
  8. Steps: These include detailed steps along with the screenshots with which the developer can reproduce the same defect.
  9. Status: New/ Open/ Active
  10. Fixed By: Name/ ID of the developer who fixed the defect.
  11. Data Closed: Date when the defect is closed.

Factors to be Considered while Reporting a Bug:

  1. The whole team should clearly understand the different conditions of the trauma before starting research on the life cycle of the disability.
  2. To prevent future confusion, a flawed life cycle should be well documented.
  3. Make sure everyone who has any work related to the Default Life Cycle understands his or her best results work very clearly.
  4. Everyone who changes the status quo should be aware of the situation which should provide sufficient information about the nature of the feature and the reason for it so that everyone working on that feature can easily see the reason for that feature.
  5. A feature tracking tool should be carefully handled in the course of a defective life cycle work to ensure consistency between errors.

Bug Tracking Tools

Below are some of the bug tracking tools–

1. KATALON TESTOPS: Katalon TestOps is a free, powerful orchestration platform that helps with your process of tracking bugs. TestOps provides testing teams and DevOps teams with a clear, linked picture of their testing, resources, and locations to launch the right test, in the right place, at the right time.

Features:

  • Applies to Cloud, Desktop: Window and Linux program.
  • Compatible with almost all test frames available: Jasmine, JUnit, Pytest, Mocha, etc .; CI / CD tools: Jenkins, CircleCI, and management platforms: Jira, Slack.
  • Track real-time data for error correction, and for accuracy.
  • Live and complete performance test reports to determine the cause of any problems.
  • Plan well with Smart Scheduling to prepare for the test cycle while maintaining high quality.
  • Rate release readiness to improve release confidence.
  • Improve collaboration and enhance transparency with comments, dashboards, KPI tracking, possible details – all in one place.

2. KUALITEE: Collection of specific results and analysis with solid failure analysis in any framework. The Kualitee is for development and QA teams look beyond the allocation and tracking of bugs. It allows you to build high-quality software using tiny bugs, fast QA cycles, and better control of your build. The comprehensive suite combines all the functions of a good error management tool and has a test case and flow of test work built into it seamlessly. You would not need to combine and match different tools; instead, you can manage all your tests in one place.

Features:

  • Create, assign, and track errors.
  • Tracing between disability, needs, and testing.
  • Easy-to-use errors, test cases, and test cycles.
  • Custom permissions, fields, and reporting.
  • Interactive and informative dashboard.
  • Integration of external companies and REST API.
  • An intuitive and easy-to-use interface.

3. QA Coverage: QACoverage is the place to go for successfully managing all your testing processes so that you can produce high-quality and trouble-free products. It has a disability control module that will allow you to manage errors from the first diagnostic phase until closed. The error tracking process can be customized and tailored to the needs of each client. In addition to negative tracking, QACoverage has the ability to track risks, issues, enhancements, suggestions, and recommendations. It also has full capabilities for complex test management solutions that include needs management, test case design, test case issuance, and reporting.

Features:

  1. Control the overall workflow of a variety of Tickets including risk, issues, tasks, and development management.
  2. Produce complete metrics to identify the causes and levels of difficulty.
  3. Support a variety of information that supports the feature with email attachments.
  4. Create and set up a workflow for enhanced test visibility with automatic notifications.
  5. Photo reports based on difficulty, importance, type of malfunction, disability category, expected correction date, and much more.

4. BUG HERD: BugHerd is an easy way to track bugs, collect and manage webpage responses. Your team and customers search for feedback on web pages, so they can find the exact problem. BugHerd also scans the information you need to replicate and resolve bugs quickly, such as browser, CSS selector data, operating system, and screenshot. Distractions and feedback, as well as technical information, are submitted to the Kanban Style Task Board, where distractions can be assigned and managed until they are eliminated. BugHerd can also integrate with your existing project management tools, helping to keep your team on the same page with bug fixes.

Software testing is the process of testing and verifying that a software product or application is doing what it is supposed to do. The benefits of testing include preventing distractions, reducing development costs, and improving performance. There are many different types of software testing, each with specific goals and strategies. Some of them are below:

  1. Acceptance Testing: Ensuring that the whole system works as intended.
  2. Integration Testing: Ensuring that software components or functions work together.
  3. Unit Testing: To ensure that each software unit is operating as expected. The unit is a testable component of the application.
  4. Functional Testing: Evaluating activities by imitating business conditions, based on operational requirements. Checking the black box is a common way to confirm tasks.
  5. Performance Testing: A test of how the software works under various operating loads. Load testing, for example, is used to assess performance under real-life load conditions.
  6. Re-Testing: To test whether new features are broken or degraded. Hygiene checks can be used to verify menus, functions, and commands at the highest level when there is no time for a full reversal test.

What is a Bug?

A malfunction in the software/system is an error that may cause components or the system to fail to perform its required functions. In other words, if an error is encountered during the test it can cause malfunction. For example, incorrect data description, statements, input data, design, etc.

Reasons Why Bugs Occur?

1. Lack of Communication: This is a key factor contributing to the development of software bug fixes. Thus, a lack of clarity in communication can lead to misunderstandings of what the software should or should not do. In many cases, the customer may not fully understand how the product should ultimately work. This is especially true if the software is designed for a completely new product. Such situations often lead to many misinterpretations from both sides.

2. Repeated Definitions Required: Constantly changing software requirements creates confusion and pressure in both software development and testing teams. Usually, adding a new feature or deleting an existing feature can be linked to other modules or software components. Observing such problems causes software interruptions.

3. Policy Framework Does Not Exist: Also, debugging a software component/software component may appear in a different or similar component. Lack of foresight can cause serious problems and increase the number of distractions. This is one of the biggest problems because of what interruptions occur as engineers are often under pressure related to timelines; constantly changing needs, increasing the number of distractions, etc. Addition, Design and redesign, UI integration, module integration, database management all add to the complexity of the software and the system as a whole.

4. Performance Errors: Significant problems with software design and architecture can cause problems for systems. Improved software tends to make mistakes as programmers can also make mistakes. As a test tester, data/announcement reference errors, control flow errors, parameter errors, input/output errors, etc.

5. Lots of Recycling: Resetting resources, redoing or discarding a finished work, changes in hardware/software requirements may also affect the software. Assigning a new developer to a project in the middle of nowhere can cause software interruptions. This can happen if proper coding standards are not followed, incorrect coding, inaccurate data transfer, etc. Discarding part of existing code may leave traces on other parts of the software; Ignoring or deleting that code may cause software interruptions. In addition, critical bugs can occur especially with large projects, as it becomes difficult to pinpoint the location of the problem.

Life Cycle of a Bug in Software Testing

Below are the steps in the lifecycle of the bug in software testing:

  1. Open: The editor begins the process of analyzing bugs here, where possible, and works to fix them. If the editor thinks the error is not enough, the error for some reason can be transferred to the next four regions, Reject or No, i.e. Repeat.
  2. New: This is the first stage of the distortion of distractions in the life cycle of the disorder. In the later stages of the bug’s life cycle, confirmation and testing are performed on these bugs when a new feature is discovered.
  3. Shared: The engineering team has been provided with a new bug fixer recently built at this level. This will be sent to the designer by the project leader or team manager.
  4. Pending Review: When fixing an error, the designer will give the inspector an error check and the feature status will remain pending ‘review’ until the tester is working on the error check.
  5. Fixed: If the Developer completes the debugging task by making the necessary changes, the feature status can be called “Fixed.”
  6. Confirmed: If the tester had no problem with the feature after the designer was given the feature on the test device and thought that if it was properly adjusted, the feature status was given “verified”.
  7. Open again / Reopen: If there is still an error, the editor will then be instructed to check and the feature status will be re-opened.
  8. Closed: If the error is not present, the tester changes the status of the feature to ‘Off’.
  9. Check Again: The inspector then begins the process of reviewing the error to check that the error has been corrected by the engineer as required.
  10. Repeat: If the engineer is considering a factor similar to another factor. If the developer considers a feature similar to another feature, or if the definition of malfunction coincides with any other malfunction, the status of the feature is changed by the developer to ‘duplicate’.

Few more stages to add here are:

  1. Rejected: If a feature can be considered a real factor the developer will mean “Rejected” developer.
  2. Duplicate: If the engineer finds a feature similar to any other feature or if the concept of the malfunction is similar to any other feature the status of the feature is changed to ‘Duplicate’ by the developer.
  3. Postponed: If the developer feels that the feature is not very important and can be corrected in the next release, however, in that case, he can change the status of the feature such as ‘Postponed’.
  4. Not a Bug: If the feature does not affect the performance of the application, the corrupt state is changed to “Not a Bug”.

Bug lifecycle

Fig 1.1 Diagram of Bug Life Cycle

Bug Report

  1. Defect/ Bug Name: A short headline describing the defect. It should be specific and accurate.
  2. Defect/Bug ID: Unique identification number for the defect.
  3. Defect Description: Detailed description of the bug including the information of the module in which it was detected. It contains a detailed summary including the severity, priority, expected results vs actual output, etc.
  4. Severity: This describes the impact of the defect on the application under test.
  5. Priority: This is related to how urgent it is to fix the defect. Priority can be High/ Medium/ Low based on the impact urgency at which the defect should be fixed.
  6. Reported By: Name/ ID of the tester who reported the bug.
  7. Reported On: Date when the defect is raised.
  8. Steps: These include detailed steps along with the screenshots with which the developer can reproduce the same defect.
  9. Status: New/ Open/ Active
  10. Fixed By: Name/ ID of the developer who fixed the defect.
  11. Data Closed: Date when the defect is closed.

Factors to be Considered while Reporting a Bug:

  1. The whole team should clearly understand the different conditions of the trauma before starting research on the life cycle of the disability.
  2. To prevent future confusion, a flawed life cycle should be well documented.
  3. Make sure everyone who has any work related to the Default Life Cycle understands his or her best results work very clearly.
  4. Everyone who changes the status quo should be aware of the situation which should provide sufficient information about the nature of the feature and the reason for it so that everyone working on that feature can easily see the reason for that feature.
  5. A feature tracking tool should be carefully handled in the course of a defective life cycle work to ensure consistency between errors.

Bug Tracking Tools

Below are some of the bug tracking tools–

1. KATALON TESTOPS: Katalon TestOps is a free, powerful orchestration platform that helps with your process of tracking bugs. TestOps provides testing teams and DevOps teams with a clear, linked picture of their testing, resources, and locations to launch the right test, in the right place, at the right time.

Features:

  • Applies to Cloud, Desktop: Window and Linux program.
  • Compatible with almost all test frames available: Jasmine, JUnit, Pytest, Mocha, etc .; CI / CD tools: Jenkins, CircleCI, and management platforms: Jira, Slack.
  • Track real-time data for error correction, and for accuracy.
  • Live and complete performance test reports to determine the cause of any problems.
  • Plan well with Smart Scheduling to prepare for the test cycle while maintaining high quality.
  • Rate release readiness to improve release confidence.
  • Improve collaboration and enhance transparency with comments, dashboards, KPI tracking, possible details – all in one place.

2. KUALITEE: Collection of specific results and analysis with solid failure analysis in any framework. The Kualitee is for development and QA teams look beyond the allocation and tracking of bugs. It allows you to build high-quality software using tiny bugs, fast QA cycles, and better control of your build. The comprehensive suite combines all the functions of a good error management tool and has a test case and flow of test work built into it seamlessly. You would not need to combine and match different tools; instead, you can manage all your tests in one place.

Features:

  • Create, assign, and track errors.
  • Tracing between disability, needs, and testing.
  • Easy-to-use errors, test cases, and test cycles.
  • Custom permissions, fields, and reporting.
  • Interactive and informative dashboard.
  • Integration of external companies and REST API.
  • An intuitive and easy-to-use interface.

3. QA Coverage: QACoverage is the place to go for successfully managing all your testing processes so that you can produce high-quality and trouble-free products. It has a disability control module that will allow you to manage errors from the first diagnostic phase until closed. The error tracking process can be customized and tailored to the needs of each client. In addition to negative tracking, QACoverage has the ability to track risks, issues, enhancements, suggestions, and recommendations. It also has full capabilities for complex test management solutions that include needs management, test case design, test case issuance, and reporting.

Features:

  1. Control the overall workflow of a variety of Tickets including risk, issues, tasks, and development management.
  2. Produce complete metrics to identify the causes and levels of difficulty.
  3. Support a variety of information that supports the feature with email attachments.
  4. Create and set up a workflow for enhanced test visibility with automatic notifications.
  5. Photo reports based on difficulty, importance, type of malfunction, disability category, expected correction date, and much more.

4. BUG HERD: BugHerd is an easy way to track bugs, collect and manage webpage responses. Your team and customers search for feedback on web pages, so they can find the exact problem. BugHerd also scans the information you need to replicate and resolve bugs quickly, such as browser, CSS selector data, operating system, and screenshot. Distractions and feedback, as well as technical information, are submitted to the Kanban Style Task Board, where distractions can be assigned and managed until they are eliminated. BugHerd can also integrate with your existing project management tools, helping to keep your team on the same page with bug fixes.

ЧТО ТАКОЕ ЖИЗНЕННЫЙ ЦИКЛ ОШИБКИ ПРИ ТЕСТИРОВАНИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, РАЗЛИЧНЫЕ ЭТАПЫ ЖИЗНЕННЫЙ ЦИКЛ ДЕФЕКТА

В этом посте мы расскажем вам все, что вам нужно знать о жизненном цикле ошибки (жизненный цикл дефекта). В предыдущем посте мы узнали, что такое тестирование программного обеспечения, жизненные циклы программного обеспечения, такие как SDLC и STLC.

Мы начнем с определения жизненного цикла ошибки и различных состояний жизни дефекта. cycle.

Определение жизненного цикла ошибки

Жизненный цикл ошибкитакже известен как жизненный цикл дефекта. В процессе разработки программного обеспечения ошибка имеет жизненный цикл. Ошибка должна пройти жизненный цикл, чтобы быть закрытой. Жизненный цикл ошибки зависит от используемых инструментов (КК, JIRA и т. д.) и процессов, которым следует организация.

Что такое программная ошибка?

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

Жизненный цикл дефекта — видеоруководство

Посмотрите видео ниже, чтобы увидеть подробное объяснение «Жизненный цикл ошибки / Жизненный цикл дефекта»

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

Если вам понравилось это видео, подпишитесь на наш канал YouTube, чтобы получать дополнительные видеоуроки.

Дефект Состояния жизненного цикла

Различные состояния ошибки в жизненном цикле ошибки программного обеспечения (sblc) следующие:

#1. Новый

Когда тестировщик находит новый дефект. Он должен предоставить надлежащий документ о дефекте команде разработчиков, чтобы воспроизвести и исправить дефект. В этом состоянии дефект, опубликованный тестировщиком, имеет статус «Новый»

#2. Назначено

Дефекты со статусом «Новый» будут одобрены (если допустимы) и переданы команде разработчиков руководителем тестирования/руководителем проекта/менеджером проекта. После назначения дефекта статус ошибки меняется на «Назначено»

#3. Открыть

Команда разработчиков начинает анализировать и работает над исправлением дефекта

#4. Исправлено

Когда разработчик вносит необходимые изменения в код и проверяет их, статус ошибки меняется на “Исправлено”, и ошибка передается группе тестирования.

#5. Тест

Если статус «Тест», это означает, что дефект исправлен и готов к тестированию независимо от того, исправлен он или нет.

#6. Проверено

Тестер повторно тестирует ошибку после того, как она была исправлена ​​разработчиком. Если в программном обеспечении не обнаружена ошибка, то ошибка исправлена ​​и присваивается статус «проверено».

#7. Закрыто

Если после проверки исправления ошибка больше не исчезает, ей будет присвоен статус «Закрыто».

#8. Повторно открыть

Если дефект остается прежним после повторного тестирования, то тестировщик регистрирует дефект с помощью документа о повторном тестировании дефекта и меняет статус на «Повторно открыть». Ошибка снова проходит жизненный цикл для исправления.

#9. Дубликат

Если дефект повторяется дважды или дефект соответствует одному и тому же понятию бага, команда разработчиков меняет статус на «дубликат».

#10. Отложено

В некоторых случаях менеджер проекта/руководитель может установить статус ошибки как отложенный.

  • Если ошибка обнаружена в конце выпуска и ошибка незначительна или не важна, ее необходимо исправить немедленно.
  • Если ошибка ошибка не связана с текущей сборкой.
  • Если ожидается, что она будет исправлена ​​в следующем выпуске.
  • Клиент думает об изменении требования.
  • В таких случаях статус будет изменен на «отложено ”, и это будет исправлено в следующем выпуске.

#11. Отклонено

Если система работает в соответствии со спецификациями, а ошибка вызвана неверным толкованием (например, ссылкой на старые требования или дополнительные функции), то руководитель группы или разработчики могут пометить такие ошибки как «Отклонено».

Некоторые другие статусы:

#12. Невозможно исправить

Технология не поддерживается, Корень проблемы с продуктом, Стоимость исправления ошибки выше

№ 13. Не воспроизводится

Несоответствие платформы, неправильный документ о дефекте, несоответствие данных, несоответствие сборки, несогласованные дефекты

#14. Требуется дополнительная информация

Если разработчик не может воспроизвести ошибку в соответствии с шагами, предоставленными тестировщиком, разработчик может изменить статус на «Требуется дополнительная информация». В этом случае тестировщику необходимо добавить подробные этапы воспроизведения и передать ошибки команде разработчиков для исправления. Этого не произойдет, если тестировщик напишет хороший документ о дефекте.

Заключение

Это все о жизненном цикле программной ошибки/жизненном цикле дефекта. Некоторые компании используют идентификаторы ошибок в RTM (матрице отслеживания требований) для сопоставления с тестовыми наборами.

Рекомендуемая литература:

  • 8 типов тестовых наборов Подлежит автоматизации
  • 8 типов тестовых случаев, которые нельзя автоматизировать
  • Как написать хороший отчет об ошибке или документ о дефекте
  • Процесс сортировки дефектов при тестировании программного обеспечения
  • Результаты тестирования при тестировании программного обеспечения
  • Что такое Атрибуты качества в архитектуре программного обеспечения

TAG: qa

Возможно, вам также будет интересно:

  • Что такое ошибка жесткого диска 301
  • Что такое ошибка есп на форд фокус 2
  • Что такое ошибка ерс на тигуане
  • Что такое ошибка ерор 5
  • Что такое ошибка епс в автомобиле

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии