Когда-то Udaleator рассказывал мне о том, что в разработке важны буквально все мелочи, которые окружают разработчика. Вплоть до покрытия пола, по котором человек перемещается на кресле от одного стола к другому. Не скажу, что не был впечатлен, но до конца все это не осознавал.
Теперь я проповедую то же самое, особенно в отношении рабочего инструмента “багтрекер”. С точки зрения тестировщика у меня сложилось особое требование к подобному инструменту – быть удобным и скоростным при заведении баг-репортов.
Возможно, вопросы скорости работы багтрекера кажутся надуманными, но меня эта “надуманная” проблема иногда приводила к тому, что все баг-репорты, найденные в течение тестовой сессии, я записывал в Блокнот, и только ближе к вечеру начинал выкладывать все на трекер.
Даже обоснование этой задержке нашел – во время вечерного “занесения” описания багов волей-неволей пересматриваются, и уточняются, и от этого, мол, даже лучше… Это обоснование ошибочно.
Вот сквозь призму скорости заведения баг-репортов и поговорим о трех “ходовых” багтрекерах – Mantis, Bugzilla, Jira.
Мне также доводилось работать с трекерами типа Microsoft SharePoint Service (SPS) и CollabNet Enterprise Edition, но их в этом обзоре не будет.
Понаехали!
Mantis
Доступ к демо-версии: guestqa/guestqa
Внимание: указанная демо-версия не настроена на дружбу с русскоязычными символами, поэтому для теста лучше использовать английский алфавит.
Краткое описание
Mantis — свободно распространяемая система отслеживания ошибок в программных продуктах (bugtracker).
Обеспечивает взаимодействие разработчиков с пользователями (тестировщиками).
Позволяет пользователям заводить сообщения об ошибках и отслеживать дальнейший процесс работы над ними со стороны разработчиков.
Имеет гибкие возможности конфигурирования, что позволяет настраивать её не только для работы над программными продуктами, но и в качестве системы учёта заявок.
Построена по принципу “клиент-сервер”, поэтому не требует для работы установки специального ПО и работает через веб-браузер.
Разработана программистами для программистов. Изрядно допускает копание в своём коде и его переиначивание под свои нужды.
Скорость занесения нового баг-репорта
Весьма высокая.
Средний отклик страницы с рассматриваемого демо-сервера равен трем секундам. Время открытия страницы с полями для занесения баг-репорта с рассматриваемого демо-сервера – 2 секунды.
Имею большой опыт работы с подобным трекером – страница для заполнения нового баг-репорта открывалась за полторы секунды.
- Кликнуть по линку [Report Issue].
Если в настройках не указано, какой проект является дефолтным для пользователя, то сперва открывается страница “Выбрать проект”. Если проект уже указан, вопрос не появляется.
Большой плюс – линк на [Report Issue] един во все времена – bug_report_advanced_page.php Его можно занести в закладки, и вызывать его посредством короткого имени вроде “1″.
Подсказка: как вызывать страницы посредством “кейворда” закладки
Для этого в настройках закладки в поле Keyword следует прописать цифру “1″, и в дальнейшем для ее открытия потребуется три нажатия клавиш:
“F6″ для фокуса на адресной строке
“1″ – появляется в адресной строке.
“Enter” на клавиатуре.Это намного быстрее, нежели ерзанье курсора мыши по экрану и его прицел на нужную вкладку.
Единица из примера удобна тем, что символ неизменяем при любой раскладке клавиатуры.
Продолжим.
- Открывается страница с полями для записи всех аттрибутов бага.
Можно сразу записать все, что нужно, в поле Description, и лишь потом указать степень важности бага, его заголовок, версию продукта, платформу и все такое прочее.
В случае, если это issue является не багом, а task или feature request, все это также можно указать ПОСЛЕ того, как записан основной текст.
Обязательных для заполнения полей только три – Category, Summary, Description.
- Указать файл со скриншотом.
Минус Mantis – при занесении одного бага можно указать только один скриншот. Второй-третий придется указывать только после того, как баг-репорт будет опубликован в системе. Минус немного уменьшается за счет того, что после публикации бага открывается его “full-preview”, в котором можно добавлять новые скриншоты. Но тоже по одному.
Переходим в режим просмотра issue.
Подсказка: как очень быстро указать в багтрекере файл со скриншотом
Для этого нужно в Total Commander (или в Krusader) настроить сочетание клавиш на команду “Копировать полный путь и имя файла в буфер обмена” – для меня удобным оказалось сочетание “Alt+2″.
Полученный набор символов надо просто вставить в поле, которое обычно заполняется после манипуляций с кнопкой “Обзор”.
В Krusader нужная команда называется “Copy current item to clipboard“. Ее настройка вызывается через меню Settings – Configure Shortcuts.
В Total Commander нужная команда называется “cm_CopyFullNamesToClip“.
Ревью багов
Весьма быстрое и удобное.
Что ценно – у каждого issue есть собственный линк, который можно переслать в письме или по мессенджеру.
Каждое issue изрядно снабжается логом изменений, и может быть откомментировано до упаду.
Из каждого issue можно послать уведомление другому девелоперу или другу народов.
Отчеты
В Mantis нет чего-то, что называется “Сгенерировать отчет о ходе проекта”. Система сделана разработчиками для разработчиков, а не для менеджеров.
Есть мощная и достаточно удобная система фильтрации всех issue по различным критериям, и на основе этих данных запросто можно сделать отчет о ходе проекта хоть на бумаге, хоть в Excel.
Поиск багов – фильтрация
Весьма, весьма мощная и продуманная система фильтрации.
Общая оценка
Я хочу работать с этим багтрекером!
+10 из 10!
Bugzilla
Доступ к демо-версии: astenix@mail.ru/guestqa
Краткое описание
Свободная система отслеживания ошибок (багтрекинга) с веб-интерфейсом.
Хорошо продуманная и оттестированная система, с одной стороны она довольно проста, с другой стороны, там есть всё, что нужно для багтрекинга типичного проекта. Сейчас Bugzilla используют более трёхсот компаний и организаций по всему миру, среди них есть такие компании как: NASA, Id Software, IBM и софтверные проекты: Mozilla Firefox, Linux, Gnome, KDE, Apache Project, OpenOffice.org.
По функциональности Bugzilla отстает от многих современных багтрекеров. Разработчики считают, что одна из причин этого – выбор Perl в качестве языка реализации Bugzilla, рассматривается возможность переписать Bugzilla на каком-нибудь другом языке программирования.
Ключевым понятием системы является баг — некоторое задание, запрос, рекламация по поводу ошибки в системе, или просто сообщение, требующее обратной связи.
Специально для Bugzilla была создана Testopia – система управления тест-кейсами через веб-интерфейс. Некоторые организации считают связку Bugzilla-Testopia достаточно удачной для опен-соурс-разработки.
Скорость занесения нового баг-репорта
Низкая.
Средний отклик страницы с рассматриваемого демо-сервера равен семи секундам. Время открытия страницы с полями для занесения баг-репорта с рассматриваемого демо-сервера – 17-20 секунд
- Кликнуть по линку [Report Issue]
Появляется просьба “Please select the classification”.
Изрядно прокопался в настройках пользователя, но не нашел возможности “назначить” себе какой-либо проект “по-умолчанию”, чтобы избежать необходимости выбора проекта при каждом открытии нового баг-репорта
Единственный выход – занести в персональные закладки явный адрес определенного проекта. Точнее, продукта. Например, линк https://landfill.bugzilla.org/bugzilla-tip/enter_bug.cgi?product=WorldControl откроет страницу с нужными полями для занесения бага непосредственно в проекте “WorldControl”.
Ну, и закладке надо дать “кейворд”, само собой.
При добавлении скриншотов появляется ajax-ориентированная фишка для указания всяких аттрибутов скриншота. Как и в Mantis – за один раз можно добавить только один скриншот. По-моему, слишком там много аттрибутов предлагается заполнить…
При добавлении кейвордов к баг-репорту тоже вылезает ajax-ориентированная фишка.
Рядом с кнопкой [Commit] обнаружилась полезная в среде Bugzilla кнопка [Remebmer values as bookmarkable template]. Полный линк длинющ, словно путь Молдовы в Европу:
https://landfill.bugzilla.org/bugzilla-tip/enter_bug.cgi?
alias=
&assigned_to=tara%40bluemartini.com
&blocked=&bug_file_loc=http%3A%2F%2F
&bug_severity=normal
&bug_status=ASSIGNED
&cf_date=
&cf_drop_down=—
&cf_free_text=
&cf_large_text=
&comment=Задрали крокодилы
Гм.
Зато сохраняется полное содержимое уже заполненных полей.
После публикации баг-репорта (все те же 20 секунд) открывается страница с багом и полями, готовыми к редактированию со стороны комментаторов или даже с моей стороны. Понятно, раз я залогиненный, то разумно выводить все в виде полей, готовых к заполнению. Но выглядит все это некрасиво.
Читать это не очень удобно. Непосредственное описание бага почему-то находится в самом низу страницы.
Не смог найти скриншот, который я добавил к описанию бага. Предположил, что демо-версия не предполагает закачку файлов со стороны пользователей, однако после публикации таки доложил системе один скриншот – и он добавился…
Bugzilla позволяет открывать отдельные страницы для аттачей – там и сам аттач, и его описание. и всякие другие поля. Считаю их излишними.
Обнаружил странность: после каждого открытия аттача (и прямо картинку, и ее страницу-описание), на странице с баг-репортом добавляется по одной строке в разделе аттачмента, словно каждое действие сопровождалось добавлением новой картинки.
А по-ходу – так и есть: кнопка [viewall] показывает следующее:
на странице показаны три копии одной и той же картинки, у каждой – собственный ID…
Поиск багов – фильтрация
Для новичков приспасена странность: поиск с критериями “Open – All” не работает. Система требует указать еще и слово для поиска. Следует учесть, что при открытии страницы “advanced search” система открывает вкладку поиска определенного бага – ‘Find a specific bug’. Разумное поведение, но неожиданное.
А вот вкладка ‘Advanced search’ дает простор больному воображению…
Ревью багов
Полноценно не проводил. Долгий отклик демо-версии, знаете ли… Да и некрасиво. А некрасиво = неюзабельно.
Отчеты
Bugzilla сильна своими отчетами о количестве багов, их приоритетах, в общем, все то, что может показать “ход проекта”.
Таки да, менеджерам будет удобно получать достаточно полновесные отчеты “одним нажатием”. График можно показать и в виде линии, и в виде палочек, и даже в виде портрета мотоцикла, который ранним утром ревет под окном… Страница их генерирования еще предлагает до черта фильтров.
Но широко и мощно имел я ввиду все эти отчеты, если процесс добавления бага в систему так насыщен допполями, которые излишни, а также всеми теми странностями, которые показывают, что эта система, как Windows, уютно живет “внутри себя”.
Генерируйте себе отчеты в Excel – его же специально для таких, как вы, разрабатывали… Если не понятно, как именно это делает Excel, я очень подробно объясню.
Общая оценка
Работать с этой системой можно.
Если хотите – сами работайте с этим багтрекером…
5 из 10.
Jira
Доступ к демо-версии: guestqa/guestqa
Краткое описание
Cистема отслеживания ошибок, разработана компанией Atlassian Software Systems. Предназначена для организации общения с пользователями через веб-интерфейс.
В некоторых случаях эту систему можно использовать для управления проектами.
Название системы (JIRA) было получено путём модификации названия конкурирующего продукта – Bugzilla. JIRA создавалсь в качестве замены Bugzilla и во-многом повторяет архитектуру Bugzilla. Система позволяет работать с несколькими проектами. Для каждого из проектов создаёт и ведёт схемы безопасности и схемы оповещения.
Годовая лицензия версии Jira Professional стоит $2400.
Однако JIRA is free for use by official non-profit organisations and charities (proof of non-profit status is required).
Скорость занесения нового баг-репорта
Очень высокая.
Средний отклик страницы с рассматриваемого демо-сервера равен двум секундам. Время открытия страницы с полями для занесения баг-репорта с рассматриваемого демо-сервера при условии, что все происходит в первый раз – 3-4 секунды.
При повторном открытии того же темплейта в том же проекте время отклика – 1 секунда.
- Кликнуть по линку [CREATE NEW ISSUE]
В Mantis при открытии нового issue требовалось выбрать проект. В Bugzilla – еще и подпроект.
Jira в этом плане не демократичнее. На одной странице предлагается сделать превый шаг из двух:
- Choose the project…
- and Issue Type…
Адрес этой страницы стабильный – http://jira.atlassian.com/secure/CreateIssue.jspa
Но каждый раз при открытии этой страницы приходится уточнять, какой именно issue ты открываешь – баг, спецификацию, задачу, и нет никакой возможности занести куда-нибудь в линк уточнение о том, что ты открываешь именно баг… Без мыши тут просто никак
На втором шаге адрес в адресной строке не меняется – все тот же CreateIssue.jspa, но содержимое страницы уже иное. Фреймы…
Причина подобного поведения: при выборе разных типов issue система подгружает разные темплейты, с разными полями. Увы…
Но по этой “причине архитектуры” системы общее среднее время открытия новой страницы для баг-репорта – не менее десяти секунд даже если в целом система отзывается очень быстро. Раздражает
Общий вид полей для занесения нового баг-репорта достаточно цивилен (чувствуется рука дизайнера). Но как раз эта рука и сделала размер шрифтов на странице весьма мелким. Каждому дизайнеру надо давать по обычному монитору, чтобы не летал в облаках…
Неимоверно удобен в Jira механизм закачки скриншотов – после выбора первого скриншота появляется поле для ввода второго. Потом – третьего. Система срабатывает даже в том случае, если адрес файла вставляется в поле методом быстрого тыка, который описан выше.
После публикации issue система показывает ее итоговый вид.
Красивее, чем в Mantis.
Разумеется, я специально закачал два раза один и тот же скриншот. Jira не подавилась, и показала оба файла, словно так и надо…
Ревью багов и Отчеты
По качеству и разнообразию отчетов Jira уделывает Bugzilla в три прихлопа.
Примеры отчетов по-умолчанию:
- Recently Created Issues Report
- Created vs Resolved Issues Report
- Resolution Time Report
- Average Age Report
- Pie Chart Report
- User Workload Report
- Version Workload Report
- Time Tracking Report
- Single Level Group By Report
Если не хватает – делаем собственные фильтры.
Ну, откроем Pie Chart Report.
Просят указать Project or Saved Filter, а также Statistic Type. Выберем “все баги – их статус”.
Чувствуется, что не бесплатный продукт…
Поиск багов – фильтрация
Достаточно мощно и красиво организованная система фильтров – так же удобно, как и в Mantis.
Общая оценка
Прекрасный багтрекер.
Если бы не грубый ляп с необходимыми двумя шагами при публикации нового баг-репорта, что заставляет дергать мышь и отжидать десяток секунд…
И если бы не цена ограниченной по времени лицензии…
8 из 10.
Намереваюсь
Пощупать систему под названием Trac.
Рекомендую
Посмотреть большой список околобагтрекинговых систем в виде таблицы сравнений. Внушает.



















вместо 1, используй для мотивации +1
Specially для Mantis – Если в config_inc.php добавить переменную $g_preview_attachments_inline_max_size – отличная получается тема!!!!
пощупайте Trac
я думаю вам понравится
только ставьте
trac 0.11rc1
потому что к нему можно прикрутить
http://trac-hacks.org/wiki/TestingWorkflow
кроме того вам как тестировщику понравится
плагин специально ориентированный на Test Case’ы
http://trac-hacks.org/wiki/TestCaseManagementPlugin
Спасибо, заценю обязательно.
[...] в Jira Всем тем, кто должен (или счастлив) работать с Jira, надо вызубрить правила форматирования текста в ее [...]
Все демо, подразумеваются в дефалтовой настройки – так?
Кастомизировать – настроить поля, оставив только необходимые, это уже доп. усилия.. Были ли попытки?
PS Хотя.. времязатраты.. Кому-то дешевле-быстрее взять готовый mantis – если он уже всем устраивает..
Конечно, потому и указано, где и что находится.
Кастомизировать приходилось только Mantis. Все остальное в этом плане не трогал.