Le suivi des bogues est le processus d'enregistrement et de suivi des bogues ou des erreurs pendant les tests de logiciel. Il est également appelé suivi des défauts ou suivi des problèmes. Les grands systèmes peuvent comporter des centaines ou des milliers de défauts. Chacun doit être évalué, surveillé et classé par ordre de priorité pour le débogage. Dans certains cas, il peut être nécessaire de suivre les bogues sur une longue période.
« Le suivi des défauts est un processus important dans l'ingénierie logicielle, car les systèmes complexes et critiques pour l'entreprise présentent des centaines de défauts », explique Tutorials Point. « L'un des facteurs difficiles est la gestion, l'évaluation et la hiérarchisation de ces défauts. Le nombre de défauts se multiplie au fil du temps, et pour les gérer efficacement, un système de suivi des défauts est utilisé pour faciliter le travail. » 1
Un bogue logiciel se produit lorsqu'une application ou un programme ne fonctionne pas comme il est censé le faire. La plupart des erreurs sont des défauts ou des erreurs commises par les architectes, les concepteurs ou les développeurs du système. Les équipes de test utilisent le suivi des bogues pour surveiller et signaler les erreurs qui se produisent lors du développement et du test d'une application.
« L'un des principaux composants d'un système de suivi des bogues est une base de données qui enregistre les faits relatifs aux bogues connus », indique Wikipedia. « Les faits peuvent inclure l'heure à laquelle un bogue a été signalé, sa gravité, le comportement erroné du programme et des détails sur la façon de reproduire le bogue, ainsi que l'identité de la personne qui l'a signalé et de tout programmeur qui pourrait le corriger. » 2
Au cours de sa vie, un seul défaut peut passer par plusieurs étapes ou états. Il s'agit de :
Les bogues sont gérés en fonction de leur priorité et de leur gravité. Les niveaux de gravité permettent d'identifier l'impact relatif d'un problème sur la sortie d'un produit. Ces classifications peuvent varier en nombre, mais elles comprennent généralement une forme ou une autre des éléments suivants :
Dans la plupart des cas, les états et les niveaux de gravité sont suivis dans une base de données de suivi des bogues. Une bonne plateforme de suivi est également liée à des systèmes de développement et de gestion de logiciels plus vastes : elle permet de mieux évaluer l'état des erreurs et l'impact potentiel sur la production globale et les délais.
On estime que les développeurs de logiciels commettent 100 à 150 erreurs pour chaque millier de lignes de code.4 Selon un rapport du Consortium for IT Software Quality (CISQ), « même si seule une petite fraction, disons 10 %, de ces erreurs sont graves, une application relativement petite de 20 000 lignes de code comportera environ 200 erreurs de codage graves. » 5
Les tests de logiciel sont essentiels pour isoler et atténuer les erreurs. Un bon processus d'assurance qualité peut mettre au jour des centaines, voire des milliers de défauts, et les équipes de test doivent les gérer tous. L'intégration du suivi des bogues dans le flux de travail des tests améliore l'efficacité en aidant les testeurs à établir des priorités, à surveiller et à rendre compte de l'état de chaque erreur.
« "Le suivi des défauts permet de s'assurer que les bogues trouvés dans le système sont effectivement corrigés », explique la consultant Agile, Yvette Francino. « Les outils de suivi permettent non seulement d'assurer le suivi, mais aussi de fournir des données précieuses. Selon l'outil utilisé, l'équipe peut relier les défauts au code modifié, aux tests ou à d'autres données qui permettront la traçabilité ou l'analyse des tendances des défauts. Si un certain module est criblé de défauts, il est peut-être temps de le revoir et de le réécrire. » 6
En principe, les tests doivent être effectués le plus tôt possible, lorsque les bogues sont plus faciles et beaucoup moins coûteux à corriger. Une étude antérieure d'IBM a révélé que les défauts détectés après la production ou la mise sur le marché peuvent coûter 15 fois plus cher à éliminer que les erreurs résolues au début du développement.
De nombreuses équipes utilisent désormais une méthodologie appelée Tests en continu. Dans ce cas, les tests de qualité et le retour d'information sont effectués à toutes les étapes du développement, de la conception et du codage au déploiement. Les technologies modernes telles que l'intelligence artificielle (IA) peuvent également faciliter le processus d'essai en détectant et en analysant les bogues au début du cycle de vie.
Découvrez comment mettre sur le marché des applications de plus en plus complexes plus rapidement, avec moins de défauts et à moindre coût.
Le contrôle de la qualité est essentiel pour développer des applications robustes. Les outils de test de logiciel, de gestion des changements et de suivi des bogues permettent aux équipes de découvrir les défauts, de mesurer leur portée et leur impact, et de les résoudre.
Dans la Harvard Business Review, Nicholas Bowen décrit un traitement pour gérer les défauts. La première étape consiste à classer et à hiérarchiser les problèmes : « En général, les équipes classent par ordre de priorité deux types de bogues : ceux qui bloquent un système et ceux qui sont moins graves, mais qui pourraient être omniprésents...Ensuite, déterminez votre temps de réponse cible pour chaque niveau de gravité. Si le système de gestion de la qualité est nouveau, l'objectif initial doit être de corriger les bogues les plus graves en quelques heures ou quelques jours. Lorsque vous utilisez votre système, vous pouvez recueillir des données sur deux mesures clés, les taux de bogues entrants et la productivité des réparateurs de bogues, et ajuster vos objectifs si nécessaire. » Selon lui, les organisations doivent également créer un système dans lequel les défauts et le temps nécessaire pour les résoudre peuvent être examinés à tous les niveaux, du PDG au niveau le plus bas.7
Un bon système de suivi des bogues peut faciliter ce processus en fournissant un flux de travail unique pour le suivi des défauts, la production de rapports et la traçabilité du cycle de vie. Il doit en outre être relié à d'autres systèmes de gestion pour une visibilité et un retour d'information partagés, tant au niveau du développement du logiciel que de l'organisation dans son ensemble. IBM Rational ClearQuest, par exemple, fournit une plateforme de suivi des erreurs et de production de rapports. Il s'intègre à d'autres systèmes de développement et de gestion des changements d'IBM, et contribue à améliorer la communication et la collaboration entre les développeurs, les opérations et les équipes plus larges.
De même, recherchez des systèmes de test et de suivi qui utilisent l'IA pour détecter les erreurs au début du processus de développement. Il peut optimiser le nombre et les types de tests que les équipes exécutent, automatiser le processus de test et utiliser l'IA pour analyser les défauts passés et les prévenir à l'avenir.
Un logiciel de gestion des changements qui permet d'améliorer la productivité des développeurs tout en tenant compte des méthodologies, des processus et des outils les mieux adaptés au projet et à l'équipe.
Transmettez plus rapidement les résultats des tests à l'équipe de développement. Réduisez coûts et risques en corrigeant les défauts très tôt.
Bénéficiez d'informations complètes des outils d'intégration et de distribution continues les plus répandus, afin d'améliorer la vitesse, la qualité et le contrôle de vos applications.
Découvrez les types, les avantages et l'évolution des tests de logiciel.
IBM Developer fournit les outils qui permettent aux développeurs de créer et de gérer les composants logiciels.
Découvrez comment les tests en continu intégrés accélèrent le développement des applications.
1. https://www.tutorialspoint.com/software_testing_dictionary/defect_logging_and_tracking.htm (Lien externe à ibm.com)
2. https://en.wikipedia.org/wiki/Bug_tracking_system (Lien externe à ibm.com)
3. https://www.tutorialspoint.com/software_testing_dictionary/defect_life_cycle.htm (Lien externe à ibm.com)
4. https://www.it-cisq.org/the-cost-of-poor-quality-software-in-the-us-a-2018-report/The-Cost-of-Poor-Quality-Software-in-the-US-2018-Report.pdf (Lien externe à ibm.com)
6. https://techbeacon.com/pros-cons-defect-tracking (Lien externe à ibm.com)
7. https://hbr.org/2019/09/why-fixing-software-bugs-should-be-the-ceos-problem (Lien externe à ibm.com)