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.
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation
Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement.Téléchargez la présentation en cliquant sur ce lien.Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.
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.
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
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 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