Баг репорт (Bug Report) или заведение бага в тестировании ПО?
Существует различное множество баг-трекинговых систем, которые позволяют нам не только создавать задачи, менять их статусы но и создавать баг репорты. Самые распространенные на сегодняшний день это Redmine, Bugzilla, Mantis, JIRA
Пример того как выглядит список баг репортов в JIRA:

Давайте разберем частый вопрос на собеседованиях, какие поля нужно заполнять в баг репорте и какие вообще существуют? Ответом на этот вопрос будет то что количество полей могут совершенно отличатся от компании к компании. Но в тоже время существуют общепринятые наиболее часто используемые поля которые нужно заполнять при заведении бага.
Сутью нашего бага будет то что мы не можем залогиниться в админ панель админ юзером, который был только что создан, следовательно что все новые админы не могут залогиниться когда вводишь корректные юзер и пароль в текстовые поля. Ниже объяснения и описания каждого из полей.
Основные Поля в Баг Репорте
ID
Это уникальный идентификатор найденного багаSummary
Краткое и лаконичное описание бага отвечающее на вопрос Что произошло и при каких условиях.К примеру так «Newly-created Admin user can't sign in to admin panel»
То есть описание бага должно быть такое чтобы программисту его даже можно было не открывать а сразу искать в чем же баг. Но чаще попадаются все же сложные баги которые и требуют описания внутри дополнительных действий и разъяснений как же его воспроизвести и как на самом деле должно быть, так что только по summary описать сложно. Поэтому существуют следующие, приведенные ниже поля:
Preconditions
Здесь пишется обычно то что нужно сделать перед выполнением наших шагов воспроизведения. Возможно нужно создать специальную структуру или юзеров с разными ролями или шаблонов нужных для воспроизведения этого бага.К примеру если суть бага у нас что админ не может залогиниться в админ панель с правильными данными НО не могут залогиниться только ново созданные, то есть старые админы заходят как обычно и все ок.
То в это поле следует написать что нужно создать нового админа юзера
Так как шаги создания этого админа это не суть это бага то это действие можно вынести в это поле.
Steps to Reproduce
Поле используется для описания шагов воспроизвидения при которых наш баг воспроизведется.К примеру
1) Open login page of admin panel
2) Enter valid credentials into «Username» and «Password» text fields
3) Press Enter button
Т. е. в этом поле описываются детальные шаги до того момента когда мы увидим баг
После последнего шага мы должны увидеть тот результат который и является багом в данной ситуации
Actual Result
Здесь мы описываем что мы получили на последнем шаге пройдя по всем шагамК примеру это может быть описано так:
«You have entered incorrect user or password» message is displayed on login page
Expected Result
В этом поле пишут что же должно быть как должен повести себя софт на последнем шаге воспроизведения шагов.С первого раза кажется ну зачем поле ну и так же все очевидно, но бывают очень сложные баги, при которых все вроде бы работает, но поведение которых не соответствует поведению которые заявлены в требованиях или устно со слов продакт овнера. Поэтому поле важно и нужно для заполнения
Project
Это дробдаун лист с названиями проектовЕсли у вас в компании больше чем 1 проект то просто выбери свой проект в котором был найден баг
Build number
Не секрет что у софта есть номера сборок или билдов, и поведение в одном билде может отличаться от поведения в другом, для этого и нужно уточнять в каком билде был найден баг, возможно баг уже был обнаружен разработчиком и был исправлен в следующем билде, но вы пока не знаете об этом, такое тоже бываетPriority
Это поле служит для определения приоритета бага, обычно выставляется проджект менеджером или скрам мастером, таким образом определяя первоочередность исправления бага на фоне остальных найденных багов, проводя таким образом очередность исправления баговРазличают такие приоритеты:
High: Наивысший, первоочередной
Medium: Среднего приоритета
Low: Самой последней значимости
Severity
Это поле указывает на серьезность ошибки. Существуют несколько уровней серьезность ошибки таких как:Blocker: Ставиться если баг блокирует дальнейшую работу приложения или блокирует дальнейшее тестирование, к примеру такой баг что если создать пользователя с существующим именем, то никаким пользователем из всей системы мы не можем залогиниться так как показывается SQL ошибка на главной странице и никуда нельзя больше перейти
Critical: Ставиться при значительном влиянии на поведение ПО и некорректности поведения программы, но не блокирующую работу приложения, к примеру баг такой что пользователь может войти в систему без введения пароля
Major: Ставиться при незначительном влиянии на поведение ПО, и некритическом для нашего проекта, к примеру такой баг что если количество записей в списке записей подсчитывается неверно
Minor: Ставиться если влияние на функционал и поведение ПО баг не производит, к примеру это может быть грамматическая ошибка в названии чего либо
Assignee
Здесь выбираешь программиста который будет исправлять баг, также поле может быть недоступно так как проджект менеджер решает кому из разработчиков его отправить исходя из загруженности разработчиков и серьезности багаReporter
Обычно заполняется автоматически именем того кто создает баг репортStatus
Статус поле заполняется автоматически в открытый, потом может меняется разработчиком, тестировщиком или проджект менеджером в зависимости от того на какой стадии находится наш баг. На рисунке изображены возможные статусы:
Comments
В комментариях можно указать что баг проверен и указать в каком билде проверялТакже можно задавать вопросы, ассайня на продакт овнера уточняя некоторые спорные моменты или детали реализации или исправления бага
0 комментариев