1 / 84

Le test du logiciel

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.

nariko
Download Presentation

Le test du logiciel

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Le test du logiciel .

  2. OBJECTIFS DE LA PRESENTATION • .

  3. TECHNIQUES DE BASE • CONTEXTE ET GENERALITES

  4. GENERALITES • Définitions • Principes • Catégories de tests

  5. DEFINITIONS CLASSIQUES

  6. 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.

  7. PROBLEMES POSES PAR L'APPROCHE CLASSIQUE • IMPOSSIBLE DE TESTER TOUS LES CAS • LE TEST EST VU COMME UNE ACTIVITE NEGATIVE

  8. 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.

  9. 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.

  10. 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

  11. 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.

  12. 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

  13. QUALITE ET RENTABILITE • RENTABILITE • MESURE DE L'EFFORT NOMBRE D'ERREURS TROUVEES EFFORT DE TEST NOMBRE DE CAS TESTES NOMBRE DE CAS POSSIBLES

  14. BOITE NOIRE ET BOITE BLANCHE

  15. 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

  16. 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

  17. 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

  18. 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)

  19. 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)

  20. ANALYSE AUX BORNES • CHOISIR DES VALEURS AUTOUR DES CAS LIMITES • ex : x : 0,999,-0.001,999.001 • y : -1,0,4,5

  21. GRAPHE CAUSE/EFFET • AMELIORATION DE LA METHODE DES CLASSES D'EQUIVALENCE • POUR ANALYSER DES COMBINAISONS D'ENTREES SORTIES • APPLICABLE SUR UN SOUS-ENSEMBLE

  22. 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 ... ...

  23. C1 C2 GRAPHE CAUSE/EFFET • FAIRE UN GRAPHE RELIANT LES CAUSES AUX EFFETS S1 S2 C3 C4 S3 C5 S4 C6

  24. SYMBOLES DE BASE

  25. SYMBOLES DE CONTRAINTE

  26. 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

  27. 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

  28. 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

  29. REMPLIR LA TABLE DES TESTS • COMPLETER LES AUTES SORTIES T1 T2 TN C1 0 1 CN 0 1 S1 1 1 SN 1 0

  30. METHODE INTUITIVE • EN ANGLAIS : ERROR GUESSING • EN FRANCAIS : PIFOMETRE

  31. 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

  32. COUVERTURE DES BRANCHES/DECISION 50 %

  33. 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%

  34. COUVERTURE DES CONDITIONS/DECISIONS • COUVERTURE DES CONDITIONS • COUVERTURE DES BRANCHES/DECISIONS

  35. 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

  36. 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

  37. COUVERTURE DES PORTIONS LINEAIRES DE CODE SUIVIES DE SAUT

  38. 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

  39. 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

  40. LE CYCLE DE VIE

  41. 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

  42. 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

  43. LE TEST UNITAIRE • TROUVER LES ERREURS DE REALISATION DU COMPOSANT PAR RAPPORT A SA SPECIFICATION (CONCEPTION PRELIMINAIRE) • TEST BOITE NOIRE

  44. LE TEST UNITAIRE • TROUVER LES ERREURS DE REALISATION DU COMPOSANT EN TENANT COMPTE DE SA CONCEPTION DETAILLEE • LE TEST BOITE BLANCHE

  45. LE TEST D'INTEGRATION

  46. TEST UNITAIRE BIG BANG

  47. INTEGRATION BIG BANG

  48. TEST INCREMENTAL ASCENDANT

  49. TEST INCREMENTAL ASCENDANT

  50. TEST INCREMENTAL DESCENDANT

More Related