Система отслеживания ошибок Bugzilla Цель работы
Целью работы является отправка запроса об ошибке, поиск багов по об- щей базе данных, вывод зависимостей ошибок в графическом виде, составление отчётов об ошибках.
Краткие теоретические сведения
Bugzilla - приложение для отслеживания ошибок, разработанная «The Mozilla Organization». Приложения подобного рода позволяют разработчику или группам разработчиков отслеживать ошибки в приложениях и запросы на дополнение приложений новой функциональностью. Фактически, Bugzilla ис- пользуется во многих корпорациях для разработки собственного программного обеспечения для корпоративных нужд.
Ключевым понятием системы является баг («Bug») — некоторый запрос по поводу ошибки в системе, или просто сообщение, требующее обратной свя- зи, и назначение системы — регистрация и предоставление заинтересованным лицам целостной информации о состоянии этого «Bug», включая интерфейсы редактирования, запроса и поиска, механизмы почтового оповещения.
Bug имеет свои атрибуты:
1) Product and Component (Продукт и компонент):
«Продукт». Основной атрибут, задающий структуру. Каждый «Product» состоит из набора компонентов.
Например, продукт "Bugzilla" состоит из нескольких компонентов:
· Administration – администрирование;
· Bugzilla-General – всё, что не вписывается в другие компоненты, или охватывает несколько компонентов;
· Creating/Changing Bugs – создание, изменение и просмотр ошибок;
· Documentation – документация по продукту;
|
|
· Email – всё, что связано с электронной почтой;
· Installation – процесс установки Bugzilla;
· Query/Buglist – поиск ошибок и просмотр «баг-листов»;
· и т.д.
2) Status (Статус)
Основной атрибут, определяющий текущее состояние бага, то есть меру его активности — от самого «начального» состояния, когда он даже не под- твержден, как баг, до благополучного завершения, когда баг исправлен/решен, что подтверждено Службой Качества.
Статус может быть пяти видов: UNCONFIRMED
«Не подтвержден». Наличие этого состояния зависит от настройки кон- кретного продукта. Например, если считается, что баг-отчеты в продукт могут составлять неконтролируемое множество пользователей (например, интернет- аудитория), то в этом состоянии имеется смысл. Тогда, для перехода в следую- щее состояние необходимо решение пользователя системы с правами
«canconfirm». Если же новые баги ставят только обученные сотрудники, то в это состояние, скорее всего не нужно.
CONFIRMED («Подтверждён»); IN PROGRESS («В процессе»); RESOLVED («Решён»);
VERIFIED («Проверен»).
3) Resolution («Решение»)
Этот атрибут имеет смысл только для багов в состояниях «RESOLVED»,
«VERIFIED», «CLOSED». Также, набор «решений» можно настраивать, но стандартный набор следующий:
· FIXED («Решено»);
|
|
· INVALID («Некорректно» — неправильная или некорректная поста- новка, не имеющая смысла);
· WONTFIX («Проблема есть, но решать ее не будем»);
· DUPLICATE («Дубль» — описанная проблема уже регистрировалась в определенном баге);
· WORKSFORME («А у меня работает…» — не удалось воспроизвести описанную проблему ни эмуляцией сценария, ни анализом кода);
· MOVED (Проблема перенесена в иную систему);
· LATER (Задача зафиксирована, но ее решение откладывается на не- определенный срок. Возможно для ее решение нужно некоторое внешнее собы- тие, или решение каких-либо задач).
4) Связанные пользователи:
· Assigned_To (Лицо (сотрудник, пользователь), ответственное за реше- ние (исправление) бага);
· Reporter (Пользователь, собственно составивший (заполнивший ин- формацию) о баге);
· QA (Пользователь, ответственный за проверку решения бага);
· CC («СС list»: Список людей, извещаемых при изменениях бага).
5) и др.
Ход работы
Создание учётной записи пользователя
Если вы хотите использовать Bugzilla, сначала нужно создать учетную запись. Зайдите на сайт https ://landfill .bugzilla .org /bugzilla -4.4-branch /, нажмите на «Open a New Account» (рис. 1).
Рисунок 1 – Создание учётной записи
Далее нужно ввести свой адрес электронной почты и нажать «Send». После указания своего e-mail вам придет письмо с ссылкой для под-
|
|
тверждения учетной записи. В нем необходимо нажать на ссылку активации учетной записи (рис. 2).
Рисунок 2 – Активация учётной записи
Далее введите имя, пароль и нажмите «Create». После успешного созда- ния учётной записи на главной странице появится соответствующая отметка (рис. 3).
Рисунок 3 – Успешное создание учётной записи
2. Создание «бага»
Для создания бага перейдите по вкладке «File a Bug», после чего нужно будет выбрать тип продукта (рис. 4).
Рисунок 4 – Выбор вида продукта
Далее нажмите на «All» и выберете конкретный продукт (рис.5).
Рисунок 5 – Выбор продукта Затем нужно установить атрибуты бага (рис. 6). Summary
Аннотация задачи/проблемы одним предложением. В правилах «хоро- шего тона» обязательно дублировать при регистрации нового бага содержимое
«Summary» в первом комментарии, так как атрибут «Summary» может быть не- сколько раз отредактирован, и будет утерян смысл бага (рис.6).
Version
Обычно используется для указания конкретных версий продукта (вернее компонента продукта), в которых наблюдается описанная проблема (рис.6).
Priority
Ответственный указывает приоритет (именно свою оценку приоритета) описанной проблемы или задания. Стандартный набор значений — от «P1» (наивысший приоритет) до «P5» (наименьший).
|
|
Severity
Указывает на критичность возникшей проблемы. Домен значений мож- но настраивать, стандартный набор следующий (рис. 6):
· Blocker (Разработка или использования продукта невозможна. Нужно немедленное исправление проблемы);
· Critical (Серьезные проблемы — не работает критический блок функ- ционала, наблюдаются серьезные ошибки, связанные с потерей данных и т. п.);
· Major (Проблема связана с важным функционалом продукта);
· Minor (Проблема связана с второстепенным функционалом продукта, или есть легкий обходной путь для этой проблемы);
· Trivial (Проблема косметического уровня — например, «недоработан- ный» интерфейс (опечатки, не выровненные поля, разнобой с цветами и т. п.);
· Enhancement (Запрос на доработку). Comments
Комментарии. Первый комментарий по багу — это «Description», остальные в форме редактирования бага именуются «Additional Comments» (рис. 6,7).
Misc (такие атрибуты можно установить, нажав на «Show Advanced Fields»)
URL
Ассоциированный с багом URL, указывающий на документ с описани- ем/постановкой проблемы, если таковой имеется.
Whiteboard
Текстовая зона свободной формы для задания кратких заметок или тегов
к багу.
Keywords
Ключевые слова, используемые для пометки и даже для классификации
багов. Набор ключевых слов «глобальный», общий для всех продуктов внутри Bugzilla, поэтому рекомендуется ответственно относиться к заведению каждого нового ключевого слов, чтобы не «замусоривать» общее пространство.
Platform
Вычислительная платформа (железо), на которой наблюдается проблема (рис.6).
OS
Операционная система, на которой наблюдается проблема (рис.6).
Attachments
К багам можно прикреплять файлы (например сценарии тестирования, патчи) (рис. 6).
Votes
Собрал ли баг сколько либо голосов. Используется, в основном, для ав- томатического перевода бага из состояния «UNCONFIRMED» в состояние
«CONFIRMED».
Рисунок 6 – Установка атрибутов бага
Рисунок 7 – Прикрепление файла
После заполнения всех указанных полей необходимо нажать кнопку Submit Bug внизу страницы для заведения проблемы в системе (рис. 7).
Далее должна появиться страница с созданным багом (рис. 8, 9, 10).
Рисунок 8 – Страница с созданным багом
Рисунок 9 – Страница с созданным багом (продолжение) Внизу страницы находятся комментарии по багу (рис. 10).
Рисунок 10 – Страница с созданным багом (продолжение)
Для быстрого заведения новых багов (схожих с имеющимися) — напри- мер, если необходимо провести декомпозицию, то есть выделить некоторую подзадачу из крупной задачи, можно применять «клонирование», вызываемое ссылкой «Clone This Bug» (рис. 11).
Рисунок 11 – Клонирование бага
Клонирование бага приводит к заведению бага, унаследовавшего все ат- рибуты от исходного бага. «Клонирование в тот же продукт» выделено отдель- ной ссылкой, так как это ускоряет наиболее распространенный сценарий кло- нирования, исключая одну или две страницы выбора продукта.
Все действия над заведенным запросом отражаются в письмах в Вашем почтовом ящике. В письме кроме самого комментария будет указана ссылка для быстрого перехода к данному запросу в багзиллу (рис. 12).
Рисунок 12 – Уведомление о добавлении комментария
3. Поиск «багов»
На странице «Bugzilla Search» представлен интерфейс к поиску любых зарегистрированных багов, комментариев и патчей. Интерфейс позволяет за- дать поисковые значения для всех перечисленных полей бага, причем для неко- торых полей может быть задано несколько значений из домена (с помощью списков с множественным выбором). Если значение не выбрано — атрибут бага может принимать любое значение.
Поиск может быть простым (рис. 13) и развернутым (рис. 15, 16).
Рисунок 13 – Простой поиск
Попробуем найти свой баг с помощью простого поиска, введя в поле для быстрого поиска «test12345». Результаты запроса представлены на рисунке 14.
Рисунок 14 – Результаты поиска бага «test12345»
Рисунок 15 – Развёрнутый поиск
Можно накладывать временные условия на изменение бага (рис. 17), за- прашивая только баги, по которым было какое-нибудь движение (изменение атрибутов, комментарии) в определенном интервале времени — см. группу по- лей «Bug Changes».
Интервал времени можно задавать как в абсолютной форме (yyyy-mm- dd), так и в форме, относительной текущей даты, таким образом можно сделать хранимый запрос, показывающий только баги, измененные в течении предше- ствующих 24 часов (или недели, или месяца).
Рисунок 16 – Развёрнутый поиск (продолжение)
Конкретно, можно использовать слова:
Now — «сейчас», разумно использовать для задания верхней границы интервала.
1d — день назад (2d — два дня назад …). 0d — последняя полночь, до текущего момента.
1w — то же самое в неделях. 0w — начало недели. 1m — то же в месяцах. 0m — начало месяца.
1y — то же в годах. 0y — начало года.
Можно добавить перед относительными датами знак «+», это будет означать, что относительная дата не вычитается из «Now», а прибавляется (в будущее). Кроме того, возможно осуществлять поиск по людям (рис. 17).
После выбора списка, его можно отсортировать щелчками по заголовкам колонок (что приводить к сортировке списка в порядке возрастания / убывания выбранного атрибута-колонки).
Рисунок 17 – Поиск по людям и временным условиям
Кроме того, можно просмотреть список собственных багов. Для этого нужно нажать на вкладку «My Bugs» (рис. 18).
Рисунок 18 – Просмотр списка собственных багов
Bugzilla обладает ещё некоторыми полезными возможностями (рис. 18):
· Edit Search (Можно вернуться на страницу запроса для дополнитель- ного уточнения запроса);
· Time Summary (перенаправляет на страницу просмотра отчётов по трудозатратам по выбранным багам);
· Change Columns (изменить список атрибутов, показываемых в спис-
ке).
4. Хранение запросов
Любой выполненный запрос можно сохранить под неким выбранным именем («Remember Search As»), тогда результат этого запроса можно будет всегда получить за один «клик», активировав одноименную с запросом ссылку, которая будет показываться внизу страницы, в линейке «Saved Searches» (рис. 19).
Рисунок 19 – Сохранение поискового запроса
Результаты поискового запроса можно представить в различной форме:
CSV (выдает список в CSV формате (разделенным запятыми), например, для импорта в программу электронных таблиц (рис. 20));
Рисунок 20 – Список багов в формате CSV
XML (даёт возможность выгрузить баги в XML-файл (рис. 21), для по- следующего импорта в другую Bugzilla или какой-то специальной обработки);
Рисунок 21 – Список багов в формате XML
Long format (показывает несколько багов на одной странице в подроб- ном формате со всеми атрибутами и полными обсуждениями (рис. 22)).
Рисунок 22 – Список багов в Long format
5. Отчеты и графики
В дополнение к стандартному списку багов, багзилла имеет некоторые аналитические возможности — просмотр количества зарегистрированных багов в виде таблиц и графиков, с возможностью задания среза (перспективы) агрега- ции, а также графики, показывающие динамическое изменение состояния багов по времени.
Отчет представляет собой некий информационный срез о текущем со- стоянии базы зарегистрированных багов (рис. 23). Он строится на основе поис- кового запроса.
Рисунок 23 – Задание параметров отчёта
Можно сделать отчет как обычным, HTML-табличным (рис. 24), так и графическим, с различными видами графиков: линейными (рис. 25), круговыми (рис. 26), гистограммы (рис. 27) (line/pie/bar), и переключаться между этими режимами просмотра онлайн.
Рисунок 24 – Табличный отчёт
Рисунок 25 – Графический отчёт в виде линейной диаграммы
Рисунок 26 – Графический отчёт в виде круговой диаграммы
Рисунок 27 – Графический отчёт в виде гистограммы
6. Настройки пользователя
Настройки пользователя можно изменять с помощью вкладки Prefer- ences» (рис. 28).
Рисунок 28 – Изменение настроек пользователя Настройки пользователя подразделяются на:
Account Information
На этой закладке, вы можете менять основную информацию вашей лич- ной записи — пароль, e-mail, настоящее имя. По соображениям безопасности, при изменении любых параметров на этой странице, вы должны подтвердить изменение вводом своего пароля. Если вы меняете свой email, то по обоим (ста- рому и новому) адресам будет выслано письмо со ссылкой на подтверждение изменения.
General Preferences
Содержит простые настройки интерфейса. Email Preferences
Эти настройки определяют, когда и сколько писем будет вам слать Bugzilla. Если вы хотите получать максимальное объем писем — нажмите на кнопку «Enable All Mail». Если не хотите получать почту от Bugzilla – нажмите
«Disable All Mail» (рис. 29).
Рисунок 29 – Настройки email-рассылки Saved Searches
Данная вкладка содержит все настройки, связанные с поиском. Permissions
Это чисто информационная страница-закладка, описывающая все права пользователя в текущей инсталляции — какие группы продуктов доступны, может ли пользователь редактировать баги и осуществлять административные функции.
Порядок выполнения работы
1. Создать новую учётную запись;
2. Создать произвольный баг;
3. Выполнить поиск багов по определённым критериям и представить результаты в соответствии со своим вариантом;
4. Создать отчёт по багам на основе поискового запроса;
5. Выполнить настройки в соответствии со своим вариантом;
6. Ответить на контрольные вопросы;
7. Написать отчёт, защитить у преподавателя.
Вари- ант | Поиск | Отчёт | Настройки |
1 | Поиск багов за последний месяц с приоритетом P2 Список в csv формате | Табличный Горизонтальная ось - OS | Запретить отсылку электронных писем |
2 | Поиск багов с summary bug с критичностью проблемы normal Список в Long Format | Графический (Bar) Горизонтальная ось - Complete | Сменить пароль и email |
3 | Поиск багов по продукту Food- Replicator, ОС Windows XP Список в формате xml-файла | Графический (Line) Горизонтальная ось - Status | Автоматически вклю- чать себя в CC list |
4 | Поиск багов со статусом con- firmed, компонентом Salt Список в csv формате | Графический (pie) Горизонтальная ось - Priority | Убрать комментарии при выполнении быстрого поиска |
5 | Баги с названием, схожими с ва- шим, приоритетом 3 Список в Long Format | Табличный Горизонтальная ось - Severity | Показывать коммен- тарии от старых к но- вым |
6 | Баги со статусом in progress, продукт - MyOwnBadSelf Список в формате xml-файла | Графический (Bar) Горизонтальная ось - Hardware | Предпочтительный формат электронной почты - текстовый |
7 | Баги с компонентом Venom, кри- тичностью normal | Графический (Line) Горизонтальная ось | Отсылка письма на email при добавлении |
Список в csv формате | - Hardware | комментария | |
8 | Баги с критичностью blocker, Hardware - Macintosh Список в Long Format | Графический (pie) Горизонтальная ось – Actual hours | Отсылка письма на email при изменении вложения |
9 | Баги ОС Windows 2000, contains Reporter – ваш логин Список в формате xml-файла | Табличный Горизонтальная ось – Number of Com- ments | Отсылка письма на email при изменении приоритета |
10 | Баги за последние 2 месяца, Res- olution - invalid Список в Long Format | Графический (Bar) Горизонтальная ось - Reporter | Отсылка письма на email при изменении CC list |
Контрольные вопросы
1. Для чего используется приложение Bugzilla?
2. Что такое баг?
3. Какие атрибуты у бага?
4. Как создать запрос?
5. Какие виды поиска существуют?
6. В каком виде могут быть представлены результаты поиска багов?
7. Можно ли сохранять поисковые запросы? Если да, то каким образом?
8. Как составить отчёт?
9. Какие формы отчётов существуют в Bugzille?
10. Как настроить получение максимального объёма писем?
Лабораторная работа №8
Дата добавления: 2019-09-13; просмотров: 270; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!