Les tests de produits constituent une étape cruciale du développement logiciel, et ils ne tolèrent aucune légèreté. Ils s’appuient sur des outils et des frameworks de test pour soumettre votre produit logiciel à de nombreux cas de test simulant une utilisation réelle. Pour exploiter pleinement les bénéfices de votre processus de test, vous devez évaluer votre produit par rapport à des facteurs appelés métriques de test logiciel.
Ces métriques de test logiciel sont un standard de mesure par lequel une équipe QA évalue la qualité et l’efficacité du processus de test. Dans ce guide sur les métriques de test logiciel, vous apprendrez :
Qu’est-ce qu’une Métrique de Test Logiciel ?
Les métriques de test logiciel sont des mesures quantitatives par lesquelles les équipes d’assurance qualité (QA) évaluent l’efficacité, la progression et les performances d’un système de test logiciel. Ces métriques donnent à l’équipe QA une meilleure compréhension des domaines à améliorer, qu’il s’agisse de tests manuels ou automatisés.
L’objectif principal des métriques QA est de déterminer si les techniques de test actuelles aident à atteindre le niveau de qualité souhaité. Elles sont également utiles pour identifier les obstacles et les facteurs qui nuisent à la productivité dans le processus de test, ce qui se traduit par des versions logicielles plus rapides.
Les métriques de test simplifient également les rapports QA car vous disposez d’informations étayées par des données qui donnent un aperçu instantané de l’efficacité du processus de test logiciel au fil du temps.
Pour garantir la qualité du produit la plus élevée, certaines entreprises développent leurs propres métriques pour les tests QA. Dans d’autres cas, elles peuvent utiliser un modèle de métriques de test pour gagner du temps.
Pourquoi les Métriques de Test sont-elles Importantes ?
Qu’est-ce qui rend les métriques de test si cruciales pour les tests et le développement logiciels ? Voici quelques raisons pour lesquelles chaque équipe de livraison devrait intégrer des métriques de test logiciel dans ses workflows :
- Évaluation objective. Les développeurs et les QA peuvent évaluer si leurs outils de test et le système de test répondent à toutes les normes requises ou s’ils doivent les modifier pour améliorer l’efficacité des tests. En s’appuyant sur des métriques quantitatives, vous évitez les opinions subjectives.
- Meilleure prise de décision. Les métriques de test logiciel aident les équipes de livraison à prendre des décisions plus éclairées sur le processus de test. Par exemple, les métriques de test automatisé révéleraient si un test automatisé nécessiterait plus de temps que prévu au budget. Elles pourraient adapter les tests futurs en fonction de ce que montrent les métriques.
- Meilleure visibilité. L’équipe de livraison peut déterminer quels changements QA elle doit apporter pour s’assurer de capturer systématiquement les bugs critiques et que le produit est construit selon les standards. Les métriques de test aident à repérer les zones les plus sujettes aux bugs et à établir le lien entre certaines actions des utilisateurs et les dysfonctionnements de l’application.
Avantages des Métriques de Test Logiciel
Lorsque les équipes QA appliquent des métriques de test à leurs projets, elles obtiennent plus d’informations et voient d’autres avantages. Passons rapidement en revue certains des avantages les plus notables.
Efficacité de Test Améliorée
Les métriques de test logiciel permettent aux QA de savoir quelles améliorations leur système de test nécessiterait pour devenir plus efficace. Si le système de test ne satisfait pas une métrique spécifique, cela indique à l’équipe QA que la technique est lacunaire dans ce domaine et nécessite des ajustements.
Qualité de Produit Supérieure
La surveillance continue de votre stratégie de test vous permet de détecter les goulets d’étranglement en amont. Le suivi régulier de vos métriques de test de performance contribue à maintenir votre application stable et opérationnelle, renforçant la sécurité et la qualité globale du produit.
Meilleure Atténuation des Risques
Les métriques de test vous aident à remarquer les schémas courants et à définir les zones à haut risque de votre produit logiciel. Elles vous permettent d’améliorer votre système de test en allouant judicieusement les ressources et en mettant l’accent sur les aspects à fort impact qui peuvent causer beaucoup de dommages en cas de défaut.
Perfectionnement Continu
Les métriques de test apprennent à l’équipe QA à ne pas se fier uniquement aux outils de test pour l’assurance qualité. Chaque processus de développement de produit a des particularités uniques, même si vous suivez les mêmes étapes. Il est donc important d’utiliser des métriques de test pour voir ce qui fonctionne et appliquer de nouvelles méthodes et techniques si les résultats sont insuffisants.
Satisfaction Client Accrue
Les métriques de test aident à détecter davantage de bugs critiques avant qu’ils n’atteignent la production, ce qui se traduit par une expérience utilisateur plus fluide. Grâce à l’efficacité améliorée, les équipes de livraison peuvent également publier des mises à jour et de nouvelles fonctionnalités plus fréquemment, rassurant les utilisateurs sur le bon entretien et la sécurité du produit.
Les métriques de test aident à identifier les goulets d’étranglement en amont et à voir quels processus ou méthodes nécessitent des changements.
Des tests plus efficaces signifient plus de bugs découverts et une meilleure couverture de code, augmentant la qualité du produit.
Les métriques de test aident à identifier les zones à haut risque de votre application et à prévenir les pertes de revenus en testant ces modules en profondeur.
Les métriques de test aident à maintenir un niveau de qualité élevé et à publier des mises à jour régulièrement, offrant une expérience utilisateur fluide.
Cycle de Vie des Métriques de Test
Un cycle de vie des métriques de test comprend quatre étapes : l’analyse, la communication, l’évaluation et le reporting. Que signifient-elles ? Nous avons tout détaillé dans le tableau ci-dessous :
Analysis
- The first step is to identify each QA metric and define them for a clear-cut comprehension.
Communication
- Ensure the stakeholders and QA team understand the need for software test metrics. Use the bullet points from the previous section explaining the importance and benefits of test metrics.
- For the testing team, go further by ensuring they understand which data points need to be captured for the metrics and why.
Evaluation
- This stage involves capturing, quantifying, and verifying the data.
- When all the data is collected, calculate the value of the metrics.
Reporting
- Gather all the information in one report and form a conclusion based on the result of the metrics.
- Email and distribute the report to stakeholders, QA team members, and developers, so everyone is on the same page.
- Leave room for feedback from all who got the report.
N’oubliez pas qu’il ne suffit pas de définir et d’utiliser des métriques pour le QA. Vous devez également recevoir des retours complets et agir en conséquence. Utilisez vos connaissances, votre expérience et votre discernement pour décider quelles suggestions doivent être mises en œuvre et lesquelles ne bénéficieraient pas à votre processus de développement et à la qualité de votre produit.
Classes et Types de Métriques de Test Logiciel
Comme vu dans la section précédente, la première étape du cycle de vie des métriques de test est l’étape d’analyse, où votre équipe QA identifie et définit les métriques de test. Mais que faire si vous ne savez pas encore exactement quoi mesurer ? Suivre un modèle de métriques de test est une décision raisonnable.
Mais d’abord, vous devez savoir que les métriques de test sont généralement classées sous quatre grandes catégories :
- Métriques de processus : Elles concernent l’amélioration de l’efficacité du processus de test. Elles permettent à l’équipe de livraison de savoir quelle partie de la stratégie de test nécessite une amélioration et ce qui fonctionne bien.
- Métriques de produit : Elles servent à mesurer la qualité du produit. Les métriques de produit incluent les métriques de test de performance, le nombre total de bugs graves, la densité de défauts, etc.
- Métriques de projet. Elles visent à évaluer les performances de l’ensemble de l’équipe QA. Le taux de complétion des cas de test, la couverture des tests automatisés et le taux de résolution des défauts sont tous des exemples de métriques de projet.
- Métriques de personnes. Elles visent à évaluer les compétences et la productivité des testeurs individuels et de toute l’équipe de test du projet. On y trouve des métriques comme les problèmes par rapporteur ou le taux de découverte des défauts.
Lors de la décision sur les métriques de test, tenez compte du public cible de votre produit et des objectifs de test.
Types de Métriques de Test : Tests Manuels et Automatisés
Les métriques de test peuvent également être regroupées sous deux types : les tests manuels et les tests automatisés. Dans les tests manuels, les analystes QA effectuent tous les calculs eux-mêmes sans l’aide de logiciels d’automatisation. Ils se subdivisent en métriques de base (données brutes) et métriques calculées (calculées à partir des données brutes).
Des exemples de métriques de base incluent le nombre de cas de test requis et le nombre de cas de test qui ont réussi, échoué ou été bloqués. Un exemple de métriques calculées est le ratio de glissement des défauts.
Pour les métriques de test automatisé, l’équipe QA utilise des outils et des techniques qui collectent et traitent les informations automatiquement. Un exemple de métriques de test automatisé est l’efficacité des scripts d’automatisation.
Entre ces deux types, les développeurs préfèrent généralement les tests automatisés et leurs métriques car ils sont plus rapides, bien qu’ils soient plus complexes. Les tests automatisés nécessitent des mises à jour constantes et une bonne compréhension de l’utilisation des métriques de test en rapport avec le langage, l’outil et la bibliothèque.
Métriques de Test Logiciel les Plus Importantes
Les métriques de test logiciel varieront selon les besoins spécifiques du projet. Cependant, nous avons répertorié certaines des plus courantes, que toute équipe QA pourrait facilement adopter :
- Couverture de test : vous permet d’estimer approximativement la complétude de votre processus de test. Elle vous donne une idée de la façon dont les cas de test existants couvrent le code de l’application et si l’équipe QA a exécuté tous les cas de test. Vous pouvez mesurer la couverture de test par fonctionnalité, GUI, cas d’utilisation, risques, etc.
- Couverture des tests automatisés : est utilisée pour calculer le pourcentage de cas de test automatisés. Elle vous permet de voir des opportunités supplémentaires d’automatisation des tests, résultant en des versions plus rapides et des économies de coûts.
- Densité de défauts : aide à déterminer si un module logiciel est prêt pour la publication. Elle mesure le nombre de défauts trouvés par fonctionnalité. Pour calculer cette métrique, divisez le nombre de bugs par les lignes de code. 1 bug pour 1 000 lignes de code est considéré comme un indicateur d’excellente qualité logicielle.
- Distribution des défauts : vous permet de voir quelles zones de votre application sont susceptibles aux bugs ou quelles actions utilisateur conduisent généralement à des dysfonctionnements. Vous pouvez mesurer la distribution des défauts par sévérité, module, type de test, etc. Cette métrique de test aide à mettre l’accent sur les parties les plus problématiques de votre logiciel.
- Temps de correction des défauts : vous donne une compréhension du temps qui s’écoule généralement depuis le moment où le défaut a été signalé jusqu’à sa correction. Si vous externalisez les tests logiciels et souhaitez réduire le temps de correction des défauts, cherchez des prestataires avec le bon décalage horaire pour bénéficier des tests de nuit. Ainsi, aucun temps n’est perdu à attendre les retours des QA.
- Cause des défauts : vous montre la racine du problème. Lors de l’analyse des résultats des cas de test, assurez-vous de mentionner la cause du problème. Le bug est-il apparu en raison d’une lacune dans les exigences, d’erreurs de code, de fautes d’architecture, d’un environnement mal configuré ?
- Indice de sévérité des défauts : indique l’état de santé global de votre produit. Plus l’indice est faible, mieux c’est. En fonction de son impact sur le logiciel, chaque défaut se voit attribuer un nombre, par exemple 8 pour un bloqueur et 1 pour un bug mineur. Pour calculer l’indice, multipliez le nombre de bugs par le nombre attribué et divisez leur somme par le nombre total de défauts.
- Efficacité de confinement des défauts : mesure l’efficacité du processus de test. En termes simples, elle montre la qualité de vos cas de test et techniques pour détecter les bugs avant que le code ne soit poussé en production. Un ratio élevé signifie que la majorité des bugs sont trouvés à temps. Pour la calculer, divisez le nombre de bugs signalés lors de la phase de test par la somme des bugs signalés lors des tests et après la publication, et multipliez par 100.
Respect du calendrier : vous indique si le temps de test a dépassé votre planning ou était inférieur à la durée prévue. Cette information est vitale pour améliorer la planification du projet et réaliser des versions logicielles cohérentes.
Exemples de Formules de Métriques de Test Logiciel
Une fois que vous apprendrez à calculer les métriques de test logiciel, vous réaliserez qu’elles ne sont pas difficiles du tout. Voici quelques exemples de formules de calcul des métriques de test logiciel :
Executed Test Cases Percentage
(Number of test cases executed Total number of test cases written) 100
Average Time for Dev Team to Fix Defects
Total time taken for bug fixes Number of bugs
Number of Tests Run per Time Period
Number of tests run Total time
Requirement Creep
(Total number of requirements added Number of initial requirements) 100
Passed Test Cases Percentage
(Number of passed tests Total number of tests executed) 100
Critical Defects Percentage
(Critical defects Total defects reported) 100
Defects Deferred Percentage
(Defects deferred for future releases Total defects reported) 100
Accepted Defects Percentage
(Defects accepted as valid by dev team Total defects reported) 100
Fixed Defects Percentage
(Defects fixed defects reported) 100
Blocked Test Cases Percentage
(Number of blocked tests Total number of tests executed) 100
Failed Test Cases Percentage
(Number of failed tests Total number of tests executed) 100
Finding Defect Cost
Total effort spent on testing defects found in testing
Schedule Slippage
(Actual end date – Estimated end date) (Planned end date – Planned start date) 100
Schedule Variance
(Actual date of delivery – Planned date of delivery)
Sur la base des formules ci-dessus, calculons manuellement quelques métriques de test. Tout d’abord, nous sélectionnerons les métriques de base pour les tests et trouverons les valeurs de ces métriques. Voici un tableau des métriques et valeurs que nous utiliserons pour notre exemple :
1
Number of requirements
10
2
Average number of test cases written by requirement
20
3
Total number of test cases written for all requirements
200
4
Total number of test cases executed
150
5
Number of test cases passed
90
6
Number of test cases failed
30
7
Number of test cases blocked
30
8
Number of test cases unexecuted
50
9
Total number of defects identified
45
10
Critical defects count
5
11
High defects count
15
12
Medium defects count
20
13
Low defects count
10
Exemples de Calculs de Métriques de Test
Ensuite, nous suivrons certaines des formules et saisirons les chiffres correspondants pour notre calcul exemple.
Pourcentage de cas de test exécutés
Formule : (Nombre de cas de test exécutés ÷ Nombre total de cas de test écrits) × 100
Calcul : (150 ÷ 200) × 100 = 75 %
Pourcentage de cas de test réussis
Formule : (Nombre de tests réussis ÷ Nombre total de tests exécutés) × 100
Calcul : (90 ÷ 150) × 100 = 60 %
Pourcentage de cas de test échoués
Formule : (Nombre de tests échoués ÷ Nombre total de tests exécutés) × 100
Calcul : (30 ÷ 150) × 100 = 20 %
Pourcentage de défauts critiques
Formule : (Défauts critiques ÷ Total des défauts signalés) × 100
Calcul : (5 ÷ 45) × 100 = 11 %
Une fois les résultats obtenus, vous pouvez les comparer aux benchmarks sectoriels ou internes et voir s’il existe des déviations importantes. Vous pouvez également voir comment ils se comparent aux données historiques de l’entreprise.
Réflexions Finales
Les métriques de test sont excellentes pour mettre en évidence les inefficacités dans le processus de test logiciel. Elles permettent aux responsables de livraison et aux analystes de test d’avoir des informations opportunes sur la qualité du produit et les performances globales de l’équipe.
Si vous réalisez que votre processus de test logiciel est devenu inefficace ou n’a jamais apporté les résultats attendus, vous devrez peut-être évaluer vos workflows avec un regard neuf. Chez QAwerk, nous avons testé plus de 300 projets pour des entreprises en Amérique du Nord, en Europe, en Australie et en Nouvelle-Zélande, les aidant à établir des processus de test efficaces, à accélérer les cycles de livraison et à atteindre une couverture correcte avec les tests manuels et automatisés.
N’hésitez pas à nous contacter pour planifier une session gratuite et sans engagement, où nous explorons vos défis QA quotidiens et proposons des solutions possibles, en nous appuyant sur notre expertise de longue date dans l’e-commerce, les médias et le divertissement, la santé, l’UX et la fintech.
Bonne chance dans votre parcours de test logiciel !
See how we helped Evolv speed up software releases by 50% and keep the platform running 24/7