880 likes | 1.14k Views
Le test du logiciel. . OBJECTIFS DE LA PRESENTATION. . TECHNIQUES DE BASE. CONTEXTE ET GENERALITES. GENERALITES. Définitions Principes Catégories de tests. DEFINITIONS CLASSIQUES. DEFINITIONS CLASSIQUES. le test doit démontrer l'absence d'erreur.
E N D
TECHNIQUES DE BASE • CONTEXTE ET GENERALITES
GENERALITES • Définitions • Principes • Catégories de tests
DEFINITIONS CLASSIQUES • le test doit démontrer l'absence d'erreur. • Le test doit démontrer que le logiciel réalise ce qu'il est supposé réaliser. • Le test est réussi s'il s'exécute sans découverte d'erreur.
PROBLEMES POSES PAR L'APPROCHE CLASSIQUE • IMPOSSIBLE DE TESTER TOUS LES CAS • LE TEST EST VU COMME UNE ACTIVITE NEGATIVE
L'APPROCHE DE MYERS • une approche psychologique favorisant l'efficacité et la satisfaction du testeur, • une approche économique qui permet de situer son effort de test dans les domaines les plus efficaces en fonction du coût prévu.
DEFINITION DU TEST • Le test du logiciel est l'activité destinée à trouver les erreurs du logiciel. Un test est positif s'il permet de découvrir des erreurs. Un test est efficace s'il a une forte probabilité de découverte d'erreurs.
PRINCIPES • DEFINIR AVANT LES RESULTATS ATTENDUS • NE PAS TESTER SES PROPRES PROGRAMMES • ANALYSER LES RESULTATS • TESTER EGALEMENT POUR DES DONNEES NON VALIDES ET ATTENDUES • REALISER DES TESTS REPRODUCTIBLES • PLANIFIER DU TEMPS POUR LES CORRECTIONS
PARADOXES • La probabilité d'existence d'erreur résiduelle dans une portion de code est proportionnelle au nombre d'erreurs déjà découvertes. • L'activité de test est une tâche extrêmement créative et intellectuelle.
ACTIVITES DE TEST • la revue, analyse purement humaine, • les programmes de tests. • BOITE NOIRE : VU DE L'EXTERIEUR • BOITE BLANCHE : EN TENANT COMPTE DE LA STRUCTURE
QUALITE ET RENTABILITE • RENTABILITE • MESURE DE L'EFFORT NOMBRE D'ERREURS TROUVEES EFFORT DE TEST NOMBRE DE CAS TESTES NOMBRE DE CAS POSSIBLES
LE TEST BOITE NOIRE • TROUVER LES ERREURS DE REALISATION PAR RAPPORT A LA SPECIFICATION • LE TEST BOITE NOIRE • Partitions en classes d'équivalence • Analyse aux bornes • Graphe causes/effets • la méthode intuitive
LE TEST BOITE BLANCHE • TROUVER LES ERREURS DE REALISATION DU COMPOSANT EN TENANT COMPTE DE SA CONCEPTION DETAILLEE • LE TEST BOITE BLANCHE • couverture des instructions • couverture des branches ou décisions • couverture des conditions • couverture des décisions/conditions • couverture des conditions multiples • couverture des chemins
PARTITIONS EN CLASSES D'EQUIVALENCE • spécification : x doit être compris entre 0 et 999 et y entre 0 et 4, le résultat z est ... • DETERMINER LES CLASSES DE VALEURS EQUIVALENTES DANS LE TEXTE DE LA SPECIFICATION
PARTITIONS EN CLASSES D'EQUIVALENCE • spécification : x doit être compris entre 0 et 999 et y entre 0 et 4, le résultat z est ... • DETERMINER LES CLASSES DE VALEURS EQUIVALENTES DANS LE TEXTE DE LA SPECIFICATION • Condition externe Classe valide Classe invalide • x 0<=x<=999(1) x<0(2) x>999(3) • y 0<=y<=4(4) y<=0(5) y>4(6)
PARTITIONS EN CLASSES D'EQUIVALENCE • UN TEST VALIDE PEUT COMBINER LES CLASSES VALIDES • classe 1 et classe 4 : (x=10,y=2) • UN TEST INVALIDE NE DOIT COMPORTER QU'UNE CLASSE INVALIDE • classe 2 : (x=-4,y=3) • classe 3 : (x=2000,y=2) • classe 5 : (x=10,y=-10) • classe 6 : (x=6,y=6)
ANALYSE AUX BORNES • CHOISIR DES VALEURS AUTOUR DES CAS LIMITES • ex : x : 0,999,-0.001,999.001 • y : -1,0,4,5
GRAPHE CAUSE/EFFET • AMELIORATION DE LA METHODE DES CLASSES D'EQUIVALENCE • POUR ANALYSER DES COMBINAISONS D'ENTREES SORTIES • APPLICABLE SUR UN SOUS-ENSEMBLE
GRAPHE CAUSE/EFFET • IDENTIFIER ET NUMEROTER LES CONDITIONS D'ENTREE, LES CAUSES • IDENTIFIER ET NUMEROTER LES EFFETS EN SORTIE S1 Z=4 C1 X>10 C2 y<4 C3 le petit chat est mort S2 crier au secours ... ...
C1 C2 GRAPHE CAUSE/EFFET • FAIRE UN GRAPHE RELIANT LES CAUSES AUX EFFETS S1 S2 C3 C4 S3 C5 S4 C6
1 0 0 1 0 1 1 0 1 1 0 1 0 EXPLOITER LE GRAPHE • POUR CHAQUE EFFET, REMONTER LE GRAPHE • SUR UN "OU" A N ENTREE ET SORTIE 1 • RETENIR N TESTS AVEC UNE SEULE ENTREE A 1
EXPLOITER LE GRAPHE • SUR UN "ET" A N ENTREE ET SORTIE 0 • RETENIR N TESTS AVEC UNE SEULE ENTREE A 0 1 1 0 0 0 1 0 1 0 0 1 0 1
EXPLOITER LE GRAPHE • SUR UN "OU" A N ENTREE ET SORTIE 0, RETENIR 1 TEST AVEC ENTREES A 0 • SUR UN "ET" A N ENTREE ET SORTIE 1, RETENIR 1 TEST AVEC ENTREES A 1 0 1 0 0 0 1 1 1 1 1
REMPLIR LA TABLE DES TESTS • COMPLETER LES AUTES SORTIES T1 T2 TN C1 0 1 CN 0 1 S1 1 1 SN 1 0
METHODE INTUITIVE • EN ANGLAIS : ERROR GUESSING • EN FRANCAIS : PIFOMETRE
COUVERTURE DES INSTRUCTIONS 90 % X M: PROCEDURE (A, B, X) X = A X = X + 1 IF((A>1)&(B=0))THEN DO X=X/A END IF((A=2)|(X>1))THEN DO X=X+1; END END X X X X X X X X
COUVERTURE DES CONDITIONS • CHAQUE CONDITION ELEMENTAIRE DOIT PRENDRE LES VALEURS "VRAI" ET "FAUX" AU MOINS UNE FOIS IF( A ET B) THEN ACTION; END IF ex : (vrai,vrai) et (faux,faux) = 100%
COUVERTURE DES CONDITIONS/DECISIONS • COUVERTURE DES CONDITIONS • COUVERTURE DES BRANCHES/DECISIONS
COUVERTURE DES CONDITIONS MULTIPLES • TEST DE TOUTES LES COMBINAISONS DE CONDITIONS SUR UN TEST • EX : IF (A OU B) ET (C OU D).... • test des 16 combinaisons possibles • MAUVAIS RAPPORT QUALITE/PRIX • ex : si B = VRAI au lieu de B = FAUX alors que A = VRAI, l'erreur sur B ne modifie pas le traitement
COUVERTURE DES CONDITIONS MULTIPLES MODIFIEES • ex (A OU B) ET (C OU D) • POUR (A OU B) AVEC (C OU D) = VRAI • A = FAUX, B = VRAI, • A = VRAI, B = FAUX, • A = FAUX, B = FAUX • POUR (C OU B) AVEC (A OU B) = VRAI • C = FAUX, D = VRAI, • C = VRAI, D = FAUX, • C = FAUX, D = FAUX • TESTER 6 CAS AU LIEU DE 16
CONCLUSION • GRAPHE CAUSE/EFFET OU CLASSES D'EQUIVALENCE • CAUSE/EFFET LORSQUE LE NIVEAU DEMANDE EST ELEVE ET QU'IL Y A DES COMBINAISONS DE CONDITIONS • + ANALYSE AUX BORNES • ESSAYER LES TESTS EN MESURANT LE TAUX DE COUVERTURE CHOISI EN FONCTION DU NIVEAU • COMPLETER SI NECESSAIRE POUR AUGMENTER LE TAUX
TEST DU LOGICIEL • LE CYCLE DE VIE • LE TEST UNITAIRE • LE TEST D'INTEGRATION • LE TEST DE VALIDATION • PLANIFICATION DES TESTS • CRITERES D'ARRETS • LA MISE AU POINT • LES OUTILS
LE CYCLE DE VIE • Le test de la spécification • La revue de spécification du logiciel • Le maquettage • Le test de validation • Le test de la conception préliminaire • La revue de conception préliminaire • Le prototypage • Le test d'intégration
LE CYCLE DE VIE • Le test de la conception détaillée • Le test du code • La revue de code • L'inspection de code • L'analyse de code • L'analyse de la qualité • Le test unitaire
LE TEST UNITAIRE • TROUVER LES ERREURS DE REALISATION DU COMPOSANT PAR RAPPORT A SA SPECIFICATION (CONCEPTION PRELIMINAIRE) • TEST BOITE NOIRE
LE TEST UNITAIRE • TROUVER LES ERREURS DE REALISATION DU COMPOSANT EN TENANT COMPTE DE SA CONCEPTION DETAILLEE • LE TEST BOITE BLANCHE