• Aucun résultat trouvé

automatique d’une suite de test `a partir des hypoth`eses, les hypoth`eses de test ne permettent pas de faire une structuration satisfaisante de la suite de test. Et pour chaque hypoth`ese de test nouvelle il faut pouvoir l’exprimer dans le formalisme ad´equat.

7.4 Crit`ere de couverture prise en compte

Nous utilisons dans notre approche la couverture des branches qui s’av`ere dans la pratique bien adapt´ee, car elle apporte un bon compromis entre le nombre de tests n´ecessaires et leur pertinence. Dans [GCR96] les auteurs montrent que cette couverture s’av`ere suffisante dans le cadre du test de conformit´e de protocoles de communication. On peut aussi appr´ecier le fait que cette notion de couverture s’attache aux transitions car ce sont les principaux ´el´ements des sp´ecifications sous forme de machines d’´etats finies.

Cet argument est repris dans la norme [ISO91] qui pr´ecise que le but d’un test revient `a tirer la transition (ou l’ensemble des transitions) permettant de sa-tisfaire une exigence de conformit´e formul´ee dans la sp´ecification. Ceci lorsque les propri´et´es formul´ees dans le cahier des charges portent sur les transitions de la sp´ecification.

Les approches bas´ees sur les distances ou les hypoth`eses de test sont int´eressantes mais elles sont aussi d’une plus grande complexit´e car il faut soit d´efinir une distance, soit des fonctions correspondant aux hypoth`eses de test. Ces approches sont encore tr`es marginales et s’int`egrent difficilement dans le cadre des sch´emas de test et dans notre recherche d’automatisation.

Chapitre 8

Couverture et formalisation

Proposer, pour chaque niveau d’abstraction, une notion de couverture permet au testeur de rester au mˆeme niveau de formalisation tout au long de la campagne de test. Au cours de ce chapitre nous allons associer `a chaque niveau d’abstraction une mesure de couverture pour d´eterminer quand l’activit´e de test se termine. Les sch´emas de test constituent le niveau le plus abstrait de description des tests, notre souhait est donc que le testeur puisse le plus ais´ement possible utiliser ce niveau d’abstraction.

L’int´erˆet d’effectuer une mesure de couverture au niveau des sch´emas de tests est d’obtenir rapidement des informations sur l’impact de la cr´eation d’un nouveau sch´ema de test sur une campagne de test sans avoir `a changer de niveau d’abstraction. Pour exprimer une couverture au niveau des sch´emas de test et que cette couverture ait une pertinence, il faut pouvoir la mettre en relation avec les couvertures de niveau d’abstraction moindre (les couvertures au niveau des tests abstraits sont des couvertures connues). C’est pourquoi `a chaque niveau d’abstraction des tests nous allons associer une couverture et la lier aux couvertures de niveau d’abstraction moindre.

Le but de ce chapitre est de pr´esenter comment les sch´emas de test peuvent ˆetre mis en relation avec les autres niveaux d’abstraction. Nous allons successive-ment pr´esenter de mani`ere formelle la sp´ecification comportesuccessive-mentale sur laquelle s’appliquent les couvertures de test (section 8.2), les tests abstraits et la notion de couverture associ´ee (section 8.3), les objectifs de test et la notion de couverture associ´ee (section 8.4) et pour finir les sch´emas de test et la notion de couverture associ´ee.

Pour formaliser ces diff´erentes notions nous prendrons comme hypoth`ese que les sch´emas de test et les objectifs de test sont r´eduits `a des s´equences, nous dis-cuterons des autres op´erateurs disponibles pour ´ecrire les sch´emas de test dans la section 11.

8.1 Les restrictions prises

Pour d´efinir notre couverture nous formalisons les diff´erents niveaux d’abstraction des tests. Lors de cette formalisation nous proc´edons `a certaines restrictions pour faciliter notre ´etude. Ces restrictions font que la notion de sch´ema de test manipul´ee par la suite n’est plus tout `a fait celle pr´esent´ee dans le chapitre 4.

La premi`ere restriction porte sur le caract`ere des tests d´efinis. Quelque soit leur niveau de description (tests abstraits, objectifs de test ou sch´emas de test), les tests sont non-branchus. Nous ´ecartons donc les op´erateurs d’alternative, de n´egation ainsi que de co-r´egion. Nous n’effectuons en fait que des restrictions sur les sch´emas de test. Les restrictions sur les objectifs de test ainsi que sur les tests abstraits d´ecoulent de celles-ci.

Nous ne consid´erons comme op´erateur que l’op´erateur de s´equencement, les sch´emas de test sont donc des suites d’appels. Nous ne consid´erons pas non plus les s´equences strictes. Ces restrictions nous permettent de ne g´erer que des che-mins dans la sp´ecification, et cela pour tous les niveaux d’abstraction.

Une autre restriction porte sur la notion de groupe. Comme nous le verrons dans la section 8.5.2, une m´ethode ne peut appartenir qu’`a un groupe, alors que dans le cadre g´en´eral des sch´emas de test nous pouvons associer une mˆeme m´ethode `a diff´erents groupes. Cette restriction nous permet de simplifier l’´elaboration de l’abstraction de la sp´ecification que nous aborderons dans le chapitre 9.