Баг-репорт: что это такое, структура, виды?

18 января 2024
Дата публикации
Баг-репорт: что это такое, структура, виды?
  • Тестирование ПО
  • Обеспечение качества
При создании программного обеспечения ошибки неизбежно будут возникать, поэтому нужно уметь грамотно их фиксировать. Баг-репорты помогут улучшить ваш ИТ-продукт, отобразив всю необходимую информацию о каждом дефекте.

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

Что такое баг-репорт и дефект


Дефект — ошибка, которая приводит к тому, что программное обеспечение ведёт себя не так, как ожидает пользователь или задумал разработчик.

Баг-репорты в тестировании (отчёт об ошибке) — это структурированный отчёт, содержащий информацию об ошибке, возникающей при разработке и функционировании ПО. QA-специалисты находят дефекты, когда сталкиваются с неожиданным поведением программы или получают несоответствующие техническим требованиям результаты при использовании продукта, который они тестируют.

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


Баг-репорт пример


Пример отчёта о сбое мобильного приложения:

Название: Приложение вылетает при открытии меню настроек.

Среда: iOS 15.0, iPhone 12 Pro.


Действия по воспроизведению:
  1. Запустите приложение.
  2. Нажмите на опцию «Настройки» в нижней панели навигации.
  3. Ожидаемый результат: меню настроек должно открыться без проблем.
  4. Фактический результат: приложение сразу же вылетает при нажатии опции «Настройки». При попытке перезагрузить телефон проблема не устраняется.
  5. Воспроизводимость: всегда
  6. Важность: высокая
  7. Срочность: обычная
  8. Дополнительная информация: приложение обновлено до последней версии, но проблема всё ещё возникает. Никакие другие части приложения, похоже, не затронуты; вылетает только если зайти в меню настроек.

Основные виды багов в программном обеспечении


Функциональные дефекты

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

Синтаксические дефекты

Это ошибки в исходном коде, лежащем в основе ПО. Необходимо внимательно изучить код, чтобы найти пропущенные символы или проблемы с форматированием, которые привели к возникновению проблемы.

Логические дефекты

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

Ошибки безопасности

Эти ошибки создают серьёзные уязвимости в программном обеспечении. Хакеры могут использовать его слабые места для получения доступа к устройствам и сетям. Тестирование ПО на наличие ошибок безопасности и их оперативное исправление — приоритетная задача тестировщиков и разработчиков.

Дублирование кода

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

Структура баг-репорта


Для исправления дефектов отчёт об ошибке должен доносить всю необходимую информацию о проблеме в ПО до специалиста, который будет её исправлять. Только так этот отчёт станет эффективной частью обеспечения качества бизнес-продукта.

Отчёт об ошибке может включать в себя следующие разделы:
  • Идентификатор дефекта
Он представляет собой уникальное значение, которое позволяет отличить один дефект от другого. Наличие идентификатора у дефекта повышает эффективность их исправления.
  • Краткое описание дефекта
Оно содержит лаконичные ответы на вопросы «Что произошло?» «Где это произошло»? «При каких условиях это произошло?».
  • Подробное описание проблемы
Оно предоставляет в развёрнутом виде необходимую информацию о дефекте, а также описание фактического и ожидаемого результата.
  • Шаги по воспроизведению
Это краткий набор инструкций по воспроизведению ошибки, с которой столкнулся QA-инженер. Эти шаги помогут IT-специалистам быстрее найти и исправить дефект.
  • Воспроизводимость
Она показывает каждый ли раз удаётся вызвать дефект.
  • Комментарий
Он содержит любые полезные для понимания и исправления дефекта данные.
  • Приложение
Сюда QA-специалисты могут прикрепить скрины, видео и т.д.
  • Серьёзность и приоритетность
Эти два раздела мы рассмотрим ниже.

Степени серьёзности и приоритетности в баг-репортах


Для поиска и устранения дефектов обычно используются такие понятия как серьёзность и приоритетность ошибки. Однако часто их используют как взаимозаменяемые понятия, что неверно.

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

Серьёзность относится к влиянию дефекта на функциональность или опыт конечного пользователя. Она определяет, насколько серьёзной является проблема и насколько важно её устранить. Серьёзность дефекта можно разделить на такие уровни, как низкий, средний, высокий и критический.

Низкий: ошибка не приведёт к заметным сбоям в работе системы.

Средний: приводит к некоторому неожиданному или нежелательному поведению ПО, но не настолько, чтобы нарушить работу системы.

Высокий: ошибка может привести к разрушению больших частей системы.

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


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

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

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

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

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

Свойства качественных баг-репортов

