Aller au contenu principal

6. La qualité se prouve par plusieurs indices

Dire qu'un logiciel est « de qualité » ne veut pas dire qu'il est parfait. Cela veut dire qu'il répond suffisamment bien au besoin, dans un contexte donné, et qu'il peut continuer à évoluer. Un outil interne utilisé une fois par mois et un service de santé disponible à toute heure n'ont pas les mêmes exigences. Ils ont néanmoins besoin de critères visibles.

Un test répond à une question précise

Un test automatisé exécute du code et vérifie un résultat attendu. Par exemple : pour un panier donné, la remise doit avoir tel montant ; lorsqu'un utilisateur n'a pas le droit, l'accès doit être refusé. Il protège une règle contre une régression future.

Il existe plusieurs niveaux de test :

  • les tests d'une petite unité de code sont rapides et précis ;
  • les tests d'intégration vérifient que plusieurs éléments fonctionnent ensemble ;
  • les tests de parcours vérifient ce qu'une personne peut réellement accomplir ;
  • les tests de contrat vérifient qu'une API tient toujours sa promesse.

Aucun niveau ne remplace tous les autres. Le bon choix dépend de ce qui pourrait casser et de la manière la plus crédible de le voir.

Une revue est un échange de compréhension

Avant de partager une modification, une personne crée souvent une pull request : une proposition de changement lisible par d'autres. La revue de code permet de relever une erreur, mais surtout de partager une compréhension : quelle règle est modifiée ? quelle solution a été choisie ? quelles conséquences ont été envisagées ?

Une bonne revue ne se réduit pas à faire appliquer un style. Elle améliore le changement et distribue la connaissance de la zone touchée. Pour cela, elle doit arriver assez tôt, rester respectueuse et examiner l'intention autant que l'implémentation.

D'autres preuves comptent

Un test peut passer alors que l'écran est illisible avec un lecteur d'écran, que le temps de réponse devient inacceptable ou qu'une migration traite mal des données anciennes. La qualité s'appuie donc aussi sur des essais humains, des mesures de performance, des vérifications d'accessibilité et des observations après mise en ligne.

Pour aller plus loin : tester comme produire une preuve, portfolio de tests, revue de code et accessibilité.