Test de logiciels Chapitre 14 LFI2
Test de Logiciels Trois familles de techniques pour gerer les fautes Eviter Enlever Tolerer Test de logiciels: enlever les fautes.
Test de Logiciels Execution de logiciels dans des condition controlees, analyse des reponses, depistage des fautes, elimination. Role important dans le cycle de vie. Role important dans la politique QA. Proportion importance du budget de developpement.
Types de tests Quatre tpes generaux. Test unitaire. Test d’integration. Test d’acceptation/ de livraison/ de certification. Test de fiabilite.
Test unitaire Sept dimensions caracterisent chaque type de test. Objectif, Hypotheses, Standard, Oracle, Donnees requises, Criteres de selection de test. Intervenants/ partis concernes.
Test d’integration Sept dimensions caracterisent chaque type de test. Objectif, Hypotheses, Standard, Oracle, Donnees requises, Criteres de selection de test. Intervenants/ partis concernes.
Test d’acceptation Sept dimensions caracterisent chaque type de test. Objectif, Hypotheses, Standard, Oracle, Donnees requises, Criteres de selection de test. Intervenants/ partis concernes.
Test de fiabilite Sept dimensions caracterisent chaque type de test. Objectif, Hypotheses, Standard, Oracle, Donnees requises, Criteres de selection de test. Intervenants/ partis concernes.
إختبار الضمانية الزمن/ مجهود الإختبار نسبة الفشل
Phases du test Quatre phases Selection des donnees de test. Definition, implementation de l’oracle. Execution du test, enregistrement de ses resultats. Analyse des resultats du test, mesures pertinentes.
Chois des donnees de test Deux familles de methodes Methodes basees sur le programme. Methodes basees sur les specs.
Methodes basees sur les specifications Couvrir tous les services Couvrir les frontieres du domaine Donnees hors du domaine Donnes incompatibles Donnees qui balaient le domaine de chaque variable importante Donnees aleatoires Donnees aleatoires selon un profil d’usage.
نموذج إستعمال الزمن نسبة الفشل
توزيع الإحتمال المستخدم المختبر ميدان المواصفة
Exemple de profil d’usage DAB:
Methodes baties sur les programmes Methodes structurelles. Structure du programme. Methodes fonctionnelle. Fonction du programme.
Comparaison, discussion Generons les donnees de test a partir de: Structure/ texte du programme. Fonction du programme. Specification du programme. Laquelle est meilleure? Pourquoi?
Comparaison, discussion Nous pouvons tester tous les chemins d’un programme avec grande precision, beaucoup de soin, mais il echoue a la livraison… pourquoi? Equation quadratique.
Methodes structurelles Executer tous les enonces, Executer toutes les conditions (avec les deux sorties), Executer tous les chemins (possible?), Executer tous les chemins, limitant le nombre d’iterations.
Couverture des chemins مثلا: البرنامج المسارات:
Couverture des chemins, en presence de boucles مثلا: البرنامج المسارات:
Couverture des chemins, en presence de boucles المسارات:
Couverture de chemins, en presence d’iterations البيانات:
Definition, implementation de l’Oracle Definition de l’oracle depend du type de test et de ses circonstances Test unitaire, trouver des fautes: programmeur, oracle dur (fonction du programme, pas sa spec). Test unitaire, inscripton de l’unite dans la configuration: CM/QA; specification de l’unite. Test d’integration: Test d’acceptation: Test de fiabilite: Test de surete:
Definition et implementation de l’Oracle: exemple Programme du pgcd: { read(x); read(y); while (x!=y) if (x>y) {x=x-y;} else {y=y-x;} }
Definition et implementation de l’Oracle Trois possibilites المواصفة التي كُتب البرنامج من أجلها: وظيفة االبرنامج (تُستعل لنزع العيوب): شرط سلامة: كيف نرتبهم؟
Execution du test Programme general, genere les donnees, execute le programme, enregistre les resultats. void programtest () {statetype initialstate, state; opentestfile(); while (moretests()) {generatetestdata(state); P(); //alters state, preserves initialstate if (oracle(initialstate,state) {successfultest()} else {unsuccessfultest(initialstate);}} closetestfile(); }
Exemples d’Oracles
Analyse des resultats du test Analyse du fichier qui enregistre les resultats du test Prendre les mesures correctives necessaires