Как написать отличный баг-репорт

🔥 Важное для QA-специалистов! 🔥
В QaRocks ты найдешь туториалы, задачи и полезные книги, которых нет в открытом доступе. Уже более 17.000 подписчиков – будь среди нас! Заходи к нам в телеграм канал QaRocks

Большую часть дня мы, тестировщики, ищем ошибки. Но на этом работа не заканчивается… Для нас главное – четко объяснить ошибки разработчику, чтобы он сразу понял суть проблемы. И для этого заполняется баг-репорт.

Хороший баг-репорт экономит часы работы, а плохой обычно ведет к нескончаемой переписке в Slack. И начинается она с классического вопроса: «Можете прислать более подробную информацию?»

Давайте поговорим о том, как составлять понятные, полезные и вежливые баг-репорты. Разберем все на примере простых ситуаций, которые возникают в любом мобильном приложении, на сайте, в банковской системе или в онлайн-магазине.

Правильное название задает нужный тон

Называть тикет абстрактно – это как начинать книгу с середины фразы: никто не поймет, о чем речь.

Примеры плохих названий:

«Не работает логин»

«Проблема с кнопкой»

«Ошибка на странице оплаты»

А вот несколько хороших названий:

«Страница входа: если указать неверный адрес почты, то не работает кнопка «Продолжить» (Chrome)».

«Корзина: при удалении товара из корзины общая стоимость не меняется»

При попытке изменить номер телефона на странице «Профиль», высвечивается ошибка 400

«Профиль -> Сохранить изменения» – выдает ошибку 400, когда пытаюсь изменить свой номер

Баг-репорт: хороший и плохой

Легко выполнимые шаги для воспроизведения

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

Пример:

  1. .Запустите приложение на телефоне
  2. Перейдите на страницу профиля
  3. Нажмите «Изменить адрес»
  4. Введите реальную почту
  5. Нажмите «Сохранить»
  6. Результат: на 3-4 секунды экран зависает, а адрес все равно не меняется.

Кратно, ясно и по существу. Лаконично и без лишних подробностей.

Пишите честно и по делу: чего вы ожидали и что получили

Многие тестировщики непроизвольно превращаются в поэтов. Так делать не стоит. Разработчикам нужны факты, а не драматичный сюжет.

Ожидаемый результат:

При нажатии на кнопку с сортировкой «Цена: по возрастанию» товары должны быть правильно упорядочены.

Фактический результат:

Меняются только первые несколько позиций; остальные элементы остаются в том же порядке.

Добавляйте подтверждения: логи, запросы и ошибки

С визуальным подтверждением бага ваш отчет переходит из категории «возможно, этот баг и был» в «этот баг однозначно был».

Вот несколько примеров хороших подтверждений:

  • Короткое видео с проблемой
  • Скриншот проблемы
  • Ошибки в консоли
  • API-ответ с некорректными данными
  • Запрос, который не работает во вкладке Network
  • Изображение с сообщением об ошибке
  • Временная метка, ID запроса или любая техническая и полезная информация

Реалистичный и бытовой пример: Если в банковском приложении нажать «Перевести сумму», то операция выглядит успешной. Пользовательский интерфейс отображает нужную информацию, но на деле API-запрос возвращает ошибку 403 Forbidden. Если отправить разработчику только скриншот пользовательского интерфейса, то он не увидит истинной причины ошибки.

Подробности о среде (важные мелочи)

Разные устройства и браузеры ведут себя по-разному. Иногда – слишком по-разному.

Всегда указывайте:

  • Браузер и версия (при необходимости)
  • ОС (Windows/macOS/Android/iOS)
  • Тип устройства
  • Среда тестирования (dev, staging, prod)
  • Авторизованный пользователь или гость

Вежливость важна, но не переборщите

Сообщая об ошибке, вы никого не «беспокоите». Это ваша работа.

Воздержитесь от сообщений по типу:

«Извините, что беспокою…»

«Возможно, я ошибаюсь, но…»

«Вероятно, вы уже знаете, что…»

Лучше выражайте свою мысль четко и вежливо:

«В браузере Firefox было замечено следующее […]. Пожалуйста, проверьте при первой возможности.

Не слишком резко и не слишком заискивающе.

Не забывайте о фоновой информации

Все-таки вы пишете не сценарий для фильма. И для некоторых багов нужен контекст, потому что они:

• Возникают только на определенных устройствах
• Проявляются только для определенных ролей пользователей
• Связаны с кэшированием, ограничением количества запросов или проблемами синхронизации
• Зависят от бизнес-правил или особых условий

Сюда же можно добавлять информацию о среде (если это уместно). Тогда ваш отчет станет еще более информативным.

Например:

• Размер экрана, масштаб страницы, расширения для браузеров или отзывчивые брейкпоинты – все это задачи, связанные с проектированием
• Информация об устройстве и среде (версия ОС, версия браузера, любые расширения, которые могут повлиять на рендеринг или скрипты). Например, .«Если в десктопной версии Chrome увеличить масштаб страницы до 125%, то кнопки логина и пароля не выравниваются по вертикали».

Но не делайте свои отчеты слишком длинными.

Обойдитесь без непрошенных советов о том, как все исправить

Вы не разработчик, а тестировщик.

Если вы не подкованы в технических вопросах, то не нужно строить домыслы о решении.

Вот плохие варианты:

«Мне кажется, что бэкенде что-то не то»

«Фронтенд сломался»

«Можете переписать эту функцию?»

Лучше просто расскажите о том, что увидели:

«Этот запрос возвращает код состояния 500. Возможно, поможет в исправлении».

Такое сообщение показывает: вы понимаете то, что делаете, и не гадаете на кофейной гуще.

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

Качественно составленный баг-репорт позволяет достичь следующих результатов:

  • Ускоряется отладка
  • Меньше лишних переписок и перекидывания задач
  • Исправления легче понять
  • Меньше недопониманий
  • Счастливый разработчик
  • Счастливый QA (ведь ему легче тестировать доработки)

Быть хорошим тестировщиком – это не просто уметь находить ошибки. Хороший тестировщик ценит время и силы каждого, поэтому умеет правильно сообщать об ошибках.

Хороший баг-репорт помогает разработчикам быстрее работать, избегать лишних переписок и перекидывания задач, а также позволяет команде сосредоточиться на обеспечении качества своего продукта.

Тестирование – это командная работа, а главное связующее звено внутри команды – хорошая коммуникация.

Перевод статьи «The Art Of Writing a Bug Report».

🔥 Какой была ваша первая зарплата в QA и как вы искали первую работу? 

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Читать в телеграм

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *