MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Руководство по описанию ошибок

Если вам нужна помощь с программой от Mozilla (наример, Firefox, Seamonkey или Thunderbird), используйте сайты поддержки.  Не редактируйте эту страницу!

В этом разделе предполагается, что вы хотите внести свой вклад в проект Mozilla путем сбора достаточного количества информации для написания полезных отчетов об ошибках в Bugzilla, системе отслеживания ошибок  от Mozilla. Спасибо!

Если вы новичок в написании багов, вы можете попытаться получить помощь от более опытных участников. С мотрите раздел Сообщества на странице QA для ccылок. Если вы собираетесь создать багрепорт для Firefox, вы можете получить помощь на сайте irc.mozilla.org в канале #firefox . Для других приложений вроде Thunderbird, Seamonkey, … вы можете попытаться найти подходящий канал в IRC.

Как сообщить об ошибке

Открывайте новый баг для каждой проблемы!

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

Другие детали, которые следует учитывать

  1. Выясните шаги воспроизведения бага:
    • Если у вас есть точные шаги воспроизведения - отлично! - вы на пути к созданию полезного сообщения об ошибке;
    • Если вы можете воспроизвести баг время от времени, но не после следования конкретным шагам, вы должны предоставить дополнительную информацию о баге, чтобы он был полезен;
    • Если вы не можете воспроизвести проблему, вероятно нет смысла сообщать о ней, пока вы не предоставите уникальную информацию об ее возникновении;
  2. Убедитесь, что программное обеспечение в актуальном состоянии. В идеале, тестируйте версию в процессе разработки, чтобы видеть был ли ваш баг уже исправлен (например Firefox Beta, Aurora, или передовой Nightly).
  3. Если вы создаете багрепорт для Firefox, убедитесь сначала что вы можете воспроизвести баг в новом профиле Firefox. Если баг воспроизводится только в вашем профиле, попытайтесь вычислить какие именно настройки, расширения, or файлы в вашем профиле необходимы для воспроизведения бага.
    • Если баг выглядит серьезно (т.е. очевидно что он затронет значительнцю часть пользователей), имеется нечто действительно необычное относительно конфигурации вашего приложения и это нечто является важным шагом к воспроизведению проблемы. Вы имеете намного больше шансов выяснить что именно вызывает проблему, чем разработчик который не имеет доступа к вашей системе.
    • Если баг попадает в одну из специальных категорий багов перечисленных в секции ниже, его регистрация все равно может быть полезной даже если вы не можете воспроизвести его в новом профиле Firefox.
  4. Откройте форму Регистрации нового бага, и следуйте дальнейшим подсказкам которые проведут вас через все шаги процесса регистрации бага:
    • Создайте аккаунт Bugzilla если у вас его еще нет, выберете продукт в котором была найдена ошибка;
    • Введите понятное и уникальное название как показано ниже; проверьте что до вас никто этот баг еще не регистрировал (если вы хотите проверить это тщательно, ознакомьтесь с инструкцией по Предотвращению дублирования багов.)
    • Опишите точные шаги по воспроизведению бага, ожидаемый  и фактический результаты как описано в следующей секции;
    • Опишите дополнительную информацию (как показано ниже), особенно если вы не можете воспроизвести баг в новом профиле и/или создаете отчет о аварийном завершении, использовании памяти, производительности, регрессе или если проблема проявляется только на определенном веб сайте.
  5. Если вы собираетесь зарегистрировать нескольк ошибок, пожалуйста зарегистрируйте каждую ошибку в виде отдельного бага.

Написание понятного названия

Как бы вы описали баг используя для этого всего 10 слов? Какой бы способ вы ни выбрали, помните: название - это самая первая часть вашего багрепорта которую увидит разработчик.

Хорошее название должно быстро и уникально идентифицировать багрепорт. Оно должно описывать проблему, а не предлагаемое решение.

  • Хорошо: "Отмена копирования файлов приводит File Manager к падению"
  • Плохо: "Приложение падает"
  • Хорошо: "Стрелка вниз в скроллинге не работает в <textarea> с overflow:hidden"
  • Плохо: "Браузер должен работать с моим сайтом"

Написание точных шагов воспроизведения бага

Как разработчик сможет воспроизвести баг на своем собственном компьютере?

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

Что хороший багрепорт должен содержать? Хороший (понятный) пример Плохой (непонятный)
Содержит точное указание что вы можете воспроизвести этот баг всегда, иногда или не можете воспроизвести его вовсе Я могу воспроизвести этот баг следуя этим шагам:  

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

1. Запускаю Firefox кликая на значок рабочего стола
2. Нажимаю Cmd+N для того чтобы открыть новое окно браузера
3. Вставляю https://mail.google.com/ в строку адреса и нажимаю Enter

Открываю Gmail в другом окне

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

Ожидаемые результаты: Папка входящих писем показывается корректно.
Фактический результат: В папке входящих писем отображается надпись  'Ваш браузер не поддерживает куки (ошибка -91)'.

"Не работает"

"Страница отображается некорректно"

Описание дополнительной информации

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

Для специальных видов багов

Если вы создаете багрепорт об аварийном завершении, пожалуйста приложите к багу Breakpad ID или стектрейс ошибки, а также укажите сигнатуру аварийного завершения (crash signature) в названии бага помимо указания сигнатуры аварийного завершения в поле Crash Signature.

Если вы создаете багрепорт об использовании оперативной памяти или об утечке памяти, пожалуйста приложите текст страницы about:memory. Было бы замечательно, найдите шаги приводящие к увеличению памяти отображаемой в about:memory (наблюдаемое даже после нажатия кнопки "Минимизировать расход памяти" ("Minimize memory usage")). Если вы не можете вычисли шаги для воспроизведения, попробуйте изучить страницу поддержки Firefox, которая называется Высокий расход памяти. Если вы являетесь разработчиком C++, то вам доступны более точные инструменты.

Если вы создаете багрепорт о  низкой производительности или высокой загрузке ЦПУ, пожалуйста предоставьте ссылку на профиль производительности.

Если вы создаете багрепорт об ошибке связанной с конкретной веб страницей, пожалуйста попытайтесь создать небольшай тестовый пример и прикрепите его к багрепорту. Если у вас нет времени или достаточных знаний, пожалуйста сообщите об ошибке по адресу webcompat.com, где наши добровольцы помогут вам.

Если вы создаете багрепорт об ошибке связанной с зависанием Falsh, пожалуйста посетите https://wiki.mozilla.org/Flash/Hang_Debugging для того чтобы изучить как собрать полезную для разработчиков информацию.

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

Что если мой баг выглядит "случайным" или "появляющимся время от времени"?

Большинство ошибок Firefox

Вы должны предоставлять нижеследующую информация для большинства багов Firefox.

Что следует включать в багрепорт? Пример
Сообщите можете ли вы воспроизвести проблему в новом профиле Firefox и любые изменения которые нужно сделать в профиле для того что проблема появилась. Проблема воспроизводится в новом профиле, но только если включена настройка Настройки -> Безопасность -> Сообщать сайтам что я не хочу чтобы меня отслеживали.
Если ошибку получается воспроизвести только в вашем существующем профиле попытайтесь определить настройки, расширения, или файлы в вашем профиле необходимые для воспроизведения бага. Если вы не можете этого сделать и хотите пропустить этот шаг, пожалуйста сохраните информацию со страницы about:support в файл и прикрепите к багрепорту. Баг не воспроизводится в новом профиле, информация с about:support для проблемного профиля прикреплена.

Сообщите если проблема воспроизводится в последней ночной сборке. Включите Идентификатор сборки (Build ID) со страницы about:support.

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

Проблема воспроизводится в последней ночной сборке (Build ID 20150331030204).

 

Информация об исходном документе:

  • Автор(ы): Jesse Ruderman, Gervase Markham
  • Другие контрибьюторы: Eli Goldberg, Claudius Gayle, Jan Leger, Felix Miata, Peter Mock, Chris Pratt, Chris Yeh, and others.

 


Продвинутые темы

Поиск правильного продукта и компонента

Для каждого бага вам нужно выбирать правильный "продукт" и "компонент" в этом продукте, для того чтобы ваш багрепорт получил разработчик которому он предназначен.

Если вы используете Firefox, баг находится скорее всего в компонетах "Firefox", "Toolkit", или "Core".

Если сомневаетесь, найдите похожие баги и посмотрите к каким они отнесены компонентам.

Если ни один компонент не выглядит подходящим, взгляните на компонент "General" который есть у большинства продуктов.

Общая структура багрепорта

Эта статья была перенесена сюда из QMO: Как писать понятные багрепорты

  • Название: Как бы вы описали ошибку используя не более 60 символов? Название должно кратко и однозначно давать представление в чем проблема, а не описывать предложенное вами решение. Хорошо: "Отмена диалога копирования фалов приводит к падению файлового менеджера" Плохо: "Программа падает" Плохо: "Браузер должен работать с моим сайтом"
  • Компонент: В какой части приложения происходит ошибка? Это поле является обязательным для всех багрепортов. Кликните по слову "Component" чтобы увидеть описание каждого компонента. Если нет ничего подходящего, выбирайте компонент "General".
  • ОС: В какой операционной системе (ОС) вы обнаружили эту проблему? (т.е. Linux, Windows XP, Mac OS X.) Пример: "Если вы уверены что этот баг проявляется больше чем на одной ОС выбирайте All. Если вашей ОС нет в списке выбирайте Other".
  • Описание: Подробности проблемы включающие:
    • Обзор: это более подробно переформулированное название бага. Например: "Перетаскивание любой страницы приводит к падению сборок для Mac в функции NSGetFactory".
    • Идентификатор сборки (Build Id): Чтобы найти идентификатор либо откройте страницу "about:support" через строку адреса или, если у вас есть расширение Nightly Tester Tools от MozQA, тогда проследуйте в Инструменты | Nightly Tester Tools и найдите опцию которая содержит идентификатор сборки. Выглядит примерно так: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Firefox/38.0 ID:20150330004006 CSet: 9e57e9776571".
    • Дополнительные сборки и платформы: воспроизводится ли баг на других платформах (или браузерах, если это имеет смысл). Должно выглядеть как то так: "Не происходит на Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Firefox/38.0 ID:20150330004006 CSet: 9e57e9776571".
  • Шаги для воспроизведения: Минимально-необходимое и простое описание шагов которые приводят к появлению бага. Если необходимо, включите необходимые шаги настройки приложения. Хороший пример:
    1) Взгляните на веб страницу. (Я использовал http://www.google.com/).
    2) Выделите текст при помощи перетаскивания. Конкретно, удерживая клавишу мыши, тащите указатель мыши вниз из любой точки содержимого веб страницы к самому низу страницы.
  • Фактические результаты: Что происходит после выполнения шагов. Пример: Приложение падает.
  • Ожидаемый результат: Что приложение должно сделать. Пример: Окно должно скроллироваться вниз. Промотанное содержимое должно выделяться. Как минимум, приложение не должно падать!

Дальшейшее чтение Как написать понятный баг репорт Часть 2

Информация об исходном документе

  • Автор(ы): Aakash Desai
  • Дата последнего изменения: June 3, 2013 at 2:41 am PST

Метки документа и участники

 Внесли вклад в эту страницу: fonar101, YuliaK, Aleksej, veshimed, noirpost
 Обновлялась последний раз: fonar101,