Métricas
Qualidade
Software
Desenvolvimento
Testes
Code Quality

Métriques de qualité logicielle : guide complet

Métriques de qualité logicielle : guide complet

Ce qui n’est pas mesuré n’est pas amélioré. Les mesures de qualité vous aident à comprendre l’état des logiciels et à orienter les décisions. Ce guide vous présente les métriques les plus importantes et comment les utiliser.

Pourquoi mesurer la qualité

Visibilité

Comprendre l’état actuel.

Tendances

Ça va mieux ou pire ?

Décisions

Basé sur des données, pas sur l'intuition.

###Communication

Démontrer la qualité aux parties prenantes.

Métriques de code

Couverture des codes

Pourcentage de code couvert par les tests.

Complexité cyclomatique

Complexité des chemins dans le code.

###Duplication

Code répété.

Dette technique

Estimation des travaux de dépollution.

Indice de maintenabilité

Score de facilité d’entretien.

Métriques de bogues

Densité des défauts

Bogues par taille de code (KLOC).

Taux d'évasion des bogues

Bugs trouvés en production vs complet.

###MTBF

Temps moyen entre les pannes.

MTTR

Temps moyen de réparation.

Répartition de la gravité

Proportion par gravité.

Métriques de test

Couverture des tests

Unité, intégration, E2E.

Taux de réussite aux tests

Pourcentage qui passe.

Tests feuilletés

Tests instables.

Temps d'exécution des tests

Combien de temps faut-il exécuter la suite.

Métriques de processus

Délai de livraison

De la validation au déploiement.

Temps de cycle

Du début à la fin d'une fonctionnalité.

Fréquence de déploiement

Combien de déploiements par période.

Modifier le taux d'échec

Pourcentage de déploiements qui posent des problèmes.

Métriques DORA

Qu'est-ce que c'est

Métriques de recherche et d’évaluation DevOps.

Quatre métriques

  1. Fréquence de déploiement
  2. Délai de modification
  3. Modifier le taux d'échec
  4. Il est temps de restaurer le service

###Classement

Performants Élite, Élevé, Moyen, Faible.

Révision du code

Il est temps de réviser

Combien de temps faut-il pour que le code soit révisé.

Examen minutieux

Commentaires de fond.

Taux d'approbation

Taux de réussite.

Mesures de production

Disponibilité

Disponibilité du système.

Taux d'erreur

Taux d'erreur en production.

Temps de réponse

Latence de demande (p50, p95, p99).

Débit

Requêtes par seconde.

Satisfaction des utilisateurs

###NPS

Score net du promoteur.

Évaluation de l'App Store

Évaluation en magasin.

Rapports de bogues

Volume de rapports d'utilisateurs.

### Billets d'assistance

Tickets liés à des bogues.

##Sécurité

Vulnérabilités

Nombre et gravité.

Il est temps de mettre à jour

Combien de temps pour réparer.

Incidents de sécurité

Incidents de sécurité.

Outils

SonarQube

Analyse statique, métriques de code.

Codecov/Combinaisons

Suivi de la couverture.

DORA/Détective

Métriques de déploiement.

Datadog/Nouvelle relique

Paramètres de production.

Tableaux de bord

Visibilité

Métriques accessibles à l’équipe.

Mise à jour

En temps réel lorsque cela est possible.

###Tendances

Voir l'évolution.

Alertes

Notifications d'anomalies.

Utilisation des métriques

Ne gamifiez pas

Des mesures pour perspicacité, pas pour punition.

Contexte

Les chiffres sans contexte sont trompeurs.

Tendances > Absolus

La direction compte plus que la valeur des points.

###Actions

Les mesures qui ne mènent pas à l’action sont inutiles.

Métriques par phase

Développement

Complexité, couverture, temps d'examen.

Libération

Délai, fréquence de déploiement.

Production

Taux d'erreur, disponibilité, temps de réponse.

Après la sortie

Densité des défauts, satisfaction client.

Amélioration continue

Référence

Établir le point de départ.

Objectifs

Fixez-vous des objectifs réalistes.

Rétrospectives

Discutez régulièrement des mesures.

###Expériences

Interventions de test.

Erreurs courantes

Métriques comme objectif

Une couverture à 100 % ne signifie pas qualité.

De nombreuses métriques

Concentrez-vous sur quelques points importants.

Ignorer le contexte

Différentes équipes et projets.

Punition par métriques

Cela provoque des comportements pervers.

Conclusion

Les mesures de qualité sont des outils permettant de comprendre et d’améliorer les logiciels. Choisissez ceux qui conviennent à votre contexte, surveillez les tendances et prenez des mesures basées sur les données. La qualité est un voyage continu, pas une destination.

##FAQ

1) Quelle couverture est suffisante ? 70 à 80 % est un bon objectif. Mais cela dépend de ce qui est testé.

2) Quelles mesures sont les plus importantes ? Métriques DORA pour DevOps. Densité des défauts et disponibilité pour la qualité.

3) Les mesures remplacent-elles le bon jugement ? Non. Ils éclairent les décisions, ils ne décident pas.

4) Comment convaincre l'équipe d'adopter des métriques ? Afficher la valeur. Ne l'utilisez pas pour punir.

5) Les métriques sont-elles valables pour une petite équipe ? Oui. Simplifiez, mais mesurez l’essentiel.

A lire aussi

-Assurance qualité numérique : AQ pour les produits logiciels -Métriques de qualité logicielle : validation et principes fondamentaux -Mesures de qualité logicielle : validation et étapes essentielles