Разработчики программного обеспечения стараются максимально повышать эффективность своей работы. Для этого они используют различные программы. Например, в сфере тестирования активно используется баг-трекер. С его помощью специалисты выявляют ошибки в коде программ.
Что такое баг-трекер
Баг-трекер — это система отслеживания ошибок, помогающая разработчикам ПО анализировать программный код и искать в нем баги.
Основу баг-трекера составляет база данных, в которой хранится информация о всех ошибках, найденных программой ранее. В упрощённом виде хранилище имеет следующую структуру:
- автор, сообщивший о найденной проблеме;
- время обнаружения ошибки;
- уровень критичности проблемы;
- описание бага;
- корректировщик, исправляющий ошибки и оптимизирующий код;
- статус проблемы.
Системы отслеживания ошибок работают в соответствии с "жизненным циклом" дефекта. В зависимости от статуса проблемы меняются и его стадии. В различных программах функционал может сильно различаться. Например, в одних решениях администратор может настраивать доступ к редактированию программного кода, в других - изменять статусы ошибок или вовсе их удалять.
Ещё одной сферой применения баг-трекеров является корпоративная среда. Здесь начинает работать функция оценки продуктивности разработчиков. Однако использование подобного софта далеко не всегда целесообразно. Прежде всего потому, что природа ошибок как и их сложность всегда разная. Бывают ситуации, когда на устранение несерьёзной ошибки тратится несоизмеримо много усилий и ресурсов. Довольно часто поиск лёгких ошибок превращается в длительный и сложный процесс.
Жизненный цикл багов
Как уже было сказано выше, баг-трекеры берут за основу "жизненный цикл" ошибок. Статусы присваиваются исходя из текущего состояния. Стандартный жизненный цикл имеет следующие этапы:
- новый — при тестировании была выявлена проблема;
- назначен — устранение поручено конкретному специалисту;
- разрешён — ошибка в программном коде исправлена и тестировщик может заново его проверять;
- повторно тестируется — специалист проверяет обновлённую версию кода. Если дефект сохраняется, то ему опять присваивается статус "назначен". Если же проблема устранена, она переходит в разряд "решенных";
- открыт вторично — новая версия программного продукта унаследовала дефект.
При повторном тестировании на этапе "разрешён" баг сопровождается комментарием, уточняющим его статус:
- дубль — ошибка уже была зарегистрирована другим тестировщиком, который занимается её исправлением;
- откорректировано — исправления входят в новый патч программы;
- не исправлено — баг не критичный и на работоспособности программного продукта никак не сказывается. Исправление такого дефекта может быть отложено до релиза следующей версии;
- не воспроизводимо — проблему не удается выявить.
Ключевое преимущество баг-трекера заключается в том, что администратору доступна гибкая настройка прав доступа пользователей к редактированию и просмотру программного кода.
Современная разработка ПО невозможна без использования систем обнаружения ошибок. Это необходимый элемент тестирования, делающий процесс поиска дефектов более эффективным. Даже опытные QA-менеджеры постоянно используют баг-трекеры в своей работе.
На сегодняшний день существует огромное количество решений для анализа кода и поиска багов. Каждое из них имеет свои сильные и слабые стороны, а также различные функциональные возможности. Такое разнообразие часто приводит к сложностям, связанным с выбором программы.
Баг-трекинговые системы
Глобально баг-трекеры делятся на две большие категории — платные и бесплатные. Несмотря на то, что функционал последних уступает лицензионным аналогам, тестировщики довольно часто используют их в своей работе. Программы, которые свободно распространяются в интернете, зачастую, имеют всё необходимое для поиска и исправления ошибок в коде. Ниже представлены баг-трекеры, которыми чаще всего пользуются тестировщики.
Redmine
Это самый популярный бесплатный сервис для отслеживания багов. Данный веб-проект представлен на рынке уже более 10 лет и за это время хорошо себя зарекомендовал. После того, как тестировщик войдёт в приложение в качестве наблюдателя, он может начинать отслеживать ошибки в коде.
Функционал Redmine можно расширять за счёт библиотеки плагинов, а встроенные инструменты позволяют сделать планирование более наглядным, например, при помощи диаграмм Ганта. Более того, сервис может похвастаться гибкостью при отслеживании дефектов.
Mantis
Ещё один представитель бесплатных баг-трекинговых систем. Его главной отличительной чертой является простота. Интерфейс максимально дружелюбен по отношению к пользователю. На этом преимущества не заканчиваются. Приложение имеет полноценную мобильную версию, чей функционал полностью идентичен десктопной. Из минусов можно выделить невозможность отслеживать баги в автоматическом режиме, а также отсутствие функции генерации отчётов.
Яндекс.Трекер
Данное приложение относится к категории платных, однако для новых пользователей действует пробный бесплатный период, сроком на 30 дней. В основе проекта лежит подход Agile, который подразумевает гибкое управление проектами. Специалисты могут создавать задачи, назначать ответственных за их решение, добавлять комментарии, следить за прогрессом и многое другое.
Bugzilla
Сервис для работы с небольшими и средними проектами. Его функционала более чем достаточно для решения стандартных задач. Приложение обладает развитым API, умеет автоматически создавать отчёты, хорошо синхронизируется с различными системами управления. Отличительной особенностью Bugzilla является богатый набор инструментов для визуализации информации. Это графики, таблицы, диаграммы и многое другое.
Jira
Самый популярный и востребованным баг-трекер в сфере тестирования. Это не просто сервис для поиска ошибок в коде, это мощный дашборд. С его помощью можно:
- управлять проектами на всех стадиях их реализации;
- контролировать каждый рабочий этап;
- разрабатывать прикладные проекты.
Дашборд позволяет тестировщикам распределять таски в соответствии с различными признаками, управлять статусами багов и т. д. Любые внесённые изменения сохраняются в журнале действий.
В основе приложения лежат стандартные методы планирования («канбан» и «скрам»), дополненные вторичными механизмами. Большой набор функций, интуитивно понятный интерфейс, продвинутые инструменты планирования — всё это делает Jira лидером среди баг-трекинговых систем. Приложение платное, но есть бесплатный тариф. В нем нет урезанного функционала, но имеется ограничение на количество пользователей.
Jira - это многофункциональный инструмент, поэтому начинающие тестировщики могут испытывать сложности с настройкой и дальнейшим обслуживанием программы. Сервис достаточно требователен к знаниям и навыкам.
Заключение
Баг-трекер — незаменимая вещь в работе каждого тестировщика. Такие программы помогают отслеживать ошибки, однако каждая из них обладает своими функциональными особенностями, преимуществами и недостатками. Поэтому выбор инструмента зависит от задач и потребностей специалиста по тестированию.