• Aucun résultat trouvé

L'analysepermet de faire ressortirles ara téristiquesprin ipales d'un programme ou de sa

duprogramme,end'autrestermes sursaspé i ation,

 les te hniquesà ritèrestru turel reposantsur l'analysedu odesour e duprogramme, de

sonimplantation.

5.4.1 Critère fon tionnel

Une te hnique de test fon tionnel est une te hniquede test dontla détermination des

diérentesdonnéesdetestreposesuruneétudedesspé i ationsdelafon tionsoustest.

Leste hniquesfon tionnellessontdepuisun ertaintempsprivilégiéespourlagénérationau-

tomatiquede asdetest ommepour[ABC

+

02℄, [OB88℄,[DF93℄,[MA00℄,....

En eet, le test fon tionnel permet, ontrairement au test stru turel qui reste très on ret,

de hoisirunniveaud'abstra tiondelafon tionàtraversleniveaud'abstra tiondelaspé i ation.

Dans e typede te hniquesde test, l'aspe t implantation n'estpas analysé pour déterminer

les données de test, seul l'aspe t spé i ation du programme l'est. Le programme est testé à

travers ses interfa es et la séle tion des jeux de test va s'ee tuer à partir des do uments de

spé i ationet de on eption.L'idéeest de vérierle omportementréel dulogi ielparrapport

àson omportementspé ié.Lesentrées,lessortiesetleurrelationsontétudiées.Leprin ipeest

des'appuyersurlaspé i ationpourdénirune partitionsurl'espa edesentréesdéniesparla

spé i ation. Il s'agit de her herla partition la plus ne possiblede et espa e 'est-à-dire le

pluspetit sous-domaine omportantl'ensembledesvaleursdesvariablesd'entrée provoquantun

omportement donné. Pour haque partition, une valeur d'entrée ainsi que la sortie orrespon-

dante( onnueou ara tériséed'aprèslesspé i ations)peuventêtreséle tionnéesparhasardou

séle tionnéesplusoumoinsprèsdesbordsdudomaineandevérierlerespe tdelaspé i ation.

Une te hnique usuelle est de s'intéresser aux valeurs limites de haque sous-domaine selon

l'hypothèseque esvaleurssontfortementpathogènes[LW90℄, [LPU02℄,[BDL06℄.

Lesméthodesfon tionnellesévitentlesproblèmesd'analyseprovoquésparleteststru turel.Les

testsfon tionnelssemblentêtrelestestslesplusprèsdeladémar henaturelledesprogrammeurs.

Illustration 37

Un exempleest eluid'undéveloppeurquivientd'é rireunefon tion al ulantlavaleurabsolue

d'unentier.Lepremiertestintuitifestd'exé uterladitefon tionave unevaleurenentréenégative

puisave unevaleurenentréepositiveetdevérierlavaliditédurésultat.Eneet,laspé i ation

duprogrammepermetdedéduirele omportementattenduduprogrammeenfon tionduvariables

d'entrée(i ilavaleurabsolued'unentier)etl'exé utionpermetd'en vérierla orrespondan e.

Ledéfaut des tests fon tionnels est le manque de justi ation de lareprésentativité des dif-

férents as de test 'est-à-dire l'absen e de l'hypothèse d'uniformité. Si toutes les données d'un

logi iel ne peuvent pas être testées, seules ertaines données dans les diérents domaines sont

testées.Dans untel as, l'hypothèse d'uniformitéest né essaire pour onsidérerlestests omme

susants.Deplus,letestfon tionnelnepermetpastoujoursdemettreenavanttoutesleserreurs

issuesdel'implantation, eàquoipeutrépondreleteststru turel.

5.4.2 Critère stru turel

Une te hnique de test stru turel est une te hnique de test dont la détermination des

diérents asde testreposesur uneétudedelastru tureinternedelafon tionsoustesti.e. sur

sonimplantation.

Leste hniquesde test stru turel,quantàelles,ontpour obje tif d'atteindre une ouverture

Pourle testorienté otde ontrle,il s'agitde ouvrir lesn÷uds,les ar set les heminsdu

graphede ontrlereprésentantrespe tivementlesinstru tions,lesbran hementsoules hemins

d'exé utiondu odesour e[GBR00℄, [GDGM01℄,[Meu01℄,[WMM04a℄.

Illustration 38

Enprenantl'exempledelafon tionsuivante:

1. void fon (int x) 2. { 3. if (x<0) 4. x=1-x ; 5. if (x !=1) 6. x=2*x; 7. }

Pourle ritèredesinstru tions,ils'agitdetesteraumoinsunefoistouteslesinstru tionssimples

(pasdesaut,de onditionnelle,...)soitde ouvrirleslignes4 x=1-x; et6 x=2*x; .Un

testestsusantave lavaleur-3parexempleenentrée.

Pourle ritèredesbran hements,il s'agitpourlesexpressionsdesinstru tions onditionnelles

 (x<0)  et  (x!=1)  de les exer er vériées et non vériées. Deux tests susent ave les

valeurs-3et1enentrée.

Pourle ritèredes hemins, ela orrespondaux asoùlesdeux onditionssontfausses,vraies,

la première seulement est vraie et enn seulement la se onde. Seuls trois de es hemins sont

exé utables. Le hemin orrespondant à la véri ation de  (x<0)  suivi après l'ae tation 

x=1-x;delanonvéri ationde (x!=1) estun hemininfaisable:eneetsonprédi at de

hemin orrespondàunsystèmede ontraintesinsatisable.Troistestspermettentde ouvrir es

trois heminsave enentrée-3,1et 4parexemple.

Test orientéot de données

Pour le test orienté ot de données, les ritères ( f. [RW85℄) s'intéressent à la ouverture

des relationsentre lesdénitions et les utilisationsd'une variable. Legraphe de otde données

orrespond au graphe de ontrle de la fon tion dontles n÷uds sont annotés des dénitions et

utilisations des diérentes variables de la fon tion. La onstru tion d'un jeu de test respe tant

es ritères n'est pas toujours possible et est indé idable dans le as général. Les travaux de

[HFGO94℄ ontpour but de omparer l'e a ité des ritères otde données et otde ontrle.

Selon sesexpérimentations, l'e a ité des ritères est équivalent et l'utilisation omplémentaire

des deux typesde ritèrespermet d'améliorer l'e a itédes tests. Notons quele ritèreorienté

ot de ontrle tous-les- hemins reste le ritèrele plus rigoureux des ritères stru turels et que

sonappli ationpossèdeune e a itéaumoinségaleaux ritèresotsdedonnées.

Test mutationnel

Le test mutationnel est une te hnique indire te pour séle tionner ou évaluer une suite de

tests pertinente.Cette te hnique aété introduite parDeMillo[DLS78℄ et parOutt lors de es

travaux de thèse. Le s orede mutation (nombre de mutantstués sur nombre total de mutants

non-équivalents) est une mesure de qualité de lasuite de test et don de la qualité du logi iel.

L'étude empirique de [ABL05℄ montre l'e a itédes suites de test générées pardes te hniques

mutationnelles omme[BHJT00℄,[OAL06℄ouen ore[OVP℄.Laabilitéde etteappro hedépend

du hoixdesopérateursdemutationetdeleuradéquationave leserreursréellesdelafon tionsous

test.Lenombreetlarépartitiondesmutantsgénérésainsiquelaprésen edemutantséquivalents

(i.e. ayant le même omportement que la fon tion sans erreur inje tée) rend la méthode très

oûteuseen temps d'exé utionet deréalisationdes tests.Le test mutationnel adonné lieuà de

omparerdesméthodesdeséle tionde asdetest.

Obje tifs

Lebutestdes'assurerquelatotalitédesdiérentesexé utionspossibles(ouunnombremaxi-

mal)dulogi ielaétéexplorée.L'avantageapparentdesméthodesstru turellesestdenepasavoir

besoindesspé i ations.Cependantlesspé i ationsrestentné essairespourl'ora le.Eneet,le

omportementdu omposantàl'exé utionpeutêtredéduit aprèsletestmaisriennemontreque

e omportement d'exé ution est onformeau omportement exposé dans les spé i ations. La

on eptiond'unora len'estpastotalementé artéepour etypedetest,ilsutdeledéduirepar

l'analysedesspé i ations,siellessontdisponibles.Deplus,uneméthodestru turellenegarantit

pasladéte tiondes heminsmanquantspossibles[GG75℄delafon tion.

Dans toutes les stratégies de test stru turel étudiées, le but est de maximiser le rapport

entre le nombre d'objets testés et le nombre des objets on ernés par le ritère de test hoisi

( 'est-à-diredemaximiserla ouverturedetest). Pour ela,diérentesstratégiesde hoixdes as

detestontétémisesenpla e.

Commenousl'avonsdéjà dit, des ritèresstru turels, le ritèretous-les- hemins hemins de-

mandeleplusgrandnombredetestsetpossèdedon égalementlaplusgrande han e,statistique-

ment,dedéte terunbogue.Deplus,l'appli ationde e ritèrerigoureuxpermetdemieuxjustier

l'hypothèsed'uniformité.En pratique,leste hniquesdeteststru turel, enparti ulierave le ri-

tèredes hemins,nepermettentd'atteindrequetrèsrarementune ouverture omplètedesobjets

àtester.Celas'expliqueparla omplexitéet lenombrede al ulsné essairespourdéterminerles

valeursenentréepermettantd'exé uter haque hemin.

Documents relatifs