Как писать баг-репорт: структура и пример

Структура репорта, заголовок как визитная карточка, доказательства и типовые ошибки. Пишем настоящий репорт в тренажёре.

Найденный, но плохо описанный дефект равен ненайденному. Разработчик открывает задачу, не понимает, что делать, и откладывает её. Через неделю баг закрывают как «не воспроизводится». Поэтому репорт — не бюрократия, а инструмент влияния.

Структура

  1. Заголовок — что сломалось, где и при каком условии. Одна строка, 25–120 символов.
  2. Окружение — стенд, версия сборки, браузер и его версия, ОС, устройство, роль пользователя.
  3. Предусловия — что должно быть верно до начала шагов.
  4. Шаги воспроизведения — пронумерованные, с конкретными данными.
  5. Ожидаемый результат — со ссылкой на требование, макет или логику.
  6. Фактический результат — что произошло на самом деле.
  7. Доказательства — скриншот, запись экрана, логи, запрос и ответ API.
  8. Серьёзность и приоритет.
  9. Дополнительно — воспроизводится ли всегда, есть ли обходной путь, когда появилось.

Заголовок

По заголовку принимают решение, брать ли задачу в спринт. Формула: [где] что происходит [при каком условии].

ПлохоХорошо
Не работает оплатаОплата: при выборе СБП кнопка «Оплатить» неактивна на мобильной вёрстке
Ошибка 500Оформление заказа: POST /api/order возвращает 500 при пустом поле «Комментарий»
Криво отображаетсяКаталог: описание товара выходит за границы карточки при длине названия > 40 символов
🎯 Шаги: правило чужого человека

Представьте, что репорт читает человек, впервые открывший ваш продукт. Он не знает, где кнопка и какие данные подойдут. Если он сможет повторить — шаги написаны хорошо. Именно поэтому в шагах пишут конкретные данные: не «добавить товар», а «добавить товар “Наушники Aero 2”».

Доказательства

Типовые ошибки

⚠️ Прежде чем заводить — проверьте себя
  1. Воспроизводится ли повторно? Хотя бы дважды.
  2. Воспроизводится ли в другом браузере или в режиме инкогнито? Это отделяет дефект от кэша и расширений.
  3. Нет ли уже такого репорта? Поиск по трекеру — 30 секунд.
  4. Это точно расхождение с требованием, а не ваше ожидание?
  5. Актуальна ли ваша сборка?

Тренажёр: напишите репорт

Ниже описан наблюдаемый дефект. Оформите его так, чтобы разработчик воспроизвёл без вопросов. Тренажёр проверит репорт по семи критериям и покажет эталон.

🎯 Этот тренажёр есть в курсе

Практическая часть урока выполняется в браузере с проверкой результата. Попробовать бесплатно: тренажёр по вёрстке или зарегистрируйтесь — откроются уроки и тренажёры курса.

Что делать, если баг не берут в работу

Не «повоевать в комментариях», а перевести разговор в плоскость влияния на бизнес: сколько пользователей затронуто, теряются ли деньги или данные, есть ли обходной путь, что будет, если не чинить до релиза. Решение о приоритете принимает продакт — но он должен принимать его, зная последствия. Ваша работа — обеспечить его этой информацией.

Это урок из курса «Ручной тестировщик»

В курсе 47 уроков и 36 тренажёров: тест-дизайн, вёрстка и UX, DevTools, API, SQL, Git и работа со стендом. Несколько уроков открыты бесплатно после регистрации.

Открыть бесплатные уроки Программа курса