Как отличить хорошо заведенный дефект от плохо заведенного
Что проверяют
Умеете ли вы писать баг-репорт, по которому разработчик воспроизведёт проблему без единого вопроса к вам. Нередко дают реальный репорт на оценку или просят завести дефект по ситуации прямо на собеседовании, а следом спрашивают про разницу severity и priority.
Как отвечать
Критерий один: хороший дефект читается и воспроизводится без автора. Из этого следуют признаки:
- заголовок: что сломалось, где и при каком условии. «Оплата картой: ошибка 500 при сумме заказа больше 100 000 ₽», а не «Не работает оплата»;
- окружение: стенд, версия сборки, браузер или устройство и ОС, тестовый аккаунт и его роль;
- предусловия и шаги: нумерованные, короткие, с конкретными данными. Лишние шаги убраны, найден минимальный сценарий;
- фактический и ожидаемый результат: ожидаемый со ссылкой на требование, макет или договорённость, а не «как мне кажется правильным»;
- доказательства: скриншот или видео, запрос и ответ из DevTools или снифера, HAR-файл, идентификатор запроса для поиска в логах бэкенда;
- severity и priority: severity это влияние на систему (падение, потеря данных, косметика), её ставит тестировщик. Priority это срочность исправления, её обычно определяет владелец продукта или лид. Опечатка в логотипе на главной бывает minor по severity и высокой по приоритету;
- воспроизводимость: всегда или 3 раза из 10. Плавающий баг заводить можно, но с этой пометкой и списком того, что уже пробовали;
- один дефект, одна проблема: три бага в одном тикете не закроешь по отдельности.
Плохой репорт узнаётся по обратному: нет версии, шаги в духе «зайти и потыкать», эмоции вместо фактов, ожидаемого результата нет вовсе.
Где спотыкаются
Не проверяют дубли и не ищут минимальный сценарий. Разработчик тратит время на то, что уже заведено, или на двадцать шагов, из которых важны два.
Путают severity и priority или ставят всему «критический». Когда критично всё, триаж перестаёт работать.
Пишут вывод вместо наблюдения: «бэкенд неправильно считает скидку» вместо «в ответе discount равен 0 при промокоде SALE10». Диагноз без фактов часто ошибочен и уводит разработчика не туда.