Validation des tests : Processus d'analyse des résultats des tests unitaires pour déterminer si les fonctionnalités testées fonctionnent comme prévu.
- Comparer les résultats obtenus avec les résultats attendus
- Identifier les différences significatives
- Déterminer si les différences sont acceptables ou non
- Valider la fonctionnalité si les résultats sont conformes
2 tests sur 3 passent, 1 échoue
Le test avec (0, 0) retourne 1 au lieu de 0
Rechercher et corriger l'erreur dans l'algorithme
La fonction présente un bug dans le cas particulier (0, 0) qui doit être corrigé
• Comparaison : Toujours comparer les résultats attendus et obtenus
• Cas limites : Tester les cas particuliers comme 0, valeurs négatives
• Validation : Tous les tests doivent passer pour valider la fonction
Performance : Mesure de l'efficacité d'un algorithme en termes de temps d'exécution et d'utilisation des ressources.
Chronométrer chaque algorithme avec différentes tailles de données
Comparer les résultats avec la complexité théorique
Identifier l'algorithme le plus performant pour chaque cas
Le tri rapide et le tri fusion sont plus efficaces que le tri à bulles pour les grandes données
• Mesure : Utiliser des chronomètres précis pour mesurer les performances
• Échelle : Tester avec différentes tailles de données
• Théorie : Corréler les résultats avec la complexité algorithmique
Identification des erreurs : Processus d'analyse des résultats incorrects pour en déterminer la cause.
Identifier le type d'erreur (logique, syntaxe, cas limite)
Examiner l'algorithme pour trouver la cause de l'erreur
Suggérer une solution pour corriger l'erreur identifiée
La fonction calcule factorielle(n) comme (n-1)! au lieu de n!, et ne gère pas correctement le cas de 0
• Classification : Identifier le type d'erreur pour mieux la corriger
• Systématicité : Analyser toutes les erreurs pour en trouver la cause commune
• Documentation : Enregistrer les erreurs pour éviter de les reproduire
Interprétation des résultats : Processus d'analyse d'une série de tests pour tirer des conclusions sur la qualité du code.
Déterminer le pourcentage de tests réussis pour chaque module
Classer les modules selon leur taux de réussite
Se concentrer sur les modules avec le taux le plus bas
Le module Interface nécessite des améliorations urgentes, les autres sont globalement stables
• Quantification : Calculer des indicateurs mesurables pour évaluer la qualité
• Hiérarchisation : Prioriser les corrections selon l'impact
• Contexte : Interpréter les résultats dans le contexte du projet
Fiabilité : Capacité d'un programme à produire des résultats cohérents et stables à travers différentes exécutions.
Exécuter les mêmes tests plusieurs fois pour observer la variation
Calculer l'écart-type des résultats pour évaluer la stabilité
Identifier les facteurs qui influencent la fiabilité
Un programme fiable produit des résultats cohérents à travers les exécutions répétées
• Consistance : Les résultats doivent être stables à travers les exécutions
• Mesure : Quantifier la fiabilité avec des indicateurs statistiques
• Amélioration : Identifier et corriger les sources d'instabilité
- Collecte : Rassembler tous les résultats des tests
- Comparaison : Comparer les résultats obtenus avec les résultats attendus
- Classification : Catégoriser les erreurs par type et gravité
- Interprétation : Tirer des conclusions sur la qualité du code
- Reporting : Documenter les résultats pour une analyse future
- Les résultats doivent toujours être comparés à des valeurs de référence
- La fiabilité est aussi importante que la justesse des résultats
- Les performances doivent être mesurées dans des conditions réalistes
- Les erreurs doivent être classifiées pour une correction efficace
- Les analyses doivent être documentées pour le suivi de la qualité