🐞 Баг-репорт

Структура хорошего дефекта, серьёзность и приоритет, шаблон и типичные ошибки.

Шпаргалки · Тестирование · #testing #bug #defect

Шаблон

Поле Что писать
Заголовок что и где ломается: «Кнопка „Оплатить“ не реагирует на нажатие в Safari 17»
Окружение стенд, версия сборки, ОС, браузер, устройство
Предусловия пользователь, роль, данные
Шаги воспроизведения пронумерованные, точные
Ожидаемый результат что должно быть (со ссылкой на требование)
Фактический результат что происходит
Серьёзность (Severity) насколько тяжёлые последствия
Приоритет (Priority) как срочно чинить
Вложения скриншот, видео, лог, HAR, curl
Частота всегда, иногда (n из m)

Пример

Заголовок: Ошибка 500 при сохранении профиля с пустым именем Окружение: stage, сборка 1.8.2, Chrome 128, Windows 11 Шаги:

  1. Войти как anna@x.ru.
  2. Открыть «Профиль» → «Редактировать».
  3. Очистить поле «Имя» и нажать «Сохранить».

Ожидаемо: подсветка поля и сообщение «Укажите имя». Фактически: страница ошибки 500, данные не сохранены. Серьёзность: Major. Приоритет: High. Воспроизводимость: 5 из 5. Вложения: скриншот, ответ сервера (500), лог app.log.

Серьёзность и приоритет

Серьёзность Пример
Blocker система не запускается, нельзя тестировать дальше
Critical потеря данных, падение ключевой функции
Major функция работает неверно, есть обход
Minor неточность, не влияет на работу
Trivial опечатка, косметика

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

Жизненный цикл

New → Assigned → In Progress → Fixed → Ready for Test → Verified → Closed. Ветки: Reopened, Rejected, Duplicate, Won't Fix, Cannot Reproduce.

Частые ошибки

Нет шагов или данных, несколько проблем в одном отчёте, оценочные слова («ужасно работает»), нет окружения, дубль уже заведённого, сообщение без логов и скриншота.

Совет: Хороший баг-репорт воспроизводит ошибку у разработчика по шагам с первого раза.