что такое баг трекинговая система
Выбираем подходящий баг-трекинг
Я общался с десятками QA-инженеров из разных компаний и каждый из них рассказывал о том, что у них используют разные системы и инструменты для баг-трекинга. Мы тоже пробовали несколько из них и я решил поделиться решением, к которому мы пришли.
Интро
Буду банален. Ошибки появляются и обнаруживаются на различных этапах процесса разработки. Поэтому можно разделить баги на категории, в зависимости от времени их обнаружения:
С чего мы начинали, или Jira
Два года назад у нас была выделенная команда тестировщиков, которые вручную тестировали продукт после интеграции кода всех команд. До этого момента код проверялся разработчиками на девелоперских стендах. Ошибки которые находили тестировщики заносились в бэклог в Jira. Баги хранились в общем бэклоге и переезжали из спринта в спринт с другими задачами. Каждый спринт два-три бага доставались и чинились, но большинство оставалось на дне бэклога:
У меня есть подозрения, что за все время работы нашей сети, никто, кроме тестировщиков не воспроизводил эту ошибку. Такого рода ошибки и составляют большинство багов, которые не исправляются.
При таком подходе, когда заносятся все найденные баги, некоторые из них дублируются и большинство из этих багов не чинится возникают проблемы:
Прощай Jira, да здравствует Kaiten
Весной 2018 года мы отказались от Jira и перешли в Kaiten. Смена инструментов была вызвана причинами, о которых Андрей Арефьев написал в статье «Почему Додо Пицца стала использовать Kaiten вместо связки Trello и Jira». После перехода в Kaiten наш подход к работе с багами не изменился:
Время экспериментов, или нет
Мы решили поэкспериментировать с форматами и создали отдельную доску в Kaiten, на которой хранили баги и меняли статусы. Мы упростили заведение баг-репорта, чтобы тратить меньше времени. При добавлении карточки в Kaiten тестировщики помечали разработчиков. Об этом им на почту отправлялось уведомление. Мы вывели эту доску на монитор, который висел в проходе рядом с нашим рабочим местом, чтобы разработчики видели прогресс и процесс тестирования стал прозрачным. Эта практика тоже не прижилась, потому что основной канал общения – Slack. Наши разработчики не проверяют почту часто. Поэтому это решение быстро перестало работать и мы снова вернулись к Slack.
Верните муравьишек
После неудачного эксперимента с доской в Kaiten, некоторые разработчики всё ещё были против формата с сообщением в Slack. И мы стали думать как трекать баги в слаке и решить проблемы, которые мешали разработчикам. В результате поисков наткнулись на приложение для Slack, Workast, которое помогает организовать работу с тудушками прямо в мессенджере. Мы подумали, что это приложение позволит управлять процессом работы с багами более гибко. У этого приложения были свои плюсы: смена статусов и назначение на разработчиков по одному нажатию кнопки, завершенные задачи скрывались и сообщение не разрасталось до огромных размеров.
Так выглядели решенные задачи в приложении Todo и просьбы вернуть «муравьишек». После окончания пробного периода приложения Workast мы решили от него отказаться. Потому что пользуясь этим приложением, мы пришли к тому же, что было во время, когда мы пользовались Jira. Оставались некоторые баги, которые кочевали в этом списке из регресса в регресс. И с каждой итерацией их становилось больше. Возможно, стоило доработать процесс работы с этим расширением, купить его и пользоваться, но мы этого не сделали.
Наш идеальный способ по работе с багами сейчас
Во-первых, у нас не стало выделенной команды тестировщиков. Все тестировщики разошлись в команды разработчиков, для усиления компетенции тестирования команд. Благодаря этому мы стали находить ошибки раньше, до того как произойдет интеграция кода команд.
Во-вторых, мы отказались от ручного регрессионного тестирования в пользу автоматического.
В-третьих, мы приняли «zero bug policy». В статье «#zerobugpolicy или как мы баги чиним» bevzuk подробно рассказывает как мы выбираем баги, которые чиним.
Сегодня процесс работы с багами выглядит следующим образом:
Итоги
Коротко говоря, мы отказались в принципе от баг-трекинговой системы. С помощью такого подхода работы с багами мы решили несколько болей:
А как в вашей компании устроен процесс работы с багами?
4 лучших багтрекера или как QA эффективно отслеживает ошибки
Чем больше задач, проектов, клиентов, тем серьезнее встает этот вопрос: как систематизировать информацию о всех тасках и обнаруженных багах для учета рабочего времени, так называемых человеко-часов и возможности видеть картину в целом для расставления приоритетов.
В настоящее время без багтрекера невозможно представить работу как начинающего, так и опытного QA инженера. Для построения правильного процесса тестирования багтрекер просто необходим. Но как выбрать именно тот, единственный и неповторимый, который будет с тобой каждый день и с которым можно строить планы на будущее? Мы все еще о багтрекере. Так вот, чтобы помочь себе и сократить ваше время на поиски идеального багтрекера в столь изобилующем багтрекерами современном мире, мы подготовили небольшой обзор, основанный на нашем опыте и популярности систем. Мы выделим их ключевые особенности, а также в конце поделимся таблицей сравнения, которая помогла нам систематизировать багтрекеры и выбрать лучший для наших потребностей.
Redmine
Не можем умолчать тот факт, что мы сами пользуемся Redmine. Мало того что он бесплатный, но и нареканий не вызывал, и недостатков особых за 3 года использования нами обнаружено еще не было.
Bontq
YouTrack
Желаем вам выбрать вашего лучшего друга-багтрекера.
Анастасия Филатова, QA Engineer ROI4CIO
Обзор популярных систем bug-трэкинга
Содержание статьи
Рано или поздно в растущих компаниях бесплатная система управления проектами (читай: Redmine) перестает справляться с потоком приходящих задач, а ее минусы перевешивают все существующие плюсы. И именно тогда нужно сделать правильный выбор и заплатить за ту систему, которая будет соответствовать всем необходимым требованиям.
Что такое Agile и Scrum?
Agile-методы — это методы разработки программного обеспечения, ориентированные на разработку по итерациям (планирование обновлений и контроль их выполнения).
Как гласит Википедия, основных идей гибкой методологии разработки четыре:
Суть методологии заключается в том, что разработчики от итерации к итерации выполняют требования заказчика, постоянно улучшая свой продукт. Есть несколько популярных методов работы по Agile. Одним из них является Scrum.
Scrum — это методология управления проектами, позволяющая планировать изменения, которые будут выполнены, и контролировать их выполнение.
Для контроля выполнения задач в Scrum используется доска (рис. 2), по которой можно отслеживать процесс выполнения задач. Доска может иметь много состояний, у каждой команды они называются по-своему, но основные из них три:
Также на доске есть диаграмма, по которой можно отслеживать ход выполнения задач во время итерации и корректировать список задач.
Зачем что-то менять?
Конечно, когда количество задач в системе около двух тысяч и все пользователи привыкли к ней, никто не хочет ничего менять. Для того чтобы решиться на переход, нужно быть уверенным, что текущая система не справляется, и четко знать, что нужно найти.
Что не устраивало в Redmine?
Безусловно, Redmine заслуживает внимания и имеет большое количество плюсов, и при этом еще и бесплатный. Можно как душе угодно настраивать права, статусы, трекеры и любые другие поля, достаточно удобно делать выборки, создавать задачи по почте и так далее. Очень удобна сквозная нумерация задач, хотя тут есть и плюсы, и минусы. Но приспособить его к Scrum не представляется возможным (кроме плагинов, которые являются платными и тормозят систему): доски нет, отслеживать время крайне неудобно, чтобы расположить задачи в произвольном порядке, нужно вводить дополнительные поля и сортировать по ним, нет нормальной интеграции c Git и SVN и так далее.
Что хочется увидеть в новой системе?
Перед тем как изучать системы, нужно четко определить критерии, по которым системы будут оценены:
Кандидаты
После изучения рынка и чтения большого количества статей и отзывов было отобрано пять вариантов для сравнения: популярная и раскрученная JIRA Agile, Trello, Targetprocess, Assembla и YouTrack от питерской компании JetBrains. Соответствие всем критериям оценено по 10-балльной шкале.
Assembla
Соответствие критериям
Язык: теоретически русский
Интеграция с Git: Есть и не требует дополнительных программ
Доска: 7 (из 10), не очень понятная, на 2/3 на английском
Настраиваемые поля: 8 (из 10) есть
Фильтрация: 9 (из 10)
Создание задач по email: есть
Права доступа: теоретически нормально настраиваемые
Локальная установка: нет
Цена: 30 пользователей — 49 долларов в месяц, 50 пользователей — 99 долларов в месяц
Впечатления
Плюсов у системы достаточно много. У них очень хорошая служба поддержки: в 19:30 по Москве задал вопрос по возможностям программы и ответ получил в течение пяти минут. Очень качественная статистика: можно прослеживать любые действия разработчика и видеть, что и когда он делал. Все изменения статусов, открытие/закрытие задач и коммиты отображаются в статистике. Можно прямо в системе заполнять ежедневные отчеты для Stand Up. Хорошо реализован поиск.
Один из главных минусов программы — перевод. Он сделан некачественно, и переведено далеко не все. В программе нужно долго разбираться. Вряд ли получится понять что-то, зайдя в нее первый раз. Задачи нельзя переносить между проектами, установить баг-трекер на свой сервер нельзя, что неудобно для больших компаний.
Trello
Язык: только английский
Интеграция с Git: нет
Доска: 6 (из 10) хорошая, но не переведена
Настраиваемые поля: 6 (из 10) есть
Фильтрация: 5 (из 10)
Создание задач по email: есть
Права доступа: теоретически нормально настраиваемые
Локальная установка: нет
Цена: 5 долларов в месяц
Впечатления
Система удобна тем, что она вся построена на основе доски и все, что в ней есть, находится на одном экране: и задачи, и история изменений, и любые комментарии. Но это же и главный минус программы. Она слишком простая и не предназначена для больших команд. Задачи банально не имеют номера, не говоря уже о переводе или установке на свой сервер. Конечно, такой подход удобен для заказчиков, которые могут увидеть все задачи в одном месте, не делая сложных поисков и не разбираясь в системе, но, как только количество открытых задач приблизится к пятистам, это, даже для заказчиков, из плюса превратится в минус.
Баг-трекер недорогой и подойти может только небольшим командам, у которых мало задач. В таком случае система будет справляться со своими обязанностями и помогать разработчикам следить за выполнением задач.
YouTrack
Интеграция с Git: есть, с помощью TeamCity
Доска: 8 (из 10) хорошая
Настраиваемые поля: 8 (из 10)
Фильтрация: 9 (из 10)
Создание задач по email: есть
Права доступа: хорошо настраиваемые
Локальная установка: да
Цена: 25 пользователей — 500 долларов в год, 50 пользователей — 750 долларов в год
Впечатления
Плюсов у YouTrack значительно больше, чем минусов. Не очень удобной кажется нумерация, так как номер задачи меняется при переносе ее в другой проект, поиск и подписка на обновления вообще требуют отдельной статьи — описать их в несколько строчек невозможно. Но с этими проблемами разобраться несложно, и сделать это должен только администратор баг-трекера, у пользователей этих проблем при правильной настройке не возникнет. Доска, как и диаграмма, очень удобные, статусы и приоритеты можно выделять так, чтобы сразу было видно то, что нужно ярко выделить, все удобно настраивается. Что также очень полезно — есть скрипт для импорта задач из большинства баг-трекеров, что сильно облегчает работу менеджера при переходе (хоть импорт и имеет свои минусы). Также минусом является отсутствие техподдержки. Если программа стоит 750 долларов, то можно как-то выделить человека, который будет отвечать на вопросы, а из помощи существует только англоязычный форум и собственно YouTrack, в котором можно создавать задачи по системе и писать о багах.
JIRA Agile
Интеграция с Git: есть
Доска: 7 (из 10) хорошая
Настраиваемые поля: 8 (из 10)
Фильтрация: 8 (из 10)
Создание задач по email: есть
Права доступа: хорошо настраиваемые
Локальная установка: да
Цена: 25 пользователей — 600 долларов в год, 50 пользователей — 1100 долларов
Впечатления
Для тестирования была выбрана не обычная версия JIRA, а JIRA Agile, имеющая доску и диаграмму для Scrum. Эта версия программы стоит дороже обычной. Баг-трекер не переведен на русский язык.
В системе очень много возможностей для настройки. Может быть, даже слишком много. По каждому проекту можно посмотреть подробную статистику, доска хорошая, но кажется менее удобной, чем в YouTrack. Что действительно удобно — сами задачи и список задач находятся в одном окне, то есть для переключения между задачами достаточно одного клика. В Assembla и YouTrack это реализовано хуже.
Можно сделать вывод: система сделана программистами для программистов, что имеет свои плюсы и минусы. К примеру, заказчик будет разбираться с системой долго, и вопросов возникнет очень много.
Targetprocess
Интеграция с Git: нет
Доска: 8 (из 10) хорошая
Настраиваемые поля: 6 (из 10)
Фильтрация: 4 (из 10)
Создание задач по email: есть
Права доступа: настраиваемые, но плохо
Локальная установка: да
Цена: 25 долларов в месяц за каждого пользователя, при локальной установке 249 долларов за каждого пользователя
Впечатления
Система очень дорогая, и тяжело понять, почему она так дорого стоит. Доска удобная, а размещение задач сделано по такому же типу, как в Trello, только более приспособлено к большим командам и большому количеству задач. Диаграмма тоже хорошая, ничего лишнего, и все понятно. Возможности по настройке полей хуже, чем у других систем. Видно, что баг-трекер хотели сделать как можно более простым и удобным, но вместо того, чтобы сделать всю функциональность как можно более простой, похоже, решили просто ее обрезать. Конечно, удобно заходить и видеть все задачи, легко переключаться между досками проектов и менять статусы, но, как только требуется сделать какие-то более сложные действия, возникают проблемы. На русский язык Targetprocess также не переведен.
Итоги
В ходе выбора нового баг-трекера было изучено пять программ. Система Trello оказалась непригодной для больших компаний и большого количества задач, система красиво выглядит и может подойти небольшим командам, но не более того. Четвертое место занял Targetprocess: система похожа на Trello, но более приспособлена для работы с большими объемами задач. Доска сделана качественно и просто, но, когда дело доходит до более тонкой настройки, появляется много сложностей и деталей, с которыми Targetprocess не справляется. Широких возможностей по настройке система не дает, а стоимость больше, чем остальных систем, что кажется необоснованным.
Популярная система JIRA с плагином Agile заняла третье место. В ней очень много возможностей для настройки, хорошая статистика по проектам, удобно смотреть задачи и неплохо реализована доска. Но разобраться в системе достаточно сложно, заказчикам изучение этого баг-трекера будет стоить немало труда, и администратору придется постоянно отвечать на возникающие вопросы. Если баг-трекером будут пользоваться только программисты, ее можно рассматривать как реальный вариант, но в компании, где половину пользователей составят заказчики, система должна быть такой, чтобы при первом входе было хотя бы приблизительно понятно, что нажимать, чтобы найти нужные задачи или создать новую.
Из всех вариантов больше всего понравились две системы: Assembla и YouTrack. Они очень отличаются друг от друга, что сильно усложнило выбор. Assembla ведет прекрасную статистику каждого пользователя, по ней можно изучать работу программистов и оценивать ее, видно все коммиты и к каким задачам они относятся. В YouTrack такого нет. Время, потраченное разработчиками на задачи, отслеживать можно, но для этого нужно заставить их писать это время в каждой задаче. Также Assembla не требует сторонних программ для интеграции с Git. YouTrack здесь отстает несильно, для него есть бесплатное приложение TeamCity, которое предоставляют разработчики, но с ним нужно будет дополнительно разбираться. Также в Assembla очень удобно следить за Stand Up отчетами разработчиков, чего вообще нет в YouTrack.
Если сравнивать качество перевода, то здесь, без сомнения, с большим отрывом выигрывает YouTrack. Баг-трекер переведен полностью и качественно (хоть перевод появился и достаточно недавно). Assembla переведена далеко не полностью, а там, где переведена, некоторые названия вызывают улыбку. Скорее всего, это временное явление и, если бы система выбиралась через полгода, возможно, этой проблемы уже бы не было. Что точно останется в ближайшем будущем, так это сложность самой системы для понимания и изучения. Если о YouTrack можно хоть что-то рассказать в нескольких словах и пользователь приблизительно поймет, как работать с системой, то с Assembla дела обстоят сложнее. Первые полчаса совершенно непонятно, что делать и что вообще происходит. Конечно, YouTrack тоже не сразу понятен, и для новых пользователей придется писать инструкцию, но он более нагляден и прост в использовании, хоть и дает меньше возможностей по администрированию. Выбирая между этими двумя системами, нужно решить, что важнее — возможность контролировать разработчиков и вести статистику их работы или, настроив систему самостоятельно и потратив на нее немало времени, получить простой в использовании и наглядный баг-трекер (где некоторые действия придется делать самостоятельно и не будет некоторых возможностей, но от постоянных вопросов по работе системы ты будешь избавлен).
После раздумий был выбран второй вариант, и первое место в обзоре систем управления проектами занял YouTrack.
Не баг-трекер, а…
Настоящий IT-шник всегда любит сварить «кашу из топора». А если этой кашей еще и получается вкусно накормить коллег, то выходит вообще замечательно.
По долгу службы мне постоянно приходится сталкиваться с различными инсталляциями bug и issue-трекеров (далее просто баг-трекеров) и среди них попадалось довольно много нестандартных решений. Что-то мне приходилось разворачивать самому, что-то я «подсмотрел» у клиентов, но поделиться наблюдениями было бы полезно.
С этой темой я уже выступал на конференции SQADays, но для тех, кому лениво смотреть 18 минут видео, все будет кратко расписано в статье.
Смысл?
Disclaimer
Примеры, которые пойдут дальше, взяты из реальной жизни. Но успешное внедрение у кого-угодно никак не означает, что и у вас все пойдет как по маслу. Не забывайте думать, пробовать и советоваться со старшими товарищами.
Ну и сразу попрошу прощения, что частенько упор пойдет на использование JIRA (можете кинуть в меня помидор), т.к. эту систему я использую на повседневной основе, но и другие баг-трекеры не были забыты — практически все нижеописанное можно сделать и с их помощью.
Поехали!
HelpDesk
Наиболее частым, не совсем стандартным, применением баг-трекера, которое мне приходилось наблюдать, было использование его в качестве HelpDesk-а в службе технической поддержки.
Из плюсов такого применения можно отметить удобство связывания обращений в HelpDesk и багов, по ним заведенных (интеграции с HelpDesk-ами с каждым днем хорошеют, но идеала все нет), и отсутствие необходимости учить техподдержку работать с двумя системами. Но нужно понимать, что такая система будет чуть менее удобна, чем отдельный HelpDesk, и если вам приходится работать с большим количеством обращений, большинство из которых решается службой поддержки самостоятельно, то лучше смотреть на отдельную HelpDesk-систему.
Ближе к делу. Как такую систему можно настроить?
Использование этих плагинов/обработчиков позволяет парсить письма, сохранять тему письма в теме созданной заявки, аттачить вложения из письма к заявке, привязывать ответные сообщения к соответствующим заявкам.
Но даже если вы не планируете разворачивать у себя HelpDesk, попробуйте использовать создание и комментирование заявок через email в повседневной работе. Некоторые находят это очень удобным.
Для JIRA отдельно стоит отметить плагин Issue Collector, который позволяет настроить удобные формы обратной связи для последующего размещения у себя на сайте.
К сожалению, плагин еще сыроват и не во всех случаях может надежно работать.
Наличие службы поддержки обычно подразумевает и наличие SLA (Service Level Agreement), по которому вы обязаны решать инциденты за строго определенное время. А для искоренения забывчивости администраторы, с подачи руководства, настраивают всякие напоминалки:
Бюрократия
Согласования, отфутболивания, заявки, многоуровневые иерархии сотрудников, что может быть лучше… для автоматизации? На самом деле, автоматизация каких-то бюрократических моментов организации, если и не помогает сделать их проще, то уж прозрачнее так точно делает.
Доводилось видеть баг-трекеры, с помощью которых делали согласование закупок оборудования, отслеживание бюджета проекта, работу с документами и т.п.
В основе такой кастомизации обычно лежит создание своего Workflow — жизненного цикла заявки. Т.е. какие состояния у заявки есть и какие переходы могут быть между ними. Кроме того, благодаря настройке прав доступа отдельные переходы можно разрешить только для специально обученных ответственных товарищей.
Помогает создание своего workflow и в ежедневной рутине разработчика. Например, могут быть введены новые промежуточные состояния для задач вроде «в тестировании» или «идет приемка заказчиком».
Новые типы заявок (например, «согласование документа», «закупка», «проектирование» или «тестирование») позволяют не только сделать процесс работы более наглядным, но и привязать к каждому типу заявки отдельный Workflow. Так если для задачи «разработка» имеет смысл ввести состояние «тестирование» в жизненном цикле, то для задачи «дизайн» такое может и не понадобится.
Почтовые рассылки
Баг-трекер это не только ценный инструмент, но обычно и система почтовых нотификаций, в него встроенных. И эти нотификации можно использовать себе во благо для создания почтовых рассылок внутри организации. Рецепт прост:
Дележ ресурсов
Вам определенно следует позаботиться о контроле за ресурсами, если одни и те же сервера часто одновременно используются для различных нагрузочных тестов, либо два сотрудника одновременно пытаются забрать один и тот же iPad в командировку для демонстрации.
Воспитывать совесть у коллег с помощью баг-трекера сложно, но повысить уровень организации можно. Рецепт:
Естественно, никто не может запретить человеку забрать ресурс и «не отметиться в системе», но с помощью доброго слова и удобного инструмента можно сделать больше, чем с помощью одного доброго слова.
Голосования
Довольно распространенную функцию голосования за реализацию тех или иных заявок тоже можно использовать себе на благо. Если вы задались вопросом «куда пойти на корпоратив» или «что подарить директору на день рождения», то можете смело использовать баг-трекер (убедитесь только, что директор им не пользуется :). Рецепт:
JIRA и Bugzilla имеют встроенную функцию для голосований. Для Redmine есть плагин.
Тест-менеджмент
Есть любители использовать баг-трекер в качестве системы для хранения набора регресcионных тестов, которые нужно выполнять вручную на каждой очередной версии продукта. Сам я не фанат такого способа, но раз люди используют, то что-то в этом есть. Рецепт:
Плюсы такого решения: очень удобно из тестов ссылаться на заявки/баги в баг-трекере, нельзя закрыть версию, в которой есть «незакрытые» тесты. В целом может быть не так удобно, как специализированная система для тест-менеджмента.
Технические возможности расширения
Кроме возможностей по настройке баг-трекеров (а все предыдущие рецепты по сути настройки) часто есть возможность расширить функциональность баг-трекера и программно.
Все основные баг-трекеры имеют интерфейсы для удаленного доступа, которые можно использовать для какой-то своей автоматизации. Например, автоматически постить заявки по каким-то событиями или из внешних систем.
Кто не хочет заморачиваться с программированием, может использовать для автоматизации клиенты командной строки:
Для разжигания холиваров скажу, что самый развитый клиент у JIRA 🙂
Опять-таки здесь JIRA впереди планеты всей. В основном благодаря экосистеме для разработчиков плагинов, которая при должном уровне подготовки позволяет очень здорово кастомизировать поведение JIRA и добавлять всякие «полезности» и «свистелки».
Итоги
Пару мыслей, которые я хотел донести до слушателей на SQADays и до читателей на Хабре:
А в комментариях буду рад увидеть какие-то нестандартные использования баг-трекеров, которые попадались Хаброжителям.