Когда-то 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. Все остальное в этом плане не трогал.
C ценой JIRA не все так просто:
- она строго говоря не ограничена по времени – ограничена по времени поддержка и апдейты (но НЕ ограничение по времени самой лицензии)
в октября 2009 поменялись условия:
- появилась JIRA Starter Edition – 10US$ (но за 10 пользователей)(техподдержка-в наличии имеется,кроме кластерных вещей)
- также – есть Hosted-версия JIRA Studio(но это Hosted-версия чуть ли не всего софта Atlassian вместе – и она дорогая 250 US$ в месяц за 10 юзеров)(было и раньше)
- просто JIRA Hosted – 150US$ в месяц за 10 юзеров
- unlimited-лицензия теперь стоит 8000 US$
- JIRA строго говоря НЕ Open-source(в отличии от всех остальных описанных)(но доступ к исходникам предоставляется даже покупателям Starter Edition)
А как насчет Redmine?
Вы ее видели?
Довольно хороший трэкер.
Есть отчеты, timesheet, фильтрация багов.
Добавить новый баг – несколько кликов.
Не щупал.
Хоть пост и старый, прокоменчу:
Весьма условно обоснованный наезд на Bugzilla в плане скорости. Видно отсутствие опыта работы с реальной системой, а не тестовой.
Для примера – у нас (3.0.4) даже на простеньком серваке, и распаблишенная наружу со скоростью 1Mbit/sec, она реагирует быстрее чем Вы описали скорость Mantis, т.е. в пределах секунды на страницу. Я не говорю про скорость доступа из локалки, и то, что все уже давно перешли на работу через трекер-клиенты с ансинхронным принципом работы (с Вашими требованиями это именно для Вас…). Версия 3.4.4 на всём x64 (от винды, до apache, mysql и perl) вообще летает на 4х ядерной машине.
Говорю как человек, 5 лет работающий с багзилой, и ушедший с Mantis, Test Track Pro и ряда других – но по причине не скорости (хотя холивор разводить не буду).
Спасибо, Михаил, вы правы, действительно получился “наезд”, бо там щупалась версия в стиле “это демо, просто чтобы поглядеть”, и замерять ее скорость работы в этом сравнении некорректно.
Но и не в этом была суть записи. Я тогда думал о том, как решить проблему потери времени при тестировании, и порешил, что много времени уходит на возню с трекером. Поля заполнить, да не пропустить, да не ошибиться в выборе выпадающих списков…
С точки зрения заполнения полей Bugzilla мне тогда показалась наихудшим вариантом, их было СЛИШКОМ много.
Сейчас я знаю, что много времени впустую уходит не на возню с трекером
Но переписывать запись не буду, а то потом не смогу оценивать свои же изменения по обсуждаемой теме.
ну значит растёте, и это здорово!
p.s. кстати всё что я написал про скорость, это ещё и в режиме доступа по ssl3/tsl1, т.е. с максимальной “бытовой” шифрацией, что хилинького сервера образца 2006 года тоже ело ресурсы.
А на счёт полей – тут ребята верно писали – всё это настраивается и убирается/дефолтится нужным – всё зависит от специки.
У нас, например, проектов много и они относительно небольшие (пол года на проект, одновременно таких проектов(команд) 3-4), поэтому тестерам приходится “метаться” между проектами, соответственно и поле выбора проекта убирать как-то не с руки – это просто конкретный пример по нужности/ненужности конкретного поля.
Или ещё пример – модули проекта. У нас есть принципиальное деление – код, графика и т.п. – опять же, это не то же что модули внутри кода и т.п.
Так что весь чёрт в деталях, и не поработав 2-3 проекта с системой трекинга, _верно_ понять лучшее ли это решение для вашего процесса разработки и специфики имхо просто нельзя.
Отсюда вывод – нужно иногда 1-2 года опыта работы с каждой системой, чтобы _точно_ быть уверенными, что из доступного/существующего вы юзаете самое подходящее в данный момент. И то это через год может оказаться не так по разным причинам (от изменений внутренней разработки до выхода новых версий трекеров)
А как на счет Gemini? Два года работаю с этой системой, нравится.
Очень удобный и интуитивно понятный багтрекер.
Кому интересно, можно почитать тут:
http://ru.wikipedia.org/wiki/Gemini_%28%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%29