Le suivi des bugs est le processus qui consiste à enregistrer et à surveiller les bugs ou les erreurs lors des tests logiciels. On parle également de suivi des défauts ou de suivi des problèmes.
Les grands systèmes peuvent présenter des centaines, voire des milliers de défauts. Chacun d'entre eux doit être évalué, contrôlé et classé par ordre de priorité pour le débogage. Parfois, le suivi des bugs peut s'étaler sur une longue période.
« Le suivi des défauts est un processus important en ingénierie logicielle, car les systèmes complexes et critiques comportent des centaines de défauts », explique Tutorials Point. « L'un des défis consiste à gérer, évaluer et hiérarchiser 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
Découvrez comment le DaaS (Desktop as a service) permet aux entreprises d'atteindre le même niveau de performance et de sécurité qu'en déployant les applications sur site.
Obtenir le guide sur le cloud hybride
Un bug logiciel se produit lorsqu'une application ou un programme ne fonctionne pas comme il le devrait. La plupart des erreurs sont des fautes ou des erreurs commises par les architectes, les concepteurs ou les développeurs du système. Les équipes de test utilisent le suivi des bugs 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 bugs est une base de données qui enregistre les faits relatifs aux bugs connus », explique Wikipédia. « Les faits peuvent inclure la date à laquelle un bug a été signalé, sa gravité, le comportement erroné du programme et des détails sur la manière de reproduire le bug, ainsi que l'identité de la personne qui l'a signalé et de tous les programmeurs susceptibles de le corriger. » 2
Au cours de sa vie, un seul défaut peut passer par plusieurs étapes ou états. Elles comprennent :
Les bugs 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 :
En général, les états et les niveaux de gravité sont contrôlés dans une base de données de suivi des bugs. Une bonne plateforme de suivi est également liée à des systèmes de développement et de gestion de logiciels plus importants : elle permet de mieux évaluer l'état des erreurs et leur 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 logiciels sont essentiels pour isoler et atténuer les erreurs. Un bon processus d'assurance qualité peut révéler des centaines, voire des milliers de défauts, et les équipes de test doivent tous les gérer. L'intégration du suivi des bugs dans le workflow 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 bugs trouvés dans le système sont effectivement corrigés », explique Yvette Francino, consultante Agile. « Les outils de suivi permettent non seulement d’assurer un suivi, mais aussi d’obtenir des indicateurs précieux. En fonction de 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 en matière de défauts. Si un module est truffé de défauts, il est peut-être temps de le revoir et de le réécrire. » 6
Idéalement, les tests devraient être effectués le plus tôt possible, lorsque les bugs sont plus faciles et beaucoup moins coûteux à corriger. Une étude antérieure d'IBM a montré que les défauts détectés après la production ou la publication peuvent coûter 15 fois plus cher à corriger que les erreurs résolues au début du développement.
De nombreuses équipes utilisent désormais une méthodologie connue sous le nom de tests continus. Dans ce cas, des tests de qualité sont effectués à tous les stades du développement avec des commentaires, depuis la conception et le codage jusqu'au déploiement. Les technologies modernes comme l'intelligence artificielle (IA), elles aussi, peuvent faciliter le processus de test en détectant et en analysant les bugs dès le début du cycle de vie.
Le contrôle qualité est essentiel pour développer des applications robustes. Les outils de gestion du changement et de suivi des bugs pour les tests de logiciels permettent aux équipes de découvrir les défauts, d'en mesurer la portée et l'impact et de les résoudre.
Dans la Harvard Business Review, Nicholas Bowen décrit un processus de gestion des défauts. La première étape consiste à classer et à hiérarchiser les bugs : « En général, les équipes classent par ordre de priorité deux types de bugs : ceux qui font planter 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 bugs les plus graves en quelques heures ou en quelques jours. Au fur et à mesure de l'utilisation de votre système, vous pouvez recueillir des données sur deux indicateurs clés, les taux de bugs entrants et la productivité des personnes chargées de les résoudre, et ajuster vos objectifs en fonction des besoins. » Il affirme que 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 plus bas de l'échelle.7
Un bon système de suivi des bugs peut faciliter ce processus en fournissant un workflow unique pour le suivi des défauts, les rapports et la traçabilité du cycle de vie. Il devrait en outre être relié à d'autres systèmes de gestion pour une visibilité et des commentaires partagés à la fois au sein du développement logiciel et de l'organisation dans son ensemble. IBM Rational ClearQuest, par exemple, fournit une plateforme centralisée pour le suivi et le reporting des erreurs. Il s’intègre à d’autres systèmes de développement et de gestion du changement d’IBM, et contribue à améliorer la communication et la collaboration entre les développeurs, les opérations et les équipes au sens large.
Recherchez également des systèmes de test et de suivi qui utilisent l’IA pour détecter les erreurs dès le début du processus de développement. Il peut optimiser le nombre et les types de tests effectués par les équipes, automatiser le processus de test et utiliser l'IA pour analyser les défauts passés et les éviter à l'avenir.
Logiciel de gestion du changement qui permet d'améliorer la productivité des développeurs tout en s'adaptant aux méthodologies, processus et outils qui conviennent le mieux au projet et à l'équipe.
Les résultats des tests sont transmis plus rapidement aux services de développement. Réduire les risques et les coûts en corrigeant les défauts plus tôt.
Obtenir des informations complètes à partir d’outils populaires d’intégration et de distribution continues pour augmenter la vitesse, la qualité et le contrôle de vos applications.
L’ingénierie de la plate-forme est la prochaine étape du DevOps. Accélérez la mise sur le marché (TTM) grâce à l’expérience des développeurs.
Découvrir les types, les avantages et l’évolution des tests de logiciels.
IBM Developer fournit les outils permettant aux développeurs de créer et de maintenir des composants logiciels.
Découvrir comment les tests continus intégrés permettent de développer des applications plus rapidement.
Tous les liens sont externes au site ibm.com
1 https://www.tutorialspoint.com/software_testing_dictionary/defect_logging_and_tracking.htm
2 https://en.wikipedia.org/wiki/Bug_tracking_system
3 https://www.tutorialspoint.com/software_testing_dictionary/defect_life_cycle.htm
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
5 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
6 https://techbeacon.com/app-dev-testing/pros-cons-defect-tracking
7 https://hbr.org/2019/09/why-fixing-software-bugs-should-be-the-ceos-problem