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