Système de suivi des bugs
Un système de suivi des bugs (de l'anglais bug tracking system) est un logiciel qui permet d'effectuer un suivi des bugs signalés dans le cadre d'un projet de développement de logiciel. Il permet d'aider les utilisateurs et les développeurs à améliorer la qualité d'un logiciel. Les utilisateurs soumettent leurs demandes d'assistance dans le logiciel. Les développeurs sont alors toujours au fait des bugs rencontrés.
La plupart des systèmes de suivi des bugs, notamment ceux utilisés pour les projets de logiciels libres, permettent aux utilisateurs de rentrer directement les problèmes rencontrés au niveau :
- technique ;
- de respect des règles de gestion : réglementation, etc.
- fonctionnel.
Mais également des demandes d'amélioration (RFE) ou de nouvelles fonctionnalités. À l'origine, ce type de logiciel était conçu pour suivre les incidents ou anomalies d'un projet. Désormais, certains systèmes de suivi des bugs sont configurables et permettent de gérer tous types de tickets ou artefacts : tâches, demandes de support, exigences, contacts...
Certains sont utilisés uniquement en interne dans certaines entreprises ou organisations qui développent des logiciels. Généralement les systèmes de suivi des bugs sont également intégrés à d'autres applications de suivi de projet logiciel : gestion de versions, intégration continue, outils de gestion de planning des projets.
Disposer d'un système de suivi des bugs est extrêmement profitable dans le développement d'un logiciel, et ils sont utilisés fréquemment par les compagnies développant des logiciels.
Composants
Un composant majeur d'un système de suivi des bugs est une base de données qui enregistre les caractéristiques des bugs connus. Ces caractéristiques peuvent inclure le nombre de fois que le bug a été reporté, sa rigueur, le comportement problématique, et comment le reproduire, ainsi que l'identité de la personne qui a reporté le bug, et le programmeur chargé de le résoudre.
Un système de suivi des bugs typique utilise le concept de « cycle de vie d'un bug » : on suit un bug tout au long de son traitement jusqu'à sa résolution. Il peut aussi permettre aux administrateurs de modifier le statut et les droits sur le ticket de suivi, voire de le supprimer. Un mail peut-être envoyé automatiquement aux participants à chaque modification.
Principe des tickets
Le plus souvent, le système utilise un dispositif de ticket qui permet à l'utilisateur qui a indiqué un défaut de suivre l'évolution de son traitement. Il peut contenir : correction si le défaut est urgent, fin de non recevoir si le défaut n'en est pas un, date probable de correction si celle-ci est différée.
Les tickets sont généralement affectés d'un indicateur du degré d'urgence de résolution du défaut : critique, urgent, normal, non urgent. Cet indicateur est fourni par l'utilisateur ayant rapporté le défaut, et peut être modifié par l'administrateur du projet suivi.
Usage
Dans une entreprise, un système de suivi des bugs peut être utilisé pour générer des rapports sur la productivité des programmeurs. Toutefois, ces rapports sont parfois imprécis, puisque des bugs différents ont une sévérité et une complexité variables. La rigueur d'un bug peut ne pas être en relation avec sa complexité : il peut y avoir plusieurs points de vue parmi les développeurs et les architectes.
Un système de suivi des bugs local (local bug tracker ou LBT) est habituellement un programme utilisé par les professionnels chargés de l'assistance technique pour suivre les problèmes communiqués aux développeurs. L'utilisation d'un LBT permet aux professionnels de l'assistance technique de suivre les bugs dans leur « propre langage » et non dans le « langage des développeurs ». De plus, elle permet de suivre des informations spécifiques sur les utilisateurs qui ont signalé le bug, ce qui n'est pas toujours utile côté développement (ainsi, il y a deux systèmes de traçage quand un LBT est utilisé).
Système de suivi des bugs distribué
Certains systèmes de suivi des bugs sont conçus pour être utilisés avec un logiciel de contrôle des versions distribué. Ces systèmes permettent un rapport de bug plus facilement lisible, ajouté ou modifié en base de données lorsque le développeur n'est pas disponible.
Bien que les wikis et les systèmes de suivi des bugs soient, par convention, vus comme deux types de logiciels distincts, Ikiwiki peut aussi être utilisé en tant que distributed bug tracker (système décentralisé de suivi des bugs). Il peut gérer aussi bien les documents que le code, de manière intégrée. Toutefois, sa fonction de recherche n'est pas aussi avancée que celle des systèmes de suivi des bugs centralisés.
Association à un système de dépôt
Un gestionnaire de suivi peut être relié à un logiciel de gestion de versions ; cela permet d'associer la base de données des défauts à celle des codes sources utilisés dans le projet.
Comparaison des systèmes de suivi des bugs
Nom | Éditeur | Licence | Langage de programmation | Base de données | Date création | Dernière version | |
---|---|---|---|---|---|---|---|
CopyPark | Suivi SAV Bureautique et Info | Propriétaire | SQL | MySQL ou SQL | |||
Flex Tracker | Flex Coding | Propriétaire | PHP | MySQL | |||
B-Hive | Bee Software | Propriétaire | PHP | MySQL | |||
Bontq | Assembla | Propriétaire | Ruby | MySQL | |||
Tuleap | Enalean | GPLv2 | PHP | MySQL | v. 9.14 | ||
Bugzilla | Mozilla Foundation | MPL | Perl | MySQL, Oracle, PostgreSQL | v. 5.1.2 | ||
Mantis Bug Tracker | Multiples (contributions open source) | GPLv2 | PHP | ADOdb (MS SQL Server, MySQL, PostgreSQL, etc.) | v. 2.19.0 | ||
Bugs - Tiny issues | Multiples (contributions open source) | GPLv2 | PHP | MySQL | v. 1.5.2b | ||
Phabricator | Phacility, Inc | Apache v2 | PHP | v. 2017.46 | |||
Plain Ticket (en) | Turbine interactive | Propriétaire | Java | MySQL | |||
Redmine | Jean-Philippe Lang | GPLv2 | Ruby on Rails | MySQL, PostgreSQL, SQLite | v 4.0.0 | ||
Trac | Edgewall Software | Nouvelle Licence BSD | Python | MySQL, PostgreSQL, SQLite | v. 1.2 [1] | ||
Codendi | Hequality | Hequality / GPL | PHP | MariaDB | V7.0 | ||
Jira | Atlassian | Propriétaire, Gratuit pour un usage non commercial |
Java | MS SQL Server, MySQL, Oracle, PostgreSQL | v. 7.8.1 | ||
Flyspray | N.R. | LGPL | PHP | MySQL, PostgreSQL | v. 1.0 RC9 | ||
The Bug Genie (en) | N.R. | MPL 1.1 | PHP | MySQL, PostgreSQL | v. 4.1.13 | ||
Request Tracker (en) | Best Practical Solutions, LLC | GPL | Perl | MySQL, Oracle, PostgreSQL, SQLite | 18 Nov 2013
v. 4.2.1 | ||
Zendesk | Zendesk | Propriétaire | |||||
NewWayService | OroLogic | Propriétaire | PHP | MySQL | v. 5.0 | ||
GLPI | TECLIB | GPLv2 | PHP | MySQL | v. 9.5.4 | ||
ServiceNow | ServiceNow | Propriétaire | |||||
YouTrack | JetBrains | Propriétaire | Java | 2012 | 2017.04 | ||
Apache Bloodhound | Apache Software Foundation | Apache License | Python | MySQL |
v. 0.8 | ||
uBugtrack | WilSoftech | Propriétaire | PHP | MySQL | 2016 | ||
GestSup | GestSup | GPLv3 | PHP | MySQL | |||
Usersnap | Usersnap GmbH | Propriétaire | Python, JavaScript | MongoDB | 2013 |
Notes et références
- « WikiStart (history) – The Trac Project (voir version 164) », sur trac.edgewall.org (consulté le )
Voir aussi
- Logiciel de gestion des services d'assistance
- (en) L'article en anglais Comparison of issue tracking systems.
- Portail de l’informatique