Отчёт о дефекте может оказаться некачественным, что снизит вероятность исправления ошибки. Чтобы этого не произошло, следует соблюдать некоторые правила:
  • Тщательно заполнять все поля точной и корректной информацией, которой должно быть достаточно для понимания сути проблемы.
  • Использовать правильный технический язык. Это относится не только к отчётам о дефектах, но и к любой документации.
  • Подробно описывать шаги воспроизведения бага. Нехватка деталей может привести к невозможности воспроизведения дефекта.
  • Избегать дубликатов отчётов. Может возникнуть ситуация, при которой несколько специалистов напишут отчёты об одном и том же баге. Также тестировщик может забыть, что раньше уже описывал эту проблему.
  • Описывать дефект так, чтобы получатель отчёта не сомневался в том, что это действительно ошибка, а не нормальное поведение ПО. Этого можно избежать за счёт подробного объяснения фактического и ожидаемого результата.
  • Делать новые отдельные отчёты для каждого дефекта, чтобы избежать путаницы и быстрее исправить все ошибки.
  • Придерживаться принятых шаблонов оформления и традиций. Шаблоны оформления отчётов о дефектах определены инструментом, который тестировщики используют для управления жизненным циклом дефекта. Однако традиции могут различаться даже в разных командах инженеров в рамках одной компании. Перед началом работы QA-специалистам будет полезно почитать готовые отчёты о дефектах, что в будущем поможет сэкономить силы и время.
  • Не добавлять лишние шаги в раздел воспроизведения ошибки и делить на пункты то, что можно заменить одной фразой. Также не стоит в начале каждого отчёта о дефекте подробно описывать как запустить приложение и привести его в то или иное состояние. Можно описать нужное состояние приложения в первом шаге. Например: приложение запущено и проработало более 30 минут.

Жизненный цикл бага


Жизненный цикл бага — это определенный набор состояний, через которые проходит дефект.

Цель отслеживания жизненного цикла бага — легко координировать и передавать текущий статус дефекта другим специалистам и сделать процесс его исправления эффективным.

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

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


8 этапов жизненного цикла бага:
  1. Новый. Когда тестировщик обнаруживает ошибку при тестировании ПО, она попадает в категорию «Новая», а на следующих этапах жизненного цикла ошибка проверяется и тестируется.
  2. Назначен. Ошибка идентифицируется, утверждается руководителем тестирования, публикуется тестировщиком, а затем передаётся команде разработчиков для работы над ней. Наконец, руководитель группы тестирования или менеджер по контролю качества передаёт ошибку разработчику.
  3. Исправлен. После того как разработчик проанализирует ошибку и внесёт изменения в код для её исправления, он может пометить ошибку как исправленную и передать её команде тестирования для дальнейшей обработки.
  4. Проверен. Если тестировщик удостоверился, что дефект был устранён, он переводит баг в эту стадию. Обычно такую проверку выполняет тестировщик, который составлял отчёт о дефекте.
  5. Закрыт. После исправления ошибки тестировщик проводит повторное тестирование. QA-инженер «закрывает» баг, если считает, что ошибка была успешно устранена. Также дефект может перейти в этот статус, если программисты считают, что программа так и должна работать, данный дефект уже взят в работу, его невозможно воспроизвести или исправить.
  6. Открыт заново. В это состояние отчёт переводит тестировщик, удостоверившийся, что дефект по-прежнему воспроизводится, хотя он должен быть уже исправлен.
  7. Отклонён. Ошибка обычно отклоняется, если разработчик считает ее неточной.
  8. Отложен. Когда ошибка так помечена, она имеет более низкий приоритет и может быть исправлена в следующем релизе.

Типичные ошибки при составлении баг-репорта

1.Слишком расплывчатое описание ошибки.

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

2. Неправильная классификация срочности и важности ошибки.

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

3. Передача отчёта об ошибке не тому специалисту.

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

4. Отсутствие срока выполнения задачи по исправлению дефекта.

Благодаря установлению срока исполнения ошибка не затеряется в среди других задач и поможет назначенному сотруднику расставить приоритеты в своей работе. Так QA-инженеры помогают продвижению процесса и обеспечивают оперативное исправление дефекта.

5. Игнорирование важности регулярных обновлений о статусе ошибки.

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

6. Отсутствие подробной информации о дефекте.

QA-специалистам следует уделять время подробному описанию проблемы и включать в отчёт об ошибке любую необходимую информацию, такую как сообщения об ошибках или скриншоты. Чем больше деталей представлено, тем проще разработчикам воспроизвести ошибку и исправить её.

7. Неумение пользоваться инструментами управления отчётами об ошибке.

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

8. Откладывание написания отчёта о дефекте.

Некоторые тестировщики любят сразу найти большjе количество дефектов и только потом создавать отчёты. Это может привести к потере данных, которые важны для устранения ошибок. Следует описывать дефект сразу после его обнаружения, чтобы сделать работу по обеспечению качества более эффективной.

Основные моменты

  • Баг-репорт (отчёт об ошибке) — полезный инструмент для выявления проблемы с программным обеспечением, который поможет вам отслеживать состояние ПО, а вашему продукту — соответствовать бизнес-требованиям, ожиданиям и потребностям пользователей.
  • Баг-репорты необходимы для успешного проведения тестирования, однако без них можно обойтись, если баг исправляют сразу или тестировщики передают информацию о баге программистам устно/письменно через чат. Мы не рекомендуем так делать, т.к. дефекты могут затеряться.
  • Отчёт об ошибке должен содержать чёткое и подробное описание ошибки, что поможет разработчикам эффективно её решить.
  • При составлении отчёта об ошибке специалисты могут допустить множество ошибок, поэтому рекомендуем обращаться к опытным QA-инженерам.
  • Существую различные типы дефектов, которые ведут к проблемам в использовании ПО.

Ищете QA-специалистов, которые используют все актуальные инструменты для улучшения качества ПО? На бесплатной консультации наши QA-эксперты ответят на все интересующие вас вопросы.