Система отслеживания или система отслеживания дефектов — это программное приложение , которое отслеживает зарегистрированные ошибки программного обеспечения в проектах по разработке программного обеспечения. Ее можно рассматривать как тип системы отслеживания проблем .
Многие системы отслеживания ошибок, например, те, которые используются большинством проектов с открытым исходным кодом , позволяют конечным пользователям напрямую вводить отчеты об ошибках. [1] Другие системы используются только внутри компании или организации, занимающейся разработкой программного обеспечения . Обычно системы отслеживания ошибок интегрируются с другим программным обеспечением для управления проектами .
Система отслеживания ошибок обычно является необходимым компонентом профессиональной инфраструктуры разработки программного обеспечения, а постоянное использование системы отслеживания ошибок или проблем считается одним из «отличительных признаков хорошей команды разработчиков программного обеспечения». [2]
Основным компонентом системы отслеживания ошибок является база данных , которая записывает факты об известных ошибках. Факты могут включать время сообщения об ошибке, ее серьезность, ошибочное поведение программы и подробности о том, как воспроизвести ошибку; а также личность человека, который сообщил об ошибке, и любых программистов, которые могут работать над ее исправлением. [3]
Типичные системы отслеживания ошибок поддерживают концепцию жизненного цикла ошибки, которая отслеживается через статус, назначенный ошибке. Система отслеживания ошибок должна позволять администраторам настраивать разрешения на основе статуса, перемещать ошибку в другой статус или удалять ошибку. Система также должна позволять администраторам настраивать статусы ошибок и то, в какой степени ошибка в определенном статусе может быть перемещена. Некоторые системы будут отправлять электронные письма заинтересованным сторонам, таким как отправитель и назначенные программисты, когда добавляются новые записи или изменяется статус.
Главное преимущество системы отслеживания ошибок заключается в предоставлении четкого централизованного обзора запросов на разработку (включая как ошибки, так и улучшения; граница часто размыта) и их состояния. Приоритезированный список ожидающих элементов (часто называемый backlog) дает ценные данные при определении дорожной карты продукта или, может быть, просто «следующего релиза».
В корпоративной среде система отслеживания ошибок может использоваться для создания отчетов о производительности программистов при исправлении ошибок. Однако иногда это может давать неточные результаты, поскольку разные ошибки могут иметь разные уровни серьезности и сложности. Серьезность ошибки может не быть напрямую связана со сложностью ее исправления. Среди менеджеров и архитекторов могут быть разные мнения.
Локальный баг-трекер (LBT) — это обычно компьютерная программа, используемая командой специалистов по поддержке приложений (часто службой поддержки ) для отслеживания проблем, о которых сообщают разработчикам программного обеспечения. Использование LBT позволяет специалистам по поддержке отслеживать ошибки на их «родном языке», а не на «языке разработчиков». Кроме того, LBT позволяет команде специалистов по поддержке отслеживать конкретную информацию о пользователях, которые звонили с жалобами — эта информация не всегда может понадобиться в фактической очереди разработки. Таким образом, при наличии LBT существуют две системы отслеживания.
Системы отслеживания ошибок и проблем часто внедряются как часть интегрированных систем управления проектами . Такой подход позволяет включить отслеживание и исправление ошибок в общий процесс разработки продукта, исправить ошибки в нескольких версиях продукта, автоматически сформировать базу знаний продукта и заметки о выпуске.
Некоторые баг-трекеры разработаны для использования с распределенным программным обеспечением контроля версий . Эти распределенные баг-трекеры позволяют удобно читать отчеты об ошибках, добавлять их в базу данных или обновлять, пока разработчик находится в автономном режиме. [4] Fossil и Veracity включают распределенные баг-трекеры.
В последнее время коммерческие системы отслеживания ошибок также начали интегрироваться с распределенным контролем версий . FogBugz , например, обеспечивает эту функциональность через инструмент управления исходным кодом Kiln. [5]
Хотя вики и системы отслеживания ошибок традиционно рассматриваются как отдельные типы программного обеспечения, ikiwiki также может использоваться как распределенный баг-трекер. Он может управлять документами и кодом также интегрированным распределенным образом. Однако его функциональность запросов не столь продвинута или не так удобна для пользователя, как некоторые другие, нераспределенные баг-трекеры, такие как Bugzilla . [6] Аналогичные утверждения можно сделать и об org-mode , хотя это не вики-программное обеспечение как таковое.
В то время как традиционные инструменты управления тестированием, такие как HP Quality Center и IBM Rational Quality Manager, поставляются с собственными системами отслеживания ошибок, другие инструменты интегрируются с популярными системами отслеживания ошибок. [ необходима цитата ]