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

Чтобы приступить к оформлению ошибки, нужно зайти в нужную академию с сверху справа нажать на синюю кнопку Report Issue


1. Заголовок ошибки

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

В академиях формат ошибки является таким:
Устройство – Область, где находится ошибка – Краткое описание ошибки

Устройство – в компьютерной академии под устройством подразумевается ваша операционная система, к примеру

  1. Windows 10
  2. Windows 7 и т.д.

В мобильной академии под устройством подразумевают модель вашего телефона, к примеру:

  1. Redmi Note 7
  2. iPhone 8 Plus
  3. iPad 5 (2015) и т.д.

Область, где находится ошибка – В данном случае необходимо написать область в приложении или на сайте где конкретно находится ошибка. Например, это может быть:

  1. Поиск
  2. Главная навигация
  3. Домашняя страница
  4. Каталог товаров
  5. Карточка товара
  6. Страница часто задаваемых вопросов (FAQ)
  7. Страница результата поиска
  8. Footer (нижняя часть сайта)
  9. Профиль пользователя
  10. Страница настроек
  11. Страница входа
  12. Страница регистрации и т.д.


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

Краткое описание ошибки – Здесь необходимо конкретно и предельно понятно описать ошибку одним небольшим предложением. Примерами могут быть такое описание:

  1. После клика на ссылку «Here» ничего не происходит
  2. Не открывается главное меню в горизонтальном режиме
  3. Изображение на странице «Profile» не загружено
  4. На странице настроек один блок перекрывает другой
  5. В блоке «О компании» не воспроизводится видео
  6. После клика на кнопку «Sign In» открывается страница с ошибкой 404
  7. Текст на странице профиля отображается некорректно и т.д.


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


2. Тип ошибки

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

  1. Неработающая ссылка
  2. Невоспроизводимое видео
  3. Некорректно работающая кнопка
  4. Не открывающееся меню и т.д.

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

К визуальным ошибкам относятся, например:

  1. Слишком большой размер изображения
  2. Один текст перекрывает другой
  3. Некорректно отображающаяся верстка сайта или приложения
  4. Один блок заходит на другой и т.д.

Все что визуально выглядит не так как ожидается, все это относится к визуальным ошибкам.

Также помимо функциональных и визуальных ошибок есть еще Crash (краш) – к примеру, при запуске приложение вылетает или перестает реагировать на нажатия. Это 3 самых распространенных типа ошибок.

Еще есть тип Content (контент) – этот тип относится к ошибкам, например, неправильно написанному тексту, неправильному переводу и т.д. В общем все что связано с контентом в тестируемом продукте.


3. Частота появления ошибки

В данном случае вам нужно выбрать насколько часто появляется ошибка. В большинстве случаев вам придется выбирать Every Time, так как подавляющее большинство ошибок показываются на постоянной основе.


4. Приоритет ошибки

Здесь можете не заморачиваться. Данный выбор ни на что не влияет. Почти всегда выбирайте Medium. Если будет Краш, то выбирайте Critical.


5. Устройство с которого происходило тестирование

На данной этапе вам нужно будет отметить то устройство с которого происходило тестирование, т.е, например, iPhone 7 или, например, Windows 10 Chrome.


6. Расписанная ошибка по шагам

На данном этапе вам предстоит подробно расписать каждый шаг воспроизведения ошибки, начиная с главной страницы приложения или сайта.


Первым шагом всегда должно идти либо открытие тестируемой ссылки либо открытие тестируемого приложения. Т.е. всегда пишем первым шагом к примеру:

1. Открываем ссылку «Ссылка на тестируемый сайт (на главную страницу)»

1. Открываем приложение «Название приложения».


Далее со второго шага вы начинаете расписывать каждое действие которые привело вас к ошибке. Примерно расписанная ошибка по шагам должна выглядеть так:

  1. Открыть ссылку http://xxx.com
  2. Открыть главное меню
  3. Кликнуть на ссылку «Profile»
  4. Нажать на кнопку “Sign Up”
  5. Заполнить все поля формы
  6. Нажать на кнопку «Create Account»

В данном случае подразумевается что например ошибка возникает после того как пользователь нажимает на кнопку «Create Account».
В общем тот кто будет проверять ваш отчет должен легко понять какие шаги ему следует выполнить чтобы найти ошибку которую вы оформили.


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


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

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


8. Текущий результат

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


9. Сообщение ошибки

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


10. Дополнительная информация

Данное поле будет оставаться пустым еще чаще чем предыдущее. Тут нужно будет оставлять дополнительную информацию, например, о тестируемом устройстве, если оно к примеру, имеет кастомную прошивку и т.д. В общем нужно оставить какую-то дополнительную информацию, которая влияет на ошибку.


11. Вложения

На данном этапе вам нужно будет приложить некоторые материалы по ошибке. В частности это:

  1. Скриншот страницы с ошибкой на котором красным прямоугольником выделена область ошибки
  2. Записанное видео, на котором показаны все шаги расписанные ранее
  3. Логи


На скриншоте и видео обязательно должна быть видна адресная строка, если тестировался сайт. Также на скриншотах и видео нельзя чтобы отображался значок VPN. Скриншоты должны быть в формате JPG или PNG. Видео должны быть в формате MP4 и не должны содержать фоновых звуков.
О том как записывать логи для разных случаев будет расписано в соответствующих мануалах.


Дополнительные поля

Также в академиях и в реальных проектах могут быть дополнительные поля. На счет реальных проектов уже разберетесь по ходу, а вот в академиях нужно пояснить какие поля еще могут быть.

В мобильной академии будет еще поле в котором нужно будет написать инструмент который использовался для сбора логов. Для андроид и iOS устройств инструменты разные. В частности, для андроид, если тестировался сайт, то в этом поле записываем «Chrome Developer Tools», а если приложение тестировалось, то записываем «ADB Logcat». Если тестирование происходило с iOS устройства, то в любом случае в этом поле записываем «iMazing».


Также будет поле в котором нужно будет записать версию приложения. Если тестировалось приложение, то в настройках приложения смотрим версию и записываем в это поле, а если тестировался сайт, то в этом поле записываем ссылку на это сайт.


P.S.

На этом этапе пришло время вам узнать, как формируется рейтинг, как подтверждаются баг репорты и кто такой TTL. Держите статью.