HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Баг-репорт - это технический документ, в котором зафиксирована ошибка в работе программного обеспечения, описаны условия ее возникновения, текущее поведение системы и ожидаемый результат. Баг-репорт используется для передачи информации об ошибке разработчикам и контроля процесса ее исправления.</p>
1 <p>Баг-репорт - это технический документ, в котором зафиксирована ошибка в работе программного обеспечения, описаны условия ее возникновения, текущее поведение системы и ожидаемый результат. Баг-репорт используется для передачи информации об ошибке разработчикам и контроля процесса ее исправления.</p>
2 <p>Баг-репорты применяются в разработке веб-сайтов, мобильных и десктопных приложений, сервисов и системного ПО. Документ позволяет формализовать проблему, избежать потери информации и обеспечить воспроизводимость дефекта. Устные сообщения или обсуждения в чатах не заменяют баг-репорт, так как не фиксируют ответственность и статус ошибки.</p>
2 <p>Баг-репорты применяются в разработке веб-сайтов, мобильных и десктопных приложений, сервисов и системного ПО. Документ позволяет формализовать проблему, избежать потери информации и обеспечить воспроизводимость дефекта. Устные сообщения или обсуждения в чатах не заменяют баг-репорт, так как не фиксируют ответственность и статус ошибки.</p>
3 <h2>Зачем нужен баг-репорт</h2>
3 <h2>Зачем нужен баг-репорт</h2>
4 <p>Основная задача баг-репорта - дать разработчику точное и однозначное описание дефекта. Чем корректнее составлен отчет, тем быстрее ошибка будет локализована и устранена.</p>
4 <p>Основная задача баг-репорта - дать разработчику точное и однозначное описание дефекта. Чем корректнее составлен отчет, тем быстрее ошибка будет локализована и устранена.</p>
5 <p>Баг-репорт решает несколько задач:</p>
5 <p>Баг-репорт решает несколько задач:</p>
6 <ul><li><p>фиксирует наличие дефекта в системе;</p>
6 <ul><li><p>фиксирует наличие дефекта в системе;</p>
7 </li>
7 </li>
8 <li><p>показывает, при каких условиях возникает ошибка;</p>
8 <li><p>показывает, при каких условиях возникает ошибка;</p>
9 </li>
9 </li>
10 <li><p>определяет влияние бага на работу продукта;</p>
10 <li><p>определяет влияние бага на работу продукта;</p>
11 </li>
11 </li>
12 <li><p>задает приоритет исправления;</p>
12 <li><p>задает приоритет исправления;</p>
13 </li>
13 </li>
14 <li><p>позволяет отслеживать жизненный цикл ошибки.</p>
14 <li><p>позволяет отслеживать жизненный цикл ошибки.</p>
15 </li>
15 </li>
16 </ul><p>Без корректных баг-репортов команда теряет время на уточнения, а часть ошибок остается неустраненной.</p>
16 </ul><p>Без корректных баг-репортов команда теряет время на уточнения, а часть ошибок остается неустраненной.</p>
17 <h2>Виды багов</h2>
17 <h2>Виды багов</h2>
18 <p>Ошибки в программных продуктах различаются по характеру проявления и последствиям. В баг-репорте важно корректно определить тип дефекта, так как это влияет на его обработку.</p>
18 <p>Ошибки в программных продуктах различаются по характеру проявления и последствиям. В баг-репорте важно корректно определить тип дефекта, так как это влияет на его обработку.</p>
19 <p>Выделяют следующие основные виды багов:</p>
19 <p>Выделяют следующие основные виды багов:</p>
20 <ul><li><p>Функциональные - система работает не в соответствии с требованиями. Действие не выполняется или результат отличается от ожидаемого.</p>
20 <ul><li><p>Функциональные - система работает не в соответствии с требованиями. Действие не выполняется или результат отличается от ожидаемого.</p>
21 </li>
21 </li>
22 <li><p>Визуальные - нарушение внешнего отображения интерфейса. Элементы перекрываются, искажается верстка, отсутствуют изображения.</p>
22 <li><p>Визуальные - нарушение внешнего отображения интерфейса. Элементы перекрываются, искажается верстка, отсутствуют изображения.</p>
23 </li>
23 </li>
24 <li><p>Логические - ошибки в бизнес-логике или правилах обработки данных. Система принимает некорректные значения или выполняет неверные расчеты.</p>
24 <li><p>Логические - ошибки в бизнес-логике или правилах обработки данных. Система принимает некорректные значения или выполняет неверные расчеты.</p>
25 </li>
25 </li>
26 <li><p>UX-дефекты - проблемы удобства использования. Интерфейс формально работает, но мешает пользователю выполнять задачи.</p>
26 <li><p>UX-дефекты - проблемы удобства использования. Интерфейс формально работает, но мешает пользователю выполнять задачи.</p>
27 </li>
27 </li>
28 <li><p>Дефекты безопасности - уязвимости, приводящие к утечке данных, обходу авторизации или несанкционированному доступу.</p>
28 <li><p>Дефекты безопасности - уязвимости, приводящие к утечке данных, обходу авторизации или несанкционированному доступу.</p>
29 </li>
29 </li>
30 </ul><p>Один баг может относиться сразу к нескольким категориям, но в отчете указывается доминирующий тип.</p>
30 </ul><p>Один баг может относиться сразу к нескольким категориям, но в отчете указывается доминирующий тип.</p>
31 <h2>Структура баг-репорта</h2>
31 <h2>Структура баг-репорта</h2>
32 <p>Формат баг-репорта зависит от внутренних правил компании и используемой системы трекинга. При этом существует базовый набор полей, без которых отчет считается неполным.</p>
32 <p>Формат баг-репорта зависит от внутренних правил компании и используемой системы трекинга. При этом существует базовый набор полей, без которых отчет считается неполным.</p>
33 <p>Стандартная структура баг-репорта включает:</p>
33 <p>Стандартная структура баг-репорта включает:</p>
34 <ul><li><p>ID - уникальный идентификатор дефекта;</p>
34 <ul><li><p>ID - уникальный идентификатор дефекта;</p>
35 </li>
35 </li>
36 <li><p>Краткое описание (Summary) - суть ошибки в одном предложении с указанием действия и контекста;</p>
36 <li><p>Краткое описание (Summary) - суть ошибки в одном предложении с указанием действия и контекста;</p>
37 </li>
37 </li>
38 <li><p>Проект - название продукта или системы;</p>
38 <li><p>Проект - название продукта или системы;</p>
39 </li>
39 </li>
40 <li><p>Версия - версия ПО, в которой воспроизводится баг;</p>
40 <li><p>Версия - версия ПО, в которой воспроизводится баг;</p>
41 </li>
41 </li>
42 <li><p>Серьезность (Severity) - степень влияния ошибки на работу системы;</p>
42 <li><p>Серьезность (Severity) - степень влияния ошибки на работу системы;</p>
43 </li>
43 </li>
44 <li><p>Приоритет (Priority) - срочность исправления;</p>
44 <li><p>Приоритет (Priority) - срочность исправления;</p>
45 </li>
45 </li>
46 <li><p>Статус - текущее состояние бага;</p>
46 <li><p>Статус - текущее состояние бага;</p>
47 </li>
47 </li>
48 <li><p>Автор - кто обнаружил и оформил баг;</p>
48 <li><p>Автор - кто обнаружил и оформил баг;</p>
49 </li>
49 </li>
50 <li><p>Исполнитель - ответственный за исправление;</p>
50 <li><p>Исполнитель - ответственный за исправление;</p>
51 </li>
51 </li>
52 <li><p>Шаги к воспроизведению - последовательность действий для получения ошибки;</p>
52 <li><p>Шаги к воспроизведению - последовательность действий для получения ошибки;</p>
53 </li>
53 </li>
54 <li><p>Фактический результат - текущее поведение системы;</p>
54 <li><p>Фактический результат - текущее поведение системы;</p>
55 </li>
55 </li>
56 <li><p>Ожидаемый результат - корректное поведение по требованиям;</p>
56 <li><p>Ожидаемый результат - корректное поведение по требованиям;</p>
57 </li>
57 </li>
58 <li><p>Дополнения - скриншоты, видео, логи, ссылки.</p>
58 <li><p>Дополнения - скриншоты, видео, логи, ссылки.</p>
59 </li>
59 </li>
60 </ul><p>Ключевыми являются шаги воспроизведения и результаты. Без них разработчик не сможет подтвердить наличие дефекта.</p>
60 </ul><p>Ключевыми являются шаги воспроизведения и результаты. Без них разработчик не сможет подтвердить наличие дефекта.</p>
61 <h2>Требования к описанию бага</h2>
61 <h2>Требования к описанию бага</h2>
62 <p>Текст баг-репорта должен быть точным, нейтральным и лишенным предположений. В отчете фиксируются только наблюдаемые факты.</p>
62 <p>Текст баг-репорта должен быть точным, нейтральным и лишенным предположений. В отчете фиксируются только наблюдаемые факты.</p>
63 <p>При описании ошибки важно:</p>
63 <p>При описании ошибки важно:</p>
64 <ul><li><p>использовать однозначные формулировки;</p>
64 <ul><li><p>использовать однозначные формулировки;</p>
65 </li>
65 </li>
66 <li><p>указывать конкретные элементы интерфейса;</p>
66 <li><p>указывать конкретные элементы интерфейса;</p>
67 </li>
67 </li>
68 <li><p>избегать оценочных суждений;</p>
68 <li><p>избегать оценочных суждений;</p>
69 </li>
69 </li>
70 <li><p>не предлагать способы реализации исправления;</p>
70 <li><p>не предлагать способы реализации исправления;</p>
71 </li>
71 </li>
72 <li><p>описывать один дефект в одном баг-репорте.</p>
72 <li><p>описывать один дефект в одном баг-репорте.</p>
73 </li>
73 </li>
74 </ul><p>Если ошибка не воспроизводится стабильно, это также указывается в отчете.</p>
74 </ul><p>Если ошибка не воспроизводится стабильно, это также указывается в отчете.</p>
75 <h2>Серьезность багов</h2>
75 <h2>Серьезность багов</h2>
76 <p>Серьезность показывает, насколько дефект влияет на работоспособность системы. Этот параметр отражает техническую критичность ошибки, а не срочность ее исправления.</p>
76 <p>Серьезность показывает, насколько дефект влияет на работоспособность системы. Этот параметр отражает техническую критичность ошибки, а не срочность ее исправления.</p>
77 <p>Принята следующая шкала:</p>
77 <p>Принята следующая шкала:</p>
78 <ul><li><p>S0 (Trivial) - косметический дефект, не влияющий на функциональность;</p>
78 <ul><li><p>S0 (Trivial) - косметический дефект, не влияющий на функциональность;</p>
79 </li>
79 </li>
80 <li><p>S1 (Minor) - незначительное нарушение, не мешающее основным сценариям;</p>
80 <li><p>S1 (Minor) - незначительное нарушение, не мешающее основным сценариям;</p>
81 </li>
81 </li>
82 <li><p>S2 (Major) - ощутимое ухудшение работы, но без полной потери функционала;</p>
82 <li><p>S2 (Major) - ощутимое ухудшение работы, но без полной потери функционала;</p>
83 </li>
83 </li>
84 <li><p>S3 (Critical) - ошибка блокирует ключевые функции системы;</p>
84 <li><p>S3 (Critical) - ошибка блокирует ключевые функции системы;</p>
85 </li>
85 </li>
86 <li><p>S4 (Blocker) - продукт не работает или использование невозможно.</p>
86 <li><p>S4 (Blocker) - продукт не работает или использование невозможно.</p>
87 </li>
87 </li>
88 </ul><p>Серьезность задается на основании влияния бага, а не его визуальной заметности.</p>
88 </ul><p>Серьезность задается на основании влияния бага, а не его визуальной заметности.</p>
89 <h2>Приоритет багов</h2>
89 <h2>Приоритет багов</h2>
90 <p>Приоритет определяет порядок исправления дефектов и зависит от бизнес-целей, сроков релиза и пользовательских рисков.</p>
90 <p>Приоритет определяет порядок исправления дефектов и зависит от бизнес-целей, сроков релиза и пользовательских рисков.</p>
91 <p>Используется следующая классификация:</p>
91 <p>Используется следующая классификация:</p>
92 <ul><li><p>P1 (Высокий) - требует немедленного исправления;</p>
92 <ul><li><p>P1 (Высокий) - требует немедленного исправления;</p>
93 </li>
93 </li>
94 <li><p>P2 (Средний) - исправляется после критических задач;</p>
94 <li><p>P2 (Средний) - исправляется после критических задач;</p>
95 </li>
95 </li>
96 <li><p>P3 (Низкий) - может быть отложен.</p>
96 <li><p>P3 (Низкий) - может быть отложен.</p>
97 </li>
97 </li>
98 </ul><p>Баг с высокой серьезностью не всегда имеет высокий приоритет и наоборот.</p>
98 </ul><p>Баг с высокой серьезностью не всегда имеет высокий приоритет и наоборот.</p>
99 <h2>Жизненный цикл бага</h2>
99 <h2>Жизненный цикл бага</h2>
100 <p>Каждый баг проходит несколько стадий от обнаружения до закрытия. Эти стадии отражаются в поле "Статус".</p>
100 <p>Каждый баг проходит несколько стадий от обнаружения до закрытия. Эти стадии отражаются в поле "Статус".</p>
101 <p>Основные этапы жизненного цикла:</p>
101 <p>Основные этапы жизненного цикла:</p>
102 <ul><li><p>Open - баг зафиксирован и ожидает обработки;</p>
102 <ul><li><p>Open - баг зафиксирован и ожидает обработки;</p>
103 </li>
103 </li>
104 <li><p>In Progress - ведется работа по исправлению;</p>
104 <li><p>In Progress - ведется работа по исправлению;</p>
105 </li>
105 </li>
106 <li><p>Ready for check - исправление завершено и передано на проверку;</p>
106 <li><p>Ready for check - исправление завершено и передано на проверку;</p>
107 </li>
107 </li>
108 <li><p>Closed - баг устранен и не воспроизводится.</p>
108 <li><p>Closed - баг устранен и не воспроизводится.</p>
109 </li>
109 </li>
110 </ul><p>Дополнительно могут использоваться статусы:</p>
110 </ul><p>Дополнительно могут использоваться статусы:</p>
111 <ul><li><p>Rejected - отчет признан некорректным;</p>
111 <ul><li><p>Rejected - отчет признан некорректным;</p>
112 </li>
112 </li>
113 <li><p>Deferred - исправление перенесено;</p>
113 <li><p>Deferred - исправление перенесено;</p>
114 </li>
114 </li>
115 <li><p>Reopened - баг снова актуален после проверки.</p>
115 <li><p>Reopened - баг снова актуален после проверки.</p>
116 </li>
116 </li>
117 </ul><p>Статусы позволяют отслеживать текущее состояние дефекта и нагрузку команды.</p>
117 </ul><p>Статусы позволяют отслеживать текущее состояние дефекта и нагрузку команды.</p>
118 <h2>Проверка и воспроизведение</h2>
118 <h2>Проверка и воспроизведение</h2>
119 <p>Перед созданием баг-репорта необходимо убедиться, что ошибка воспроизводится. Желательно проверить дефект в разных условиях.</p>
119 <p>Перед созданием баг-репорта необходимо убедиться, что ошибка воспроизводится. Желательно проверить дефект в разных условиях.</p>
120 <p>Рекомендуется:</p>
120 <p>Рекомендуется:</p>
121 <ul><li><p>повторить сценарий несколько раз;</p>
121 <ul><li><p>повторить сценарий несколько раз;</p>
122 </li>
122 </li>
123 <li><p>проверить другие браузеры или устройства;</p>
123 <li><p>проверить другие браузеры или устройства;</p>
124 </li>
124 </li>
125 <li><p>сравнить поведение в разных версиях ПО;</p>
125 <li><p>сравнить поведение в разных версиях ПО;</p>
126 </li>
126 </li>
127 <li><p>свериться с требованиями и документацией.</p>
127 <li><p>свериться с требованиями и документацией.</p>
128 </li>
128 </li>
129 </ul><p>Если баг проявляется только в специфических условиях, они должны быть подробно описаны.</p>
129 </ul><p>Если баг проявляется только в специфических условиях, они должны быть подробно описаны.</p>
130 <h2>Качество баг-репорта</h2>
130 <h2>Качество баг-репорта</h2>
131 <p>Хороший баг-репорт - это инструмент ускорения разработки. Он позволяет разработчику сразу приступить к исправлению без дополнительных уточнений.</p>
131 <p>Хороший баг-репорт - это инструмент ускорения разработки. Он позволяет разработчику сразу приступить к исправлению без дополнительных уточнений.</p>
132 <p>Качественный отчет:</p>
132 <p>Качественный отчет:</p>
133 <ul><li><p>описывает один конкретный дефект;</p>
133 <ul><li><p>описывает один конкретный дефект;</p>
134 </li>
134 </li>
135 <li><p>легко воспроизводится по шагам;</p>
135 <li><p>легко воспроизводится по шагам;</p>
136 </li>
136 </li>
137 <li><p>содержит четкое отличие фактического и ожидаемого результата;</p>
137 <li><p>содержит четкое отличие фактического и ожидаемого результата;</p>
138 </li>
138 </li>
139 <li><p>подкреплен доказательствами.</p>
139 <li><p>подкреплен доказательствами.</p>
140 </li>
140 </li>
141 </ul><p>Грамотно составленные баг-репорты снижают количество ошибок, ускоряют релизы и повышают стабильность продукта.</p>
141 </ul><p>Грамотно составленные баг-репорты снижают количество ошибок, ускоряют релизы и повышают стабильность продукта.</p>