Почему только текстовые баг-репорты не работают

Письменные шаги воспроизведения кажутся полными тому, кто их писал, потому что он уже знает, что произошло. Разработчик, который их читает, — нет. «Нажмите "Сохранить" на странице профиля» не говорит, что перед этим вы поменяли 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 снимает эти ограничения. Подробности — на страницах запись экрана и скриншоты.

Типичные ошибки, из-за которых записи багов бесполезны

Что это даёт

Хорошая запись бага делается на минуту дольше, чем текстовый репорт, и экономит разработчику десять минут на воспроизведение плюс круг вопросов. За спринт это складывается в дни. А главное — баги исправляют с первого раза, потому что тот, кто исправляет, видел ровно то, что видел тот, кто репортил.