Чому лише текстові баг-репорти не працюють

Письмові кроки відтворення здаються повними тому, хто їх писав, бо він уже знає, що сталося. Розробник, який їх читає, — ні. «Натисніть "Зберегти" на сторінці профілю» не каже, що перед цим ви змінили email, що запит тривав вісім секунд і що помилка блимнула на пів секунди перед перезавантаженням сторінки.

Запис фіксує все це за замовчуванням: точну послідовність кліків, таймінги, стан сторінки перед багом, повідомлення про помилку й часто деталь, яку ніхто б не здогадався записати. Тому команди, які додають відео до баг-репортів, рідше закривають тікети з «не вдалося відтворити» і рідше ведуть треди з проханнями дати більше інформації.

Але відео не замінює письмовий репорт. Розробники шукають тікети за текстом, сортують за критичністю і потребують даних про оточення, яких відео не показує. Найкращі баг-репорти поєднують обидва.

Шаблон баг-репорту, що поєднує текст і відео

ПолеЩо писати
ЗаголовокЩо зламано й де: «Збереження профілю з новим email дає помилку 500»
ОточенняБраузер і версія, ОС, пристрій, версія чи збірка застосунку, акаунт/роль, тест чи продакшн
Кроки відтворенняПронумеровані, від відомого стану: «1. Увійти звичайним користувачем 2. Відкрити профіль 3. Змінити email 4. Натиснути "Зберегти"»
Очікуваний результатЩо має статися
Фактичний результатЩо стається натомість, з точним текстом помилки
ЧастотаЗавжди, іноді (як часто), один раз
КритичністьБлокер, серйозний, незначний, косметичний — і кого зачіпає
ЗаписПосилання на 20–60-секундне відео з багом
СкріншотЗламаний стан з обведеною чи пронумерованою проблемою
ЛогиПомилки консолі, невдалий мережевий запит, ID запиту, якщо є

Пара «очікуваний — фактичний результат» — серце репорту. Якщо ви не можете чітко сказати, що мало статися, розробник не зрозуміє, баг це чи непорозуміння щодо функції.

Як записати баг, з яким розробник справді зможе працювати

  1. Відтворіть баг один раз перед записом. Переконайтеся, що знаєте кроки. Запис того, як ви шукаєте баг, уп'ятеро довший за запис того, як ви його викликаєте.
  2. Починайте з відомого стану. Почніть запис на сторінці, яку розробник упізнає, з видимою адресою — а не посеред сценарію.
  3. Записуйте потрібну область. Вікно браузера чи застосунку, а не весь 4K-робочий стіл із відкритими Slack і поштою. Запис області тримає фокус і не зливає сторонніх даних.
  4. Відкрийте DevTools, якщо баг у вебі. З видимою вкладкою Console чи Network запис зафіксує червону помилку чи невдалий запит рівно в момент бага.
  5. Коротко коментуйте. «Змінюю email, натискаю "Зберегти" — і ось 500». Ваш голос підказує розробнику, чого ви чекали на кожному кроці. Увімкніть мікрофон і говоріть коротко.
  6. Затримайтеся на зламаному стані. Коли баг з'являється, не рухайтеся дві секунди, щоб його було видно без покадрової перемотки.
  7. Тримайтеся в межах хвилини. Виріжте очікування й невдалі спроби. Якщо баг потребує довгої підготовки, опишіть її текстом, а запишіть лише момент виклику.
Що показує корисний запис бага: відомий початковий стан, дію, помилку з відкритим DevTools, зламаний стан протягом двох секунд
Корисний запис бага від початку до кінця — менш ніж за хвилину

Скріншоти: досі найшвидший спосіб репортити візуальні баги

Для проблем верстки й текстів — елементи налазять один на одного, не той шрифт, обрізана кнопка на мобільному, одрук — відео забагато. Скріншот із позначками швидше зробити й швидше прочитати:

Відео, GIF чи скріншот?

Як QA-команди використовують DashShot для баг-репортів

DashShot — наш продукт; ось як він лягає саме на цей процес.

Скріншоти безкоштовні, а безкоштовний тариф також записує до 5 хвилин на відео й дає 10 AI-дій на місяць для голосових задач і документації; Pro знімає ці обмеження. Деталі — на сторінках запис екрана і скріншоти.

Типові помилки, через які записи багів марні

Що це дає

Добрий запис бага робиться на хвилину довше, ніж текстовий репорт, і економить розробнику десять хвилин на відтворення плюс коло запитань. За спринт це складається в дні. А головне — баги виправляють з першого разу, бо той, хто виправляє, бачив рівно те, що бачив той, хто репортив.