# **Баг-репорт** **Баг-репорт** — это технический документ, который подробно описывает ошибку в работе программы, приложения или другого ПО. Его составляет тестировщик, чтобы разработчикам было понятно, что работает неправильно, насколько дефект критичен и что нужно исправить. Виды багов: * Функциональные. Возникают, когда фактический результат работы не соответствует ожиданиям - не получается опубликовать комментарий на сайте, добавить товар в корзину и другие. * Визуальные. Это случаи, когда приложение выглядит иначе, чем задумано - кнопка накладывается на текст, не отображаются картинки или текст выходит за пределы окна. * Логические. Баг, при котором что-то работает неправильно с точки зрения логики, — например, когда можно указать несуществующую дату (31 февраля) или поставить дату рождения из будущего (2077 год). * Дефекты UX. Приложение или программа неудобны в использовании: при просмотре ленты новостей пользователя постоянно отбрасывает к началу, слишком близко расположены кнопки и вместо одной нажимается другая. * Дефекты безопасности. Случаи, когда из-за ошибки в коде данные пользователей (почты, пароли, фото, информация о платежах) могут быть доступны третьим лицам. ## **Серьезность и приоритет багов** **Серьезность** — это показатель влияния бага на работу программы, того, может ли она функционировать без исправления или баг ломает всю систему. Выделяют пять уровней серьезности багов: * Тривиальный — баг не влияет на работу программы, поэтому для его исправления могут не выделить отдельную задачу, а исправить попутно при исправлении других, похожих ошибок. Например, при заполнении анкеты в поле «Дата рождения» по умолчанию отображается не актуальный год, а 1999-й. * Незначительный — баг почти не нарушает логику процессов, поэтому с ним программа может нормально работать. Например, неудобная навигация в интерфейсе. * Серьезный — баг создает неудобства в использовании, но еще не нарушает функционал программы. * Критический — баг мешает приложению выполнять основные функции: калькулятор расходов неправильно считает бюджет или в текстовом редакторе невозможно вводить текст. * Блокирующий — ситуация, когда программа не работает в принципе: сайт выдает «ошибку 404» или не запускается приложение. **Приоритет** — это срочность выполнения задачи. Всего выделяется три уровня приоритетов: * Высокий — исправляется в первую очередь, так как баг ломает работу приложения. * Средний — обязательный к исправлению баг после критического. * Низкий — не требует немедленного решения. ### **Жизненный цикл бага** Статус бага в репорте определяется его «жизненным циклом», который состоит из четырех основных стадий: * Открыт — тестировщик выявил баг и добавил в репорт. * В работе — о баге сообщили исполнителю, и он занимается исправлением. * Исправлен — исполнитель закончил работу по исправлению бага и передал проект на повторную проверку тестировщику. * Закрыт — баг устранен и больше не воспроизводится. Кроме основных есть еще несколько статусов: * Отклонен — исправлению бага помешала ошибка в репорте, например неверный алгоритм в пункте «Шаги к воспроизведению». * Отсрочен — баг признан неприоритетным и исправление переносится. * Переоткрыт — баг был отсрочен или отклонен, но теперь исполнитель взял его в работу.