• Aucun résultat trouvé

El´ements pratiques de test des Hi´erarchies et Frameworks

N/A
N/A
Protected

Academic year: 2022

Partager "El´ements pratiques de test des Hi´erarchies et Frameworks"

Copied!
4
0
0

Texte intégral

(1)

El´ements pratiques de test des Hi´erarchies et Frameworks

Notes de cours Christophe Dony

Master Info Pro - Universit´e Montpellier-II

1 Introduction

1.1 D´ efinitions

G´enie Logiciel No 18, Mars 1990. EC2.

IEEE Software , 6(3), May 1989. Num´ero sp´ecial.

– erreur : commise par le d´eveloppeur, conduit `a un d´efaut.

– d´efaut : imperfection dans le logiciel conduit `a une panne ;

– panne : comportement anormal (r´esultat incorrect ou programme non fiable) d’un programme.

– Un programme est dit correct lorsqu’il correspond `a ses sp´ecifications.

– Un programme est fiable s’il s’ex´ecute sans pannes, ceci ne signifie pas qu’il est correct (instruction non ex´ecut´ee ou r´esultat non conformes aux sp´ecifications).

– Tests : essai du logiciel visant `a tester s’il est fiable et correct – Test de d´efauts : d´ecouverte des d´efauts.

– mise au point : phase de correction des d´efauts constat´es lors des tests Phases de test (extraits) :

– test unitaire: test d’un composant

– test des modules ou test d’int´egration : test d’un ensemble de composants – test d’acceptation (ou test alpha) : test du syst`eme dans les conditions

d´efinies par l’acheteur.

– test beta : test en situation d’installation.

1.2 Probl` emes

1. Exhaustivit´e : Impossibilit´e de tester toutes les donn´ees d’entr´ee possibles.

2. Automatisation : re-tester simplement apr`es chaque modification.

3. D´ecoupage : modulatit´e

4. Couverture : tester le maximum de cas, na pas tester n fois la mˆeme chose.

1

(2)

2 Pratique du test de d´ efauts

cf. (Howden 87 Functional Program Testing and Analysis, Mc-Graw-Hill)

2.1 test fonctionnels (ou test de boite noire)

- v´erification de la conformit´e aux sp´ecification. Le logiciel ou le composant test´e est consid´er´e comme une boite noire.

- tests r´ealis´es par des ´equipes autres que celles ayant r´ealis´e le logiciel.

2.2 Fabrication de jeux de test

Exemple : une proc´edure de recherche dans un tableau ordonn´e.

– Entr´ees : Tableau ordonn´e T, ´el´ement recherch´e L.

– pr´econditions : tableau ordonn´e, ´el´ement appartient au type des ´el´ements du tableau.

– Sortie : rend l’index auquel L est rang´e dans le tableau, nil sinon.

Principe decouverture: s´eparer les jeux de donn´ees en classes d’´equivalence en se basant sur les sp´ecifications et sur l’exp´erience.

Les tests appartenant `a la mˆeme classe d’´equivalence testents la mˆeme chose.

2.3 D´ efinition de crit` eres

Les classes d’´equivalence sont construites `a partir de crit`eres,

Origine Crit`ere nom

Pr´econditions :

Tableau ordonn´e TO

Tableau non ordonn´e TNO

El´ement du bon type ETY

El´´ement d’un mauvais type EMTY Postconditions

Element recherch´e dans le tableau ET Element recherch´e pas dans le tableau ENT Exp´erience

tableau de taille paire TP tableau de taille impaire TI Tests aux limites :

Tableau de 0 ´el´ement T0 Tableau de 1 ´el´ement T1 Tableau de taille quelconque TQ El´ement en premi`ere position E1 El´ement en derni`ere position En.

Element en position quelconque EQ

2

(3)

2.3.1 Classes d’´equivalence

Une classe d’´equivalence est un sous-ensemble de l’ensemble de tous les jeux de test possibles qui contient tous les test testant la mˆeme chose.

