• Aucun résultat trouvé

Ilexiste diérentes lassesdeméthodes detestde logi ielselonlefait queleprogrammesoit

Late hniquedetest statiqueintroduitn70 [Fag℄, [Mye78℄repose surl'analysed'un logi iel

sansexé utiondeson ode.Ils'agitd'ee tuerdesanalysesstatiquesdétailléesdu odesour eou

desspé i ationsdulogi ielàpartirdesdiérentss énarii(les asdetest).

Leteststatiquepeutserviràdéte terle odemort etpar onséquentles heminsdugraphe

infaisables(ounonexé utables) quiendé oulent.Cetteméthoden'entraîne au uneexé utiondu

logi iel, tout as detest ainsi que sonrésultat étantdéduit de l'analyse. Cette méthodepermet

d'optimiserl'é rituredu odesour eenpro édantàunefa torisationdeséventuelsblo d'instru -

tionsrépétésetdon delimitersonnombred'erreurs.

5.3.2 Test dynamique

Letermedetestestutiliséparfoispourdésignerl'a tiond'exé uterlelogi ielave desdonnées

d'entrée hoisiesandevérierle omportementparanalysedesdonnéesdesorties.Ce prin ipe

detest,leplusintuitifpourtoutprogrammeur,désigneenréalitéunesous- lassedetest: letest

dynamique.

Nouspouvonsremarquerdanslespré édentesdénitionsdutestdonnéesparl'AFCIQet par

G.Myersqueletermedetestdésignepluspré isémentletestdynamique ar esdeuxdénitions

suggèrentuneexé utiondu omposant.

Ils'agit delate hniquede testparex ellen e [FK96℄,[GBR00℄, [WMMR05℄. Cette méthode

s'appuie sur des exé utions du programme pour déterminer progressivement un as de test qui

atteintunpointdonnédulogi iel.Cetypedetestin lut:

 laséle tiondesdonnéesdetest,

 l'ajoutéventueld'instru tionsdetra epoursuivrele heminexa td'exé ution,

 l'exé ution dulogi ielsoustest

 et l'analysedesrésultats.

Il apparaît aussi évident que, puisque le test est dire tement lié à l'exé ution du programme,

la validitéde ettea tivité est stri tement dépendante des onditionsd'environnement dutest.

Ces onditionsdoivent reéter au plusprès les onditions normalesd'utilisation, autrement dit

l'environnementopérationnel. Les analyseurs dynamiques de ouverture stru turelle permettent

demesurerlepour entaged'objetstestésgrâ eàl'instrumentation.Ilssontasso iésàunanalyseur

statiquequipermetdegénérerlesgraphesd'appel(représentationgraphiquedesintera tionsentre

lesdiérents omposantsd'unlogi iel)pourlestestsdevalidationetlesgraphesdeotde ontrle

oudeotdedonnéespourlestestsunitaires.

5.3.3 Exé ution et évaluation symbolique

L'exé ution et l'évaluation se trouvent à la frontière des méthodes de test statiques et

dynamiques.L'exé ution symboliqueestunete hniquequi onstruitunprédi atde heminet

desexpressionssymboliquesdéterminantlesvaleurssymboliquesdesortieenfon tiondesvaleurs

symboliquesd'entréepour un hemin donné. Lesvaleursdes paramètresformels sontrempla és

pardesvaleurssymboliquesetlesinstru tionsren ontréeslelongdu heminsontexé utéesselon

leursémantique.

L'exé ution symboliquedynamiqueest unete hniquequiexé uteunprogrammeinstru-

menté.On obtient ainsipar desdonnéesd'entrée réelles, lesdonnéesréelles desortie, le hemin

empruntéetl'expressionsymboliquedu al ul de heminasso ié.

La méthode d'évaluation symbolique globale onstruit la des ription omplète de la

sortiedelafon tionenfon tiondesvaleurssymboliquesdesesdonnéesd'entréepourlatotalitéde

lafon tionensebasantsursongraphede ontrle.L'évaluationsymboliqueglobalen'estpas

1976 [Kin76℄. Ellea faitl'objet de nombreuses étudesaudébut des années 80mais peud'outils

performantsexistent réellement[Cow91℄, [CR85℄ ar ette te hniqueseprête di ilementàune

utilisation industrielle. Elle permet de soumettre des tests plus élaborés que le test dynamique

ommelasoumissiondetestsgénériquesave variables.Cetteméthoden'estpas lasséedefaçon

stri teetenglobediérentstypesd'exé utionssymboliques.

Illustration 36

Soitlafon tionsuivante al ulantledouble dumaximumdedeuxnombres:

int double_max (int a, int b)

{ int x; if (a>b) x=a; else x=b; x=2*x; return(x); }

L'évaluationsymboliqueglobaledelafon tion ara térisedeux omportements:

((a > b, x = 2 ∗ a), (a ≤ b, x = 2 ∗ b))

Remarque(s) 18

Pourl'évaluationsymboliqueglobale,la omplexitédemiseenpla e delate hniqueestd'autant

plusgrandequelatotalitéduprogrammeestévaluéeenuneseulefois ontrairementàl'exé ution

symboliquequivaévaluerlafon tionsoustest heminpar hemin.

L'évaluationsymboliqueest utiliséeselontroisoptiques:

 ledebogageet la ompréhensiond'unprogrammeparétudedusystèmeré upéré,

 l'optimisation, lasimpli ation ou laspé ialisationd'une fon tionpar fa torisationet for-

malisation dusystème,

 et l'appli ationàlaspé i ationformelle.

Sonambiguïtéentreméthodestatiqueetdynamiques'expliquedeparsonfon tionnement.En

eet,leprogrammeest exé uté symboliquementparletesteurd'aprèslasémantiquedu ode

sour e. En d'autrestermes, l'analyse statique du ode sour e réalisée par le testeur (ou par le

logi ielde test)permet de simulerl'exé ution réelleduprogrammeen luiinje tantdesvariables

d'entréessymboliques.

A ausedel'importan edel'analysedelasémantique, ertainstesteurs lassent etteméthode

dans les méthodes statiques alors que d'autres préfèrentdistinguer l'évaluation symbolique des

autresméthodesstatiquesdufaitdelasimulationd'exé ution.

Lesméthodes detest sontaussidistinguées selonle ritère hoisi pour orienter les hoix des

données de test. Le hoix de e ritèredépend tout d'abord de la représentation disponible du

logi ielmaisaussidutypededéfautsquel'on her heàmettreenéviden e.Parexemple,lestests

reposantsurle odesour eduprogrammeontunetrès bonnedéte tiondesdéfauts al ulatoires

dulogi iel(divisionparzéroparexemple).

Documents relatifs