Système de suivi des bugs

application logicielle qui garde la trace des anomalies logicielles signalées et assure le suivi des corrections et modifications demandées

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 modifier

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 modifier

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 modifier

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é modifier

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 modifier

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 modifier

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 modifier

  1. « WikiStart (history) – The Trac Project (voir version 164) », sur trac.edgewall.org (consulté le )

Voir aussi modifier