1. Eliminer les crit`eres d´ej`a test´es par le compilateur, par exemple TO, TNO, ETY ou EMTY.

2. supprimer les cas incompatibles comme : TPxT1.

3. Croiser les crit`eres. Dans l’exemple, il y a 36 cas potentiellement diff´erents :

“(TP TI) x (TQ TO T1) x (ET ENT) x (EQ E1 En)”. En enlevant les incompatibilit´es, il reste 11 cas effectifs (11 classes d’´equivalence) `a tester pour les tests de boite noire.

C1 : TPxTQxETxEQ C2 : TPxTQxETxE1 C3 : TPxTQxETxEn C4 : TPxTQxENT C5 : TPxT0xENT C6 : TIxTQxETxEQ C7 : TIxTQxETxE1 C8 : TIxTQxETxEn C9 : TIxTQxENT C10 : TIxT1xETxE1 C11 : TIxT1xENT

2.4 test structurels (ou tests de boite blanche)

Ajout de nouvelles classes d’´equivalence par analyse du code et prise en compte de la structure du programme.

– Prise en compte des algorithmes utilis´es. Exemple, une recherche dichoto- mique induit de nouveaux crit`eres : cl´e recherch´ee est au milieu du tableau.

– Test des chemins : Enum´eration des chemins possibles d’un programme (graphe de flux)

2.5 Automatisation des tests

- Voir JUnit

- Automatiser la comparaison entre r´esultat attendu et r´esultat obtenu - N m´ethodes par classes testant chacune les diff´erentes fonctionnalit´es dont une m´ethode de classe aggr´egeant l’utilisation des autres.

- Une m´ethode par Application.

- Repasser tous les tests apr`es une modification (test de r´egression).

3

(4)

2.6 G´ en´ eralisation au test d’une classe

Les crit`eres sont d´efinis par toute combinaison de valeur des attributs d’un objet qui lui conf`ere un ´etat particulier.

A mettre en relation avec les diagrammes d’´etat UML.

Il doit y avoir pour une m´ethode, un test pour chacun des ´etats possible de l’objet.

2.7 R´ esum´ e

Combiner les tests fonctionnels (boite noire) et les tests structurels (boire blanche).

Les tests fonctionnels ne permettent pas de mettre en ´evidence les d´efauts dus `a une mauvaise structure du programme ou `a la particularit´e de certains algorithmes.

Les tests structurels ne permettent pas de d´etecter les divergences par rap- port aux sp´ecifications

4

Références

Documents relatifs

La r´ ealisation de notre syst` eme est bas´ ee sur un ensemble de mat´ eriels et d’outils de prototypage et de d´ eveloppement tels que la carte m` ere Arduino et ses composants

Ensuite, nous ´etablissons une liste de formules exactes pour le calcul de la fiabilit´e du syst`eme, aussi bien dans le cas o`u les dur´ees de vie des composants sont

Le deuxi` eme test a montr´ e que dans la situation choi- sie (d´ eclamation d’un texte dans lequel de segments sont lus par un acteur et d’autres diffus´ es soit par un syst` eme

La méthodologie de test (génération et vérification) que nous proposons est basée sur les interactions dynamiques entre les différents composants d'une application et tient

La troisi`eme partie est consacr´ee `a la d´emonstration d’un r´esultat plus g´en´eral: nous montrons que la solution du probl`eme de Riemann-Hilbert pour les syst`emes Fuchsiens

En ce qui concerne les syst emes mixtes analogiques-digitaux, le but envisage, le developpement d'un environnement unie pour le test et le diagnostic de ces syst emes, a

Ou encore, un microgrid peut ˆetre d ´efini comme ´etant un syst `eme d’ ´energie comprenant des producteurs d’ ´energie distribu ´ee et de mul- tiples charges

Le syst` eme dy- namique ` a base d’AMFM, ´ etudi´ e dans cette th` ese, peut ˆ etre vu comme un benchmark de syst` eme non-lin´ eaire avec hyst´ er´ esis afin d’´ etudier