Як виникає дефект у програмному продукті
Якщо успішне тестування не гарантує відсутності багів, що ж вони таке і чому присутні в будь-яких програмних продуктах? В цьому уроці розберемось із термінами defect (bug), error, mistake та з’ясуємо, що ж таке баг і чому він виникає.
Людина може припуститися помилки (error, mistake), що призводить до дефекту (несправності, багу) у коді, програмі, системі чи документі. Якщо дефект у коді запускається, система не зможе виконати потрібну дію (або зробить неочікуване) — і це викличе збій. Дефект може призвести до збою в системі, а може і ні. Буває, що дефекти роками живуть у програмному продукті, але ніколи не настає ситуація, що призведе до збою. До прикладу, операційна система на смартфоні Apple не працює у відкритому космосі — але перевіряти й виправляти таку проблему ймовірно нікому не доведеться.
У випадку, коли дефект таки призвів до збою в системі, тестувальники повинні зафіксувати такий баг та передати його розробникам для виправлення.
Отже, bug/defect (баг, дефект) — це відхилення фактичної поведінки системи від очікуваного результату. Процес тестування виявляє збої в системі, які спричинені дефектами в програмному продукті.
Баг репорт/звіт про дефект (bug report) — це документ, який містить повний опис дефекту, умови його виникнення та очікуваний результат.
Складання баг репорту
Ще однією важливою навичкою для тестувальників є складання грамотного баг репорту. Від того, наскільки детально та зрозуміло описаний баг, залежить швидкість його виправлення. Розгляньмо структуру баг репорту.
Для тестувальників надважливо грамотно складати баг репорти, щоб інші учасники процесу розробки могли легко зрозуміти, в чому причина несправності. Особливо це стосується написання влучного заголовка (summary). Ще не вчитуючись в деталі, із заголовка вже маємо зрозуміло, в чому помилка і як вона виникає.
Приклад невдалого bug summary (із заголовка незрозуміло в чому саме дефект, де і за яких умов він виникає):
- Помилка на сторінці;
- Неможливо зайти на сайт;
- Нічого не працює;
- Відсутня кнопка;
- Немає картинки на сайті.
Приклад правильного bug summary (заголовок чітко та зрозуміло описує знайдену проблему):
- Відсутній логотип на головній сторінці сайту при відкритті сторінки на мобільному пристрої (iPhone X)
Повернімось до написаного тест-кейсу з попереднього уроку (тест-кейс 1.1) і спробуймо пройти його за вказаними кроками. Маємо побачити, що фактична поведінка відрізняється від очікуваної, тобто кнопка “Безкоштовна консультація” нікуди не перенаправляє користувача (тобто не виконує свою основну функцію). В такому разі оформлюємо знайдену проблему в баг репорт.
Баг 1.1
*Як знайти інформацію про середовище тестування:
- версія браузера (для Google Chrome): Налаштування > Про Google Chrome

- розширення екрана (для macOS): https://support.apple.com/uk-ua/guide/mac-help/mchl86d72b76/mac
- розширення екрана (для Windows):
https://www.moyo.ua/ua/news/kak-uznat-razreshenie-monitora-8-sposobov.html
або можна скористатись сайтом https://www.websiteplanet.com/uk/webtools/screenresolution/
Пройди написані тест-кейси за зазначеними кроками й оформ за ними баг репорти, якщо знайдеш дефекти.
*Примітка: у цьому уроці практичні завдання двох рівнів складності, які напряму пов’язані з типовими завданнями тестувальників. Ми рекомендуємо тобі виконати принаймні завдання першого рівня, але якщо ти не боїшся труднощів, то сміливо берись за виконання завдання й поглибленого рівня.
Детальний опис виконання завдання для зручності ми зібрали в гугл доці. Переходь за посиланням та проходь кожен з кроків :)
А ось виконання цього завдання від авторки курсу із озвучкою від нашої чарівної редакторки Ніки. Радимо переглянути його після самостійного виконання — але якщо виникнуть труднощі, переходь до нього в будь-який час.
Знайди додаткові дефекти на сторінці та оформ їх у баг репорти (можливих дефектів на сторінці 8).
Детальний опис виконання завдання для зручності ми зібрали в гугл доці. Переходь за посиланням та проходь кожен з кроків :)
А ось виконання цього завдання від авторки курсу із озвучкою від нашої чарівної редакторки Ніки. Радимо переглянути його після самостійного виконання — але якщо виникнуть труднощі, переходь до нього в будь-який час.
Окрім тест-кейсів, ти тепер ще й вмієш заводити баг репорти на знайдені дефекти у сторінках і програмах. Баг репорт — це один із ключових видів документації в тестуванні, тож це вже значний крок назустріч новій професії. Так тримати!