Жизненный цикл бага (дефекта) в тестировании программного обеспечения – это определенный набор состояний, через которые проходит баг в течение всей своей жизни. Цель жизненного цикла бага – в координации работы с багом и легкой передаче его текущего статуса различным ответственным лицам.
Статус бага в его жизненном цикле – это текущее состояние, в котором находится баг. Назначение багам статуса позволяет лучше отслеживать фактический прогресс их жизненного цикла. Это делает процесс устранения бага системным и эффективным.
Смена состояний бага
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туторилов, задач по автоматизации и книг по QA.
Количество состояний, через которые проходит баг, варьируется от проекта к проекту. Приведенная ниже диаграмма жизненного цикла охватывает все возможные состояния:
- Новый (New). Баг регистрируется и публикуется в первый раз.
- Назначен (Assigned). После того как тестировщик опубликует баг, ведущий тестировщик утверждает его и передает команде разработчиков.
- Открыт (Open). Разработчик приступает к анализу и работает над устранением дефекта.
- Исправлен (Fixed). Когда разработчик внесет необходимые правки в код и проверит изменения, он может поменять статус бага на “Исправлен”.
- Ожидает повторного тестирования (Pending Retest). Как только дефект исправлен, разработчик передает код на повторное тестирование. Поскольку на этом этапе тестировщик еще не завершил тестирование, присваивается статус “Ожидает повторного тестирования”.
- Повторное тестирование (Retest). На этом этапе тестировщик проводит повторное тестирование кода, чтобы проверить, исправлен ли дефект разработчиком, и меняет статус на “Повторное тестирование”.
- Проверено (Verified). Тестировщик повторно проверяет баг после внесенных разработчиком правок. Если в программе не обнаружено ошибок, то баг исправлен, и ему присваивается статус “Проверено”.
- Повторное открыт (ReOpened). Если после внесенных разработчиком исправлений баг не исчез, тестировщик меняет его статус на “Повторно открыт”. После этого баг снова проходит через весь жизненный цикл.
- Закрыт (Closed). Если бага больше не существует, тестировщик присваивает ему статус “Закрыт”.
- Дубликат (Duplicate). Если дефект повторяется дважды или соответствует концепции другого бага, ему присваивается статус “Дубликат”.
- Отклонен (Rejected). Если разработчик считает, что дефект не является подлинным, то он меняет его статус на “Отклонен”.
- Отложен (Deffered). Если данный баг не является приоритетным и если ожидается, что он будет исправлен в следующем релизе, то такому багу присваивается статус “Отложен”.
- Не баг (Not a Bug). Если баг не влияет на функциональность приложения, то ему присваивается статус “Не баг”.
Объяснение жизненного цикла бага
- Тестировщик находит баг.
- Статус, присвоенный багу – “Новый”.
- Баг передается менеджеру проекта для анализа.
- Менеджер проекта решает, является ли баг действительным.
- Здесь баг недействителен – менеджер проекта присваивает багу статус “Отклонен”.
- Если баг не отклонен, то следующим шагом будет проверка того, находится ли он в области действия. Предположим, у нас есть еще одна фича – функционал электронной почты для того же приложения, и вы обнаружили проблему с ней. Но она не является частью текущего релиза. Таким дефектам присваивается статус отложенных.
- Далее менеджер проверяет, не публиковался ли подобный баг ранее. Если да, ему присваивается статус дубликата.
- Если нет, баг назначается разработчику, который приступает к исправлению кода. На этом этапе багу присваивается статус “В процессе”.
- Исправив код, разработчик присваивает багу статус “Исправлен”.
- Далее тестировщик повторно тестирует код. В случае, если тест-кейс проходит, дефект закрывается. Если тест-кейсы снова не работают, дефект снова открывается и передается разработчику.
- Представьте, что во время первого релиза системы бронирования авиабилетов был обнаружен баг в заказе факса, который был исправлен и получил статус закрытого. Во время второго релиза тот же баг снова всплыл на поверхность. В таких случаях закрытый баг будет снова открыт.
Жизненный цикл бага на примере
В данном видеоролике на примере рассматриваются различные этапы жизненного цикла бага.
Перевод статьи Thomas Hamilton «Defect/Bug Life Cycle in Software Testing».
Пингбэк: Баги: всё, что QA-специалист должен знать о них
Пингбэк: 4 вопроса на собеседовании по QA, которые вам обязательно зададут