← Назад к вопросам

Приведи пример идеального баг-репорта

1.0 Junior🔥 161 комментариев
#Работа с дефектами#Теория тестирования

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Пример идеального баг-репорта

Добротный баг-репорт — это документ, который дает разработчику всю информацию, необходимую для понимания и воспроизведения проблемы. Вот пример идеального баг-репорта.

Структура идеального баг-репорта

Title (Заголовок) Краткое, четкое описание проблемы, которое сразу дает понять в чем суть.

  • ✓ Правильно: "При отправке форму с пустым email возвращается 500 ошибка вместо валидации"
  • ✗ Неправильно: "Ошибка в форме", "Что-то не работает"

Priority (Приоритет) Классификация критичности бага.

  • Critical — функционал полностью сломан, система недоступна
  • High — функционал работает, но некорректно, большой impact
  • Medium — функционал работает, небольшие проблемы
  • Low — косметические проблемы, опечатки

Severity (Серьезность) Какой реальный impact на пользователя.

Environment (Окружение)

  • URL: https://staging.example.com
  • Браузер: Chrome 120 на MacOS
  • Устройство: MacBook Pro 16inch
  • БД версия: PostgreSQL 14
  • Backend версия: v2.1.0

Steps to Reproduce (Шаги воспроизведения) Пошаговое описание того, как воспроизвести баг:

  1. Перейти на страницу https://staging.example.com/signup
  2. В поле Email оставить пусто
  3. Заполнить остальные поля:
    • Password: "TestPass123"
    • Confirm Password: "TestPass123"
    • Name: "John Doe"
  4. Нажать кнопку "Sign Up"
  5. Нажать кнопку "Submit"

Expected Result (Ожидаемый результат) Что ДОЛЖНО произойти:

Система должна показать сообщение об ошибке под полем Email: "Email is required" (красный текст). Форма не должна отправляться на сервер. Пользователь остается на той же странице.

Actual Result (Фактический результат) Что происходит ВМЕСТО этого:

После нажатия на кнопку "Submit" система отправляет запрос на сервер, в ответ возвращает HTTP 500 Internal Server Error. На экране отображается "Something went wrong" сообщение. В Network tab видно:

POST /api/v1/users
Status: 500
Response: {"error": "Internal Server Error"}

Attachments (Вложения)

Скриншот экрана:

[Скриншот формы с пустым Email полем]

Network снимок:

Request:
POST /api/v1/users HTTP/1.1
Content-Type: application/json
{"password": "TestPass123", "name": "John Doe"}

Response:
HTTP/1.1 500 Internal Server Error
{"error": "Internal Server Error"}

Видео (если необходимо для понимания):

[Ссылка на видео с воспроизведением бага]

Additional Details (Дополнительно)

  • Баг воспроизводится каждый раз (100% воспроизводимость)
  • Проверил на Firefox 120 — баг воспроизводится
  • Проверил на Android Chrome — баг воспроизводится
  • На Production это работает правильно (валидирует форму)
  • На версии v2.0.0 этого бага не было

Related Issues (Связанные issues)

  • Похож на #234 (ошибка 500 при регистрации)
  • Может быть связано с изменениями в #250 (рефакторинг валидации)

Business Impact (Бизнес impact) Пользователи не могут зарегистрироваться вообще. Это блокирует новых пользователей. Critical для signup процесса.

Пример реального баг-репорта

Title: Empty email field causes 500 error instead of client-side validation

Priority: Critical
Severity: Blocker

Environment:
- URL: https://staging.prepbro.ru
- Browser: Chrome 120.0.0.0
- OS: macOS 14.2
- App Version: v2.1.0

Steps to Reproduce:
1. Open https://staging.prepbro.ru/signup
2. Leave Email field blank
3. Fill in:
   - Password: TestPass123
   - Confirm: TestPass123
   - Name: John Doe
4. Click "Sign Up"

Expected: Error message "Email is required" appears, form not submitted
Actual: HTTP 500 returned, generic error shown

Attachments:
- Screenshot_error_500.png
- network_log.json
- video_repro.mp4

Notes:
- 100% reproducible
- Happens on Firefox and Safari too
- Works correctly on Production
- Regression from v2.0.0 (changelog shows validation refactoring)
- Related to #234

Золотые правила баг-репорта

1. Быть максимально конкретным

  • Не "кнопка не работает", а "кнопка "Save" не сохраняет данные в БД"

2. Предоставить все детали для воспроизведения

  • Разработчик не должен гадать
  • Следуя шагам, он должен сразу увидеть баг

3. Включить скриншоты и видео

  • Картинка стоит 1000 слов
  • Видео еще больше

4. Быть объективным

  • Факты, не эмоции
  • "Кнопка возвращает ошибку 500", не "Эта проклятая кнопка!"

5. Не описывать решение

  • Ты не разработчик, не решай как чинить
  • Описывай что сломано, не как чинить

6. Проверить на дубликаты

  • Перед созданием нового баг-репорта проверить, нет ли похожих
  • Это сэкономит время всем

7. Быть вежливым и профессиональным

  • Баг-репорты читают люди
  • Бережное отношение помогает лучшему взаимодействию

Идеальный баг-репорт дает разработчику все, что ему нужно. Не нужны вопросы, не нужна уточнение. Просто читает, воспроизводит, чинит.