Раздел: Тестирование > Тестовые Артефакты > Баг Репорт > Написание баг репорта
Написание баг репорта
Баг репорт - это технический документ и в связи с этим хотим отметить, что язык описания проблемы должен быть техническим. Должна использоваться правильная терминология при использовании названий элементов пользовательского интерфейса (editbox, listbox, combobox, link, text area, button, menu, popup menu, title bar, system tray и т.д.), действий пользователя (click link, press the button, select menu item и т.д.) и полученных результатах (window is opened, error message is displayed, system crashed и т.д.).
Требования к обязательным полям баг репорта
Отметим, что обязательными полями баг репорта являются: короткое описание (Bug Summary), серьезность (Severity), шаги к воспроизведению (Steps to reproduce), результат (Actual Result), ожидаемый результат (Expected Result). Ниже приведены требования и примеры по заполнению этих полей.
Короткое описание
Название говорит само за себя. В одном предложении вам надо уместить смысл всего баг репорта, а именно: коротко и ясно, используя правильную терминологию сказать что и где не работает. Например:
- Приложение зависает, при попытке сохранения текстового файла размером больше 50Мб.
- Данные на форме "Профайл" не сохраняются после нажатия кнопки "Сохранить".
В дополнение предлагаем вам изучить Принцип "Где? Что? Когда?", описанный на страницах блога "QA Nest":
"В чем этот принцип состоит?
Составьте предложение, в котором факты дефекта изложены в следующей последовательности:
- Где?: В каком месте интерфейса пользователя или архитектуры программного продукта находится проблема. Причем, начинайте предложение с существительного, а не предлога.
- Что?: Что происходит или не происходит согласно спецификации или вашему представлению о нормальной работе программного продукта. При этом указывайте на наличие или отсутствие объекта проблемы, а не на его содержание (его указывают в описании). Если содержание проблемы варьируется, все известные варианты указываются в описании.
- Когда?: В какой момент работы программного продукта, по наступлению какого события или при каких условиях проблема проявляется.
Почему последовательность должна быть именно такой?
В таком виде незнакомые дефекты удобнее сортировать по summary как показывает практика (ведь, скорее всего, именно среди дефектов других инженеров будет производиться поиск дубликатов). Если вы другого мнения - придумайте свою последовательность, но она должна стать единой для всех без исключения членов проекта, иначе вы не добьетесь необходимого результата."
Серьезность
В двух словах можно отметить, что если проблема найдена в ключевой функциональности приложения и после ее возникновения приложение становится полностью недоступно, и дальнейшая работа с ним невозможна, то она блокирующая. Обычно все блокирующие проблемы находятся во время первичной проверки новой версии продукта (Build Verification Test, Smoke Test), т.к. их наличие не позволяет полноценно проводить тестирование. Если же тестирование может быть продолжено, то серьезность данного дефекта будет критическая. На счет значительных, незначительных и тривиальных ошибок вопрос достаточно прозрачный и на наш взгляд не требует лишних объяснений.
Шаги к воспроизведению / Результат / Ожидаемый результат
Очень важно четко описать все шаги, с упоминаем всех вводимых данных (имени пользователя, данных для заполнения формы) и промежуточных результатов.
Например:Шаги к воспроизведению
1. Войдите в системы: Пользователь Тестер1, пароль xxxXXX
--> Вход в систему осуществлен
2. Кликните линк Профайл
--> Страница Профайл открылась
3. Введите Новое имя пользователя: Тестер2
4. Нажмите кнопку Сохранить
Результат
На экране появилась ошибка. Новое имя пользователя не было сохранено
Ожидаемый результат
Страница профайл перегрузилась. Новое значение имени пользователя сохранено.
Основные ошибки при написании багов репортов
Недостаточность предоставленных данных
Не всегда одна и таже проблема проявляется при всех вводимых значениях и под любым вошедшим в систему пользователем, поэтому настоятельно рекомендуется вносить все необходимые данные в баг репорт
Определение серьезности
Очень часто происходит либо завышение, либо занижение серьезности дефекта, что может привести к неправильной очередности при решении проблемы.
Язык описания
Часто при описании проблемы используются неправильная терминология или сложные речевые обороты, которые могут ввести в заблуждение человека, ответственного за решение проблемы.
Отсутствие ожидаемого результата
В случаях, если вы не указали, что же должно быть требуемым поведением системы, вы тратите время разработчика, на поиск данной информации, тем самым замедляете исправления дефекта. Вы должны указать пункт в требованиях, написанный тест кейс или же ваше личное мнение, если эта ситуация не была документирована.
Заполнение полей баг репорта
В описанной ниже таблице представлены основные поля баг репорта и роль работника, ответственного за заполнение данного поля. Красным цветом выделены обязательные для заполнения поля:
Поле | Ответственный за заполнение поля |
---|---|
Короткое описание (Summary) | Автор баг репорта (обычно это Тестировщик) |
Проект (Project) | Автор баг репорта (обычно это Тестировщик) |
Компонент приложения (Component) | Автор баг репорта (обычно это Тестировщик) |
Номер версии (Version) | Автор баг репорта (обычно это Тестировщик) |
Серьезность (Severity) | Автор баг репорта (обычно это Тестировщик), однако данный атрибут может быть изменен вышестоящим менеджером |
Приоритет (Priority) | Менеджер проекта или менеджер ответственный за разработку компонента, на который написан баг репорт |
Статус (Status) | Автор баг репорта (обычно это Тестировщик), но многие системы баг трекинга выставляют статус по умолчанию |
Автор (Author) | Устанавливается по умолчанию, если нет, то указывается имя автора баг репорта |
Назначен на (Assigned To) | Менеджер проекта или менеджер ответственный за разработку компонента, на который написан баг репорт |
ОС / Сервис Пак и т.д. / Браузера + версия / ... | Автор баг репорта (обычно это Тестировщик) |
Шаги воспроизведения (Steps to Reproduce) | Автор баг репорта (обычно это Тестировщик) |
Фактический Результат (Result) | Автор баг репорта (обычно это Тестировщик) |
Ожидаемый результат (Expected Result) | Автор баг репорта (обычно это Тестировщик) |
Прикрепленный файл (Attachment) | Автор баг репорта (обычно это Тестировщик), а также любой член командной группы, считающий, что прикрепленные данные помогут в исправлении бага |