Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Tests et Validation du logiciel
02/2007 – 06/2007
2
Approche fonctionnelle – Tests aléatoires
Différents des autres techniques « déterministes » Tests aléatoires approche probabiliste Génération des DT assez facilement automatisable Problématique d’automatisation de l’oracle
3
Approche fonctionnelle – Tests aléatoires
Objectivité des DTs produites Quasi impossibilité de générer des ensembles de paramètres cohérents sur des programmes de taille industriel Selon « Le test des logiciels » Hermes, des études ont montrés que les tests aléatoires sont à peine moins performants que les approches déterministes p104L1
4
Approche fonctionnelle – Tests aléatoires
5
Approche fonctionnelle Couverture du graphe fonctionnel
Réalisation de graphe dans des perspectives de tests Modélisation du comportement du logiciel sous forme d’automate Sommet = un état du logiciel (émission d’un message d’erreur, lecture d’un fichier, attente utilisateur, …) Arc = changement d’état
6
Approche fonctionnelle Couverture du graphe fonctionnel
Menu1 Msg1 Menu 2 Msg2 Msg3 Fin Msg4 Choix 1 Choix 2 A C Erreur La modélisation doit faciliter la conception du test Critères de couvertures Tous les nœuds Tous les arcs Tous les chemins Technique utile pour les tests IHM, mais modélisation vite complexe
7
Approche fonctionnelle Graphes cause-effet
Concept de G. J. Myers Relie les effets d’un programme (sorties) aux causes (causes) Analyse minutieuse des spécifications du programme
8
Approche fonctionnelle Graphes cause-effet
Quatre types de symboles : Identité Négation OU logique ET logique
9
Approche fonctionnelle Graphes cause-effet
Construction d’un graphe cause-effet : Spécifications : « Le caractère dans la colonne 1 doit être un « A » ou un « B ». La colonne 2 doit contenir un chiffre. Ces deux conditions signifient que le fichier est à jour. Si la première colonne est fausse, on affiche le message M1. Si la seconde colonne est fausse, on affiche le message M2.
10
Approche fonctionnelle Graphes cause-effet
Synthèse de causes (Entrées) E1 : le caractère de la colonne 1 est « A » E2 : le caractère de la colonne 1 est « B » E3 : le caractère de la colonne 2 est un chiffre Synthèse des effets (Sorties) S1 : Fichier à jour S2 : Message M1 S3 : Message M2
11
Approche fonctionnelle Graphes cause-effet
12
Approche fonctionnelle Graphes cause-effet
Table de vérité Doit contenir l’ensemble des combinaisons des causes possibles. Donc ici 8 possibilités Le remplissage s’effectue en trouvant les effets à 1 DT Causes Effets E1 E2 E3 S1 S2 S3 1 2 3 4 5 6 7 8 Cas impossibles vu les spécifications
13
Approche fonctionnelle Graphes cause-effet
Constats 2 DT pour tester le fichier à jour 2 DT pour tester le message M1 3 DT pour tester le message M2 DT Causes Effets E1 E2 E3 S1 S2 S3 1 2 3 4 5 6 7 8
14
Approche fonctionnelle Graphes cause-effet
Problème des états intermédiaires C1 B3 B2 A1 B1 A3 A2 C1 dépend de B2, B3 mais aussi de A1, A2 et A3. Le nombre de DT augmente de façon importante
15
Approche fonctionnelle Graphes cause-effet
Règles de simplification Forme Disjonctive (OU) R1 : si x doit être à 1, ne pas prendre la situation ou A=B=1 R2 : si x doit être à 0, énumérer toutes les situations ou A=B=0 X B A
16
Approche fonctionnelle Graphes cause-effet
Règles de simplification Forme Conjonctive (ET) R3 : si x doit être à 1, énumérer toutes les situations ou A=B=1 R4 : si x doit être à 0, R4.1 Inclure une seule situation ou A=B=0 R4.2 Pour les autres combinaisons (avec un paramètre à 1), choisir une seule échantillon de causes générant cette valeur à 1. X B A
17
Approche fonctionnelle Graphes cause-effet
Pour chaque combinaison, il faut prévoir toutes les valeurs de A1, A2, A3, A4 les produisant. Exemple A1 A2 B1 1 c1 b2 a1 b1 a2 a3 a4 B1 B2 C1 Nb DT 1*3=3 1 1*1=1 3*3=9 3*1=3 A3 A4 B2 1 Avant simplification : 13 DTs pour C1=0 3 DTs pour C1=1
18
Approche fonctionnelle Graphes cause-effet
B1 1 B1 B2 C1 1 R1 A3 A4 B2 1
19
Approche fonctionnelle Graphes cause-effet
B1 1 Cas 1 : C1=1 R3 B1=1 {A1,A2}={0,1}{1,0}. R1 exlus {1,1} B2=1 {A3,A4}={1,1} DT={0,1,1,1}{1,0,1,1} B1 B2 C1 1 R1 A3 A4 B2 1
20
Approche fonctionnelle Graphes cause-effet
B1 1 Cas 2 : C1=0 R4.1 Une seule situation ou B1=B2=0 DT={0,0,0,0} B1 B2 C1 1 R1 A3 A4 B2 1
21
Approche fonctionnelle Graphes cause-effet
B1 1 Cas 3 : C1=0 R4.2 Cas 3.1 {0,1} DT={0,0,1,1} Cas 3.2 {1,0} R4.2 : un seul échantillon générant le B1=1 DT={1,0} B2=0 DT={0,0},{0,1}{1,0} DTs={1,0,0,0}{1,0,0,1}{1,0,1,0} B1 B2 C1 1 R1 A3 A4 B2 1
22
Approche fonctionnelle Graphes cause-effet
Avant simplification Après simplification a1 A2 a3 a4 c1 1 a1 A2 a3 a4 c1 1
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.