По определению баг — это дефект в компоненте или системе программного обеспечения, который может стать причиной невозможности выполнения нужной функции или ее неправильной работы. Например, ошибочное определение данных в коде способно привести к отказам компонента, и задача QA-инженера своевременно обнаружить этот изъян и правильно его задокументировать.
В зависимости от влияния, которое баги оказывают на общее функционирование программы, их разделяют на разные уровни критичности:
- S1 – Блокирующий (Blocker). Баг полностью блокирует выполнение программы, и не существует способа его обойти. Для понимания, можно привести пример из реальной жизни — все выходы из дома закрыты, и вы никак не можете покинуть помещение.
- S2 – Критический (Critical). Дефект блокирует часть функционала, при этом существует способ его обойти. Рассмотрим пример по аналогии с предыдущим: входная дверь дома закрыта, однако вы можете покинуть помещение через окно. Допустимо, но на практике нерационально и неприемлемо для нового ПО.
- S3 – Значительный (Major). Блокирует работу одной из основных логических цепочек программного обеспечения. Зачастую такой баг связан не с тем, что функция не работает, а с тем, что она работает не так как нужно.
-
S4 – Незначительный (Minor). Баг не влияет на функционирование основной логики программного обеспечения. С ним все работает корректно, без значительной потери качества. В качестве примера можно привести входную дверь с надписью «на себя», которая в реальности открывается в другую сторону.
-
S5 – Тривиальный (Trivial). Такой дефект никак не влияет на работу приложения, и чаще всего остается незаметным для конечного пользователя. Это могут быть небольшие грамматические ошибки в тексте, незначительное пересечение элементов меню и прочее.
Кроме критичности у каждого бага есть еще один атрибут — приоритет, который говорит о том, в каком порядке должны исправляться ошибки. Зачастую он устанавливается Project-менеджером или руководителем проекта.
Выделяют три уровня приоритетности:
- P1 – Высокий (High). Баг требует немедленного исправление, поскольку является крайне важным для релиза программного обеспечения или оказывает глобальное влияние на функционирование всей системы.
- P2 – Средний (Medium). Ошибка важна, но не нуждается в незамедлительном исправлении.
- P3 – Низкий (Low). Незначительный баг, который исправляется в последнюю очередь, после отладки более приоритетных дефектов.