Tests et Qualité des Logiciels 14 avril 2020 Supprimer filigrane Wondershare PD
Tests et Qualité des Logiciels 14 avril 2020 Supprimer filigrane Wondershare PDFelement Syllabus Tests et qualité des logiciels ► Unité d’Enseignement : UF3 ► Crédits : 5, Coefficient : 3 ► 1 cours, 1 TD, 1 TP ► Objectifs : ■ la mise en place et l’accompagnement d’une démarche en informatique, ■ l’élaboration et la conduite de protocoles de tests d’applications logicielles. Supprimer filigrane Wondershare PDFelement Tests et qualité des logiciels ► Programme du cours théorique : 1. Qualité de logiciel 2. Introduction au test de logiciels 3. Tests statiques vs. Tests dynamiques 4. Tests fonctionnels 5. Tests structurels 6. Tests unitaires 7. Test d’intégration ► Références bibliographiques : ■ Sommerville, lan. Le génie logiciel et ses applications. Paris InterEditions, 1988. ■ David Gustafson, génie logiciel. Série Schaum, Ediscience, 2003. ■ G. Teneau, J-G. Ahanda. Guide commenté des normes et référentiels. Éditions Eyrolles, 2009. □ ► « 3 2/91 Supprimer filigrane Wondershare PDFelement Syllabus Tests et qualité des logiciels ► Note finale = 0.5 * Examen + 0.25 * TD + 0.25 * TD ■ Note de TD : 5 pts participation au tableau + 5 pts appréciation + 10 pts micro- interrogation. ■ Note de TP : moyenne des notes sanctionnant la résolution d’exercices proposées pendant les séances de TP. ■ En cas d’absence à une séance de TP ou de TD, les justificatifs doivent être remis, au plus tard, à la séance suivante. ► URL des polycopiés : www.mediafire.com/7fhnlp3i8a5j2f Supprimer filigrane Wondershare PDFelement Introduction Pourquoi tester? But : CONSTRUIRE DES LOGICIELS SANS DÉFAILLANCE => impossibilité théorique Enjeux : ► Éliminer les défauts qui conduisent à des défaillance avant exploitation. ► Assurer l’adéquation du logiciel à des normes légales ou contractuelles (certification). ► Vérifier, lors de l’exploitation, que les évolutions corrigent les défaillances existantes et n’en créées pas de nouvelles. □ ► « 3 4/91 Supprimer filigrane Wondershare PDFelement Chaîne de l’erreur De l’erreur vers la panne Figure 1 - Chaîne de l’erreur1 1. Pradat-Peyre JF., Pratique des tests logiciels, Dunod, 2017. < □ ► < (5 ► < - ► 5/91 Supprimer filigrane Wondershare PDFelement Chaîne de l’erreur Types de pannes ► Une suite de défaillances peut entraîner une panne du logiciel ou du système. ► Défaillance = Résultats inattendus (calculs erronés, fenêtre mal placée, message non affiché, etc.) ou Service non rendu (données non stockées, fenêtre non ouverte, etc.). Le logiciel fonctionne toujours. ► Panne = Arrêt total ou partiel du logiciel ; nécessité de redémarrer le logiciel ou le système. Supprimer filigrane Wondershare PDFelement Chaîne de l'erreur Mesures de fonctionnement Deux indicateurs sont utilisés : ► MTBF (Mean Time Between Failure) : Temps moyen de bon fonctionnement entre deux défaillances ou pannes, temps de réparation compris. A maximiser. ► MTTR (Mean Time To Repair) : Temps moyen de remise en route après une panne. A minimiser. Supprimer filigrane Wondershare PDFelement pes des tests Les tests montrent la présence de défauts : Non l’absence d’erreurs. Les tests exhaustifs sont impossibles : On ne peut tester tous les cas possibles, sauf pour du code très simple. Tester tôt : Plus tôt une erreur est découverte, moins coûteuse est la correction. Exemple : Les études menées sur le coût associé à la détection d’une erreur montre que : ■ si une erreur décelée lors de la phase de définition des besoins coûte 1, ■ cette erreur décelée en phase de conception coûte 10, ■ et une erreur décelée en phase d’exploitation coûte 100. Supprimer filigrane Wondershare PDFelement pes des tests Regroupement des défauts : Règle des « 80/20 » qui énonce que 80% des défauts sont localisés dans 20% du logiciel. Comment identifier ces 20% ? Le paradoxe du pesticide : A trop appliquer le même produit, il devient inefficace. Au bout d’un moment, la même série de tests ne permettra plus de découvrir de nouvelles erreurs, car elle a permis de trouver toutes les erreurs pour lesquelles elle était faite. Supprimer filigrane Wondershare PDFelement Principes des tests ► Les tests dépendent du contexte : En fonction de l’utilisation du composant, les objectifs et les types de tests ne seront pas les mêmes : tests fonctionnels, tests de performances, test de la sécurité, etc. ► L’illusion de l’absence de défaut : on recherche des défauts par rapport à ce qui a été exprimé comme attentes théoriques du logiciel, qui peuvent être différentes des attentes réelles du logiciel : il ne suffit pas de détecter puis de corriger tous les défauts trouvés pour rendre un logiciel utilisable. □ ► «51 10/91 Supprimer filigrane Wondershare PDFelement Processus de test ► Planifier les tests : Prévoir quoi tester (performance, sécurité, fiabilité, qui doit tester et quels plates-formes et outils utiliser. ► Spécifier les tests : Préciser quoi tester (quelles parties du logiciels), quelles techniques utiliser (test fonctionnel, structurel, ...). ► Concevoir les tests : Définir les scénarios de tests (spécification des fonctions à tester, technique et outils à utiliser pour le test de chaque fonction). ► Établir les conditions de tests : Prévoir pour chaque scénario de tests les jeux de valeurs (données de test) à fournir au logiciel pour réaliser ce scénario. Supprimer filigrane Wondershare PDFelement Processus de test ► Définir les conditions d’arrêt d’une campagne de tests : Préciser à partir de quel moment arrêter les tests. ► Contrôler les résultats : Comparer les données fournies par l’exécution des tests par rapport aux données attendues ou constatées lors de phases précédentes de tests. ► Valider les tests vis-à-vis des exigences : Vérifier qu’à toute exigence correspond au moins un scénario de test (mesure de la complétude des tests) et, à l’opposé, vérifier qu’un scénario de test sert à valider au moins une exigence (mesure de l’efficacité des tests). □ ► «51 12/91 Supprimer filigrane Wondershare PDFelement Les tests dans le cycle de développement Cycle en « V » Spécification Conceplioii préliininai re Conception détaillée ◄ ► ◄ ► ◄ ► < 13/91 Supprimer filigrane Wondershare PDFelement Préparation des tests ► Pendant les phases analyse et définition des besoins et conception ► Préparer la mise en œuvre lors des phases dédiées à l’assurance qualité ► Une bonne réalisation permettra de faire des tests efficaces Supprimer filigrane Wondershare PDFelement Préparation des tests Phase d’analyse et définition des besoins Il faut s’intéresser aux VV&T : ► Validation (Fait-on le bon logiciel?), ► Vérification (Le logiciel est-il bien fait?), et ► Tests (Peut-on découvrir des défauts -Testabilité?) Supprimer filigrane Wondershare PDFelement Préparation des tests Phase d’analyse et définition des besoins ► A cette étape, il faut faire le tri entre exigences fonctionnelles exigences non fonctionnelles (contraintes). ► Il faut éliminer les exigences imprécises, car difficilement testables (par exemple,« l’application pourra être utilisée par toute personne sachant manipuler une souris »). ► Lors d’une maintenance corrective, et après correction, il sera important de vérifier que les corrections n’ont pas affecté des parties du système qui fonctionnaient correctement (tests de non-régression). Supprimer filigrane Wondershare PDFelement Préparation des tests Conception globale Dans la conception globale, il faut construire une architecture testable : ► Appliquer le principe de forte cohésion (les entités d’un même module sont fortement liées) et faible couplage (les modules sont peu interdépendants les uns des autres) ; ► Les résultats intermédiaires de longues chaînes de traitement doivent être visibles (et récupérables au travers de « logs » appropriés) ; Supprimer filigrane Wondershare PDFelement Préparation des tests Conception globale ► Prévoir un processus de traitement des erreurs et un mécanisme de journalisation en vue d’une analyse ultérieure; ► Définir les interfaces des différents modules et donner un plan des interdépendances des modules; ► Définir un ordre d’intégration et planifier les tests d’intégration en termes de ressources humaines et matérielles. Supprimer filigrane Wondershare PDFelement Préparation des tests Conception détaillée Dans cette phase, il faut construire les cas de tests et prévoir les environnements pour réaliser ces tests. Deux stratégies sont possibles : ► l’approche « classique » où le développeur code puis teste à l’aide de tests unitaires; ► l’approche « Test Driven Development » où le développeur conçoit et code les tests avant de coder le composant. Supprimer filigrane Wondershare PDFelement Le s te sts dans le c yc le de déve loppe me nt Développement itératif ◄ ► ◄ ► ◄ ► ◄ 20/91 Supprimer filigrane Wondershare PDFelement Le s te sts dans le c yc le de déve loppe me nt Principes des méthodes de développement « agile » « Adaptation du logiciel et des équipes aux changements de contexte et aux modifications de spécifications intervenant pendant le processus de développement. » 2 ► Exemple de méthodes « agiles » : RAD (Rapid Application Development), UP (Unified Process), ou XP (Extrême Programming), ... 2. Pradat-Peyre JF., Pratique des tests logiciels, Dunod, 2017. Supprimer filigrane Wondershare PDFelement Le s te sts dans le c yc le de déve loppe me nt XP (eXtrem Programming) Objectif de XP livraison rapide de versions de système utilisables immédiatement Personnage central de la méthode Le chef de projet, appelé : « coach »ou « tracker » Caractéristiques d’un uploads/Geographie/ tests-deverrouille-ocr.pdf
Documents similaires
-
15
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 16, 2021
- Catégorie Geography / Geogra...
- Langue French
- Taille du fichier 5.8692MB