TSCR05 2009-2010
-
Upload
diac-catalin -
Category
Documents
-
view
221 -
download
0
Transcript of TSCR05 2009-2010
-
7/25/2019 TSCR05 2009-2010
1/44
2010 5-1TSCR -curs- Ionescu Augustin-Iulian
-
7/25/2019 TSCR05 2009-2010
2/44
20105-2TSCR -curs- Ionescu Augustin-Iulian
-
7/25/2019 TSCR05 2009-2010
3/44
Testarea func ional (Black-Box)
20105-3
TSCR -curs- IonescuAugustin-Iulian
Presupune verificarea/testarea unui obiect numai pe baza specifica tiilor deproiect, fr nici un fel de cunotin e privind structura obiectului.
n software aceasta presupune c nu se cunosc detalii privind modul de realizareaa programelor testate.
Obiectivul const n determinarea unor cazuri de test care s permit eviden iereaunor defecte n program cu un effort de procesare minim.
Principalele metode cunoscute sunt:parti ionarea in clase de echivalen
analiza valorilor limitmetoda grafurilor cauz!efecttestarea tranzi iei st rilor.
-
7/25/2019 TSCR05 2009-2010
4/44
Parti ionarea n clase de echivalen
20105-4
TSCR -curs- IonescuAugustin-Iulian
"omeniul valorilor posibile ale fiecrui element de intrare se divide #n clase
de echivalen.
Observa ie $esarea complet presupune at%t testarea claselor de echivalen pentru valoriadmise la intrare &date valide' c%t i a claselor de echivalen pentru valoriincorecte.
Oclas de echivalen este un grup de valori despre care se preupune csunt procesate n acela i fel de c tre produsul testat.
$estarea pentru o singur valoare reprezentativ din clasa de echivalen seconsider suficient, deoarece pentru orice alt valoare din aceea i clas se poatepresupune c nu se va observa un comportament diferit.
-
7/25/2019 TSCR05 2009-2010
5/44
!eter"inarea #arti iilor
20105-5
TSCR -curs- IonescuAugustin-Iulian
(e determin mul imea datelor valide
Observa ie )etoda de parti ionare poate fi utilizat i pentru mul imea valorilor de ie ire dar determinarea cazurilor de test este n general mai dificil deoarece pentru fiecare clas de echivalen vor trebui determinatelimitele valorilor de intrare.
(e determin mul imea datelor incorecte
*olosind specifica iile de proiect i/sau informa iile de la utilizator, se rafineaz parti ionarea pun%nd #n eviden noi clase de echivalen pentrudate valide i pentru date incorecte.
(e alege pentru fiecare clas de echivalen o valoare reprezentativ.
+legerea se face fie aleator, fie pe baza eperien ei acumulate de testor &deeemplu, se consider obligatorie testarea valorii 0pentru date numerice'.
-
7/25/2019 TSCR05 2009-2010
6/44
!eter"inarea #arti iilor - exe"#lul 1
20105-6
TSCR -curs- IonescuAugustin-Iulian
(e consider pentru o firm un program care calculeazprima de sfr it de
andup urmtoarele reguli:
- din venitul pe ultima lun pentru cei care au lucrat ne ntrerupt cel pu in 0 ani pentru firm
1- din venitul pe ultima lun pentru cei care au lucrat ne ntrerupt cel pu in - ani
pentru firma2 din venitul pe ultima lun pentru cei care au lucrat ne ntrerupt cel pu in 3 ani pentru firma
+nga4a ii pensionari nu primesc prima.
*irma are 2- ani vechime.
-
7/25/2019 TSCR05 2009-2010
7/44
!eter"inarea #arti iilor - exe"#lul 1
20105-7
TSCR -curs- IonescuAugustin-Iulian
#ara"etrul $lase de echivalente %aloarere#re&entativa
5echimea6 n6munc6la 6firma
v7822: 9 vechimea in munca la firma 90 ;
v782;: 09 vechimea in munca la firma 9-
i78;; varsta=>- ani >>
Pe baza claselor de echivalen determinate pot fi generate cazurile de test:
-
7/25/2019 TSCR05 2009-2010
8/44
!eter"inarea #arti iilor - exe"#lul 1
20105-8
TSCR -curs- IonescuAugustin-Iulian
$a& detest
vechi"ean "unc la fir"
varsta venit ulti"alun ('O)
'e&ultat(#ri"a)
2 ; 0 ;
; < 0 ; -
0 1 0 ; 2< 2 0 ; ;
- < 2> ; )esa4 eroare/
> < >> ;
1 !; 0 ; )esa4 eroare/
3 ; 0 ; )esa4 eroare/
Observa ie Pentru a putea eecuta testele, este necesar s se scrie un test driver cares genereze datele de test i s eecute testele nl n uit.
-
7/25/2019 TSCR05 2009-2010
9/44
!eter"inarea #arti iilor - exe"#lul 2
20105-9
TSCR -curs- IonescuAugustin-Iulian
(e consider un program care poate determina tipul de triunghi dac se
cunosc lungimile laturilor a, b, c &valori reale dubl precizie'.
n acest caz, determinarea claselor de echivalen pornind de la mul imeaintrrilor este dificil.
Putem ini ia procesul de parti ionare in%nd cont de ie iri:
triunghiuri oarecare &scalene'triunghiuri isosceletriunghiuri echilaterale.
Pentru fiecare tip de triunghi determinm condi iile impuse la intrare:
-
7/25/2019 TSCR05 2009-2010
10/44
!eter"inarea #arti iilor - exe"#lul 2
20105-10
TSCR -curs- IonescuAugustin-Iulian
$riunghi oarecare: a*b i a*c i b*c
$riunghi isoscel: a+bsau a+c saub+c
$riunghi echilateral: a+bsi a+c
Pentru valorile incorecte vom avea
valori nenumericevalori negative
valori nule
valori aparent corecte pentru care
a,b+c sau a,c+b sau b,c+a
Observa ie n cazul n care se combin valori ale parametrilor pentru valoriincorecte independente, o valoare incorect a unui parametru se vacombina obligatoriu cu valori corecte ale celorlal i parametri.
-
7/25/2019 TSCR05 2009-2010
11/44
!eter"inarea #arti iilor - exe"#lul 2
20105-11
TSCR -curs- IonescuAugustin-Iulian
#ara"etrii $lase de echivalente %alorire#re&entative
a, b, c
v782: triunghi oarecare a9=b i a9=c i b9=c 0,
-
7/25/2019 TSCR05 2009-2010
12/44
!eter"inarea #arti iilor - exe"#lul 2
20105-12
TSCR -curs- IonescuAugustin-Iulian
#ara"etrii $lase de echivalente %aloare
re#re&entativa
a, b, c
v782: triunghi oarecare a9=b i a9=c i b9=c 0,
-
7/25/2019 TSCR05 2009-2010
13/44
!eter"inarea #arti iilor - exe"#lul 2
20105-13
TSCR -curs- IonescuAugustin-Iulian
$a& de test a b c 'e&ultat
2 0 < - triunghi oarecare
; < < ; triunghi isoscel
0 < ; < triunghi isoscel
< ; < < triunghi isoscel
- < < < triunghi echilateral
> a 0 0 )esa4 eroare
1 0 b 0 )esa4 eroare
3 0 0 c )esa4 eroare
A !; 0 0 )esa4 eroare
2 ; !0 0 )esa4 eroare
22 ; 0 !0 )esa4 eroare
2; - > )esa4 eroare20 - > )esa4 eroare
2< - > )esa4 eroare
2- ; 0 1 )esa4 eroare
2> 0 ; 1 )esa4 eroare
21 0 1 ; )esa4 eroare
-
7/25/2019 TSCR05 2009-2010
14/44
Observa ii i conclu&ii
20105-14
TSCR -curs- IonescuAugustin-Iulian
setul de date alese trebuie s acopere toate clasele de echivalen
este necesar sa fie luate n considerare at%t clasele de echivalen valide c%t i celeinvalide, corespunztoare unor date eronate sau inacceptabile
clasele de echivalen pot fi deduse i din condi iile de ieire
procesul de determinare a claselor de echivalen este unproces heuristic nueist re ete de determinare a claselor de echivalen ci doar idei care ghideaz
determinarea claselor de echivalen i din aceast cauz, pornind de la aceleaispecifica ii de proiect, diveri testori pot s genereze seturi de clase de echivalendiferite
eist situa ii n care limita ntre clasele de echivalen este ambigu sau chiarlipsete
n anumite situa ii apare un num r foarte mare de clase de echivalen e
multe din anomaliile semnalate apar datorit unor specifica ii ambigue,contradictorii, incomplete sau inconsistente care trebuie lmurite prin dialog cubeneficiarul/ utilizatorul.
eist cazuri prin natura lor foarte dificil de analizat &cele legate de fisc'.
-
7/25/2019 TSCR05 2009-2010
15/44
/ndica ii #entru #arti ionare
20105-15
TSCR -curs- IonescuAugustin-Iulian
"ac o condi ie este specificat ca un interval de valori, se alege o clas deechivalen valid care acoper acest interval i dou clase de echivalen invalide,una la st%nga i alta la dreapta.
"ac o condi ie de intrare este specificat ca un numr de valori, se alege o clasde echivalen valid care include acel numr de valori i dou clase de echivaleninvalide C una cu mai pu ine i alta cu mai multe valori.
"ac o condi ie este specificat sub forma unei liste de valori admise, se alege oclas de echivalen valid care con ine toate aceste valori i o clas de echivaleninvalid care con ine toate celelalte valori posibile .
"ac o condi ie de intrare este specificat ca trebuie sa fie, se alege o clas deechivalen valid care respect condi ia i o clas de echivalen invalid care nurespect condi ia.
Pot fi luate n considerare mai multe etape de rafinare a parti iei.
-
7/25/2019 TSCR05 2009-2010
16/44
Preci&area ca&urilor de test #entru un sinur
#ara"etru
20105-16
TSCR -curs- IonescuAugustin-Iulian
*iecrei clase de echivalen i se ataeaz un identificator unic &de obicei unnumr ntreg'.
(e genereaz cazuri de test p%n c%nd fiecare clas de echivalen valid esteacoperit de cel pu in un caz de test:
daca o clas de echivalen valid este definit printr!o condi ie de forma c1! c2! ! cn, este necesar un singur caz de test
daca o clas de echivalen valid este definit printr!o condi ie de forma c1O' c2O' O' cn, este necesar c%te un caz de test pentru fiecaredintre condi ii
(e dezvolt cazuri de test pentru toate clasele de echivalen invalide p%n c%ndtoate aceste clase sunt acoperite de un caz de test.
Orice valoare considerat interesant pe baza eperien ei anterioare, va fi aleas pentru un nou caz de test &de eemplu valorile 0i 1sau rdcinile nu"itorului
n testarea algoritmilor numerici'.
-
7/25/2019 TSCR05 2009-2010
17/44
Preci&area ca&urilor de test #entru un set de
#ara"etri
20105-17
TSCR -curs- IonescuAugustin-Iulian
*iecrui caz de test i se ataeaz un identificator unic &de obicei un numrntreg'.
8ea mai simpl metod const n generarea cazurilor de test pentru clasele deechivalen valide, combin%nd toate valorile reprezentative ale parametrilorimplica i. (e genereaz c%te un caz de test pentru fiecare combina ie. "e obiceimulte dintre teste nu sunt relevante i vor fi eliminate n urma unei analize
detaliate, n timp ce teste utile pot s nu apar. +ceste anomalii pot fi eliminatedac generarea claselor de echivalen pentru diveri parametri se face corelat inu independent.
(e dezvolt cazuri de test pentru toate clasele de echivalen invalide p%n
c%nd toate aceste clase sunt acoperite de c%te un caz de test.
Observa ie O valoare incorect a unui #ara"etru va fi co"binatobliatoriu cu valori corecte ale celorlal i #ar"etri testa i.
-
7/25/2019 TSCR05 2009-2010
18/44
3xe"#lu
20105-18
TSCR -curs- IonescuAugustin-Iulian
(e consider o procedur care rezolv ecua ii de gradul 2 de forma:
aBb unde a, b
Dn cazul in care ecuatia nu poate fi rezolvata, se va afisa un mesa4 de avertizare.
5arianta 2
#ara"etrul $lase de echivalente %aloarere#re&entativa
a v7822: a
;
v782;: a
i7822: valoare nenumeric ?a@
b v78;2: valoare numeric reala 2
i78;2 valoare nenumeric ?b@
$a& de test a b 'e&ultat
2 ; 2 !-
; 2 mesa4 avertizare
0 ?a@ ; mesa4 eroare
< ; ?b@ mesa4 eroare
-
7/25/2019 TSCR05 2009-2010
19/44
3xe"#lu
20105-19
TSCR -curs- IonescuAugustin-Iulian
5arianta ;
#ara"etrul $lase de echivalente %aloarere#re&entativa
a v7822: a ;
v782;: a
i7822: valoare nenumeric ?a@
b v78;2: valoare numeric reala 2v78;;: b
i78;2 valoare nenumeric ?b@
$a& de test a b 'e&ultat
2 ; 2 !-; 2 mesa4 avertizare 2
0 ;
< mesa4 avertizare ;
- ?a@ ; mesa4 eroare
> ; ?b@ mesa4 eroare
$a& de test a b 'e&ultat
2 ; 2 !-
; 2 mesa4 avertizare 2
0 mesa4 avertizare ;
< ?a@ ; mesa4 eroare
- ; ?b@ mesa4 eroare
-
7/25/2019 TSCR05 2009-2010
20/44
vanta4ele tehnici P3
20105-20
TSCR -curs- IonescuAugustin-Iulian
elimin necesitatea unor teste ehaustive, de cele mai multe ori imposibil de
realizat ndrum testorul s selecteze un subset de intrri de test cu o mare probabilitate
de a detecta defecte
permite testorului s acopere un domeniu foarte larg de intrri/ieiri cu un set
relativ mic de date, selectat din clasele de echivalenpoate fi utilizat nc din primele faze ale ciclului de via al proiectului
nu necesit cunotin e de programare
este uor de n eles i de utilizat
poate fi aplicat pentru testarea oricrui tip de produs.
Problemele apar la identificarea corect a claselor de echivalen.O abordare posibil const n utilizarea unui set de aa numite condi ii interesante,identificate din specifica iile pentru softwareul testat.
-
7/25/2019 TSCR05 2009-2010
21/44
nali&a valorilor li"it - reco"andri
20105-21
TSCR -curs- IonescuAugustin-Iulian
"ac o condi ie este specificat ca un interval de valori, se vor dezvolta cazuri detest valide pentru fiecare dintre valorile de la capetele intervalului i cazuri de testinvalide pentru valori foarte apropiate de acestea.
"ac o condi ie de intrare este specificat ca un numr de valori admise, se voralege obligatoriu dou cazuri de test valide pentru n"ini n"axi dou cazuri de testinvalide pentru n"in-1respectiv n"ax,1.
"ac o condi ie este specificat sub forma unuiset ordonat/matrice de valori
admise, se vor alege obligatoriu cazuri de test pentru primul i ultimul element.
Observa ie Parti ionarea n clase de echivalen i analiza valorilor limit seaplic separat.
-
7/25/2019 TSCR05 2009-2010
22/44
nali&a valorilor li"it - exe"#lu
20105-22
TSCR -curs- IonescuAugustin-Iulian
(e consider o func ie definit de utilizator care realizeaz evaluarea
urmtoarei func ii :
Pasul de reprezentare al lui xeste 0.0001.
(e cere setul complet de teste folosind determinarea parti iilor de echivalen ianaliza valorilor limit.
-
7/25/2019 TSCR05 2009-2010
23/44
nali&a valorilor li"it - exe"#lu
20105-23
TSCR -curs- IonescuAugustin-Iulian
#ara"etrul $lase de echivalente %aloare
re#re&entativa
x
v782: 9 !;.-
v78;: - 0.;0
v780: -9 92 1.1-
v78
-
7/25/2019 TSCR05 2009-2010
24/44
nali&a valorilor li"it - exe"#lu
20105-24
TSCR -curs- IonescuAugustin-Iulian
$a& de test x 'e&ultat esti"at
2 !;.- !2.-; 0.;0 ;.;0
0 1.1- >.>;-
< ;.2 2.-
- !2
> !.2 .AAAA
1 - < ; )esa4 eroare
21 < ; )esa4 eroare
23 ; < > )esa4 eroare
2A > ; < )esa4 eroare
; ; > < )esa4 eroare
T t t i i i t il
-
7/25/2019 TSCR05 2009-2010
35/44
Tesatrea tran&i iei st rilor
20105-35
TSCR -curs- IonescuAugustin-Iulian
(e utilizeaz pentru testarea programelor &procedurale sau OO' cu evolu iedependent de timp, adic a cror evolu ie depinde at%t de valorile curente aleintrrilor c%t i de evolu ia anterioar a programului.
(e bazeaz pe conceptele destarei main de stare finit &)(*'.
Ctareadesemneaza o configurare intern a unui sistem sau a componentei unuisistem la un moment dat. tarea este definit de valorile variabilelor de stareadic a variabilelor care prin valorile lor descriu sintetic o anumit stare.
Observa ie tarea este un concept specific activitii proiectan ilor de sisteme.Utilizatorul obinuit nu are de obicei acces la variabilele de stare i nici nu l
intereseaz.
!om in elege prin =CDun sistem abstract a crui evolu ie poate fi descris cua"utorul unei diagrame de stare cu un numr finit de stri i de tranzi ii ntre
stri.
Observa ie "iagrama de evolu ie a st rilor trebuie s fac parte dindocumenta ia pentru specificarea unit ii analizate.
T t t i i i t il
-
7/25/2019 TSCR05 2009-2010
36/44
Tesatrea tran&i iei st rilor
20105-36
TSCR -curs- IonescuAugustin-Iulian
$estarea nu se poate reduce doar la parcurgerea tuturor strilor deoarece
aceasta ar nsemna ca o mare parte a tranzi iilor nu pot fi verificate.
Ddealul ar fi testarea tuturor tranzi iilor dar n anumite situa ii acest lucru este practic imposibil datorita efortului de calcul prea mare.
"e asemenea, pentru fiecare stare/tranzi ie trebuie testat cel pu in odat fiecare ac iune ataat .
"ificultatea testrii este mrit de faptul c, dac programul nu a fostimplementat cu faciliti de testare, corectitudinea evolu iei poate fi evaluat numai prin vizualizarea ieirii.
$estarea tranzi iei st rilor poate fi realizat la nivel de specifica ie,component, integrare sau sistem.
T t t i i i t il ( l )
-
7/25/2019 TSCR05 2009-2010
37/44
Tesatrea tran&i iei st rilor (exe"#lu)
20105-37
TSCR -curs- IonescuAugustin-Iulian
(e consider un recunosctor de secven dinamic care trebuie s semnaleze
&prin afiarea mesa4ului E'' depistarea n irul de caractere de la tastatur acuv%ntului '$.
7volu ia st rilor este descris cu a4utorul urmtoarei diagrame de stare:
T t t i i i t il ( l )
-
7/25/2019 TSCR05 2009-2010
38/44
Tesatrea tran&i iei st rilor (exe"#lu)
20105-38
TSCR -curs- IonescuAugustin-Iulian
$estarea static pune n eviden faptul c nu a fost precizat starea ini ial i nueist o condi ie pentru intreruperea eecu iei programului. 8a urmare diagrama
va fi modificat i va fi transmis dezvoltatorului pentru a realiza modificrilenecesare.
T t t i i i t il ( l )
-
7/25/2019 TSCR05 2009-2010
39/44
Tesatrea tran&i iei st rilor (exe"#lu)
20105-39
TSCR -curs- IonescuAugustin-Iulian
(e observ imediat c pentru o testare complet este necesar s fie verificate
toate tranzi iile posibile.$estarea este simpl dac avem acces la variabilele programului i putem urmri
evolu ia st rilor. "ac ns nu putem s tim n care stare se afl maina secven ial dec%t prin
efectul de la ieire, testarea este mult mai dificil.
5om considera n continuare tocmai aceasta ultim situa ie.Pentru maini secven iale simple, ca cea din eemplul dat, secven a de intrare
necesar testrii poate fi dedus direct din graful de stare:
NINII+I+NI+8I+8NI+83C$
MI+ MI+ MI+ ieire din program
Tesatrea tran i iei st rilor (e e"#l )
-
7/25/2019 TSCR05 2009-2010
40/44
Tesatrea tran&i iei st rilor (exe"#lu)
20105-40
TSCR -curs- IonescuAugustin-Iulian
Pentru testarea ieirii din program, acesta va fi eecutat de trei ori, folosind
urmatoarele secven e de intrare:
3C$
I3C$
I+3C$
Tesatrea tran&i iei st rilor (exe"#lu)
-
7/25/2019 TSCR05 2009-2010
41/44
Tesatrea tran&i iei st rilor (exe"#lu)
20105-41
TSCR -curs- IonescuAugustin-Iulian
Pentru a simplifica punerea n eviden a tuturor cilor posibile pentruparcurgerea arcelor grafului, acesta poate fi transformat ntr!un arbore detranzi ie pe baza urm toarelor reguli:
Idcina arborelui este starea CT'T.Pentru fiecare tranzi ie din graf, rezult o ramur distinct n arbore.
Procesul de la pasul anterior se repet pentru fiecare frunz p%na c%nd nu se maipot genera alte frunze adic noua frunz este o stare de4a introdus n graf saueste stare final a programului testat &ieire'.
Tesatrea tran&i iei st rilor (exe"#lu)
-
7/25/2019 TSCR05 2009-2010
42/44
Tesatrea tran&i iei st rilor (exe"#lu)
20105-42
TSCR -curs- IonescuAugustin-Iulian
$riterii de co"#letitudine a testrii
-
7/25/2019 TSCR05 2009-2010
43/44
$riterii de co"#letitudine a testrii
20105-43
TSCR -curs- IonescuAugustin-Iulian
)asoar ce procent din numrul total de teste posibile conform unui criteriuales au fost eecutate.
2'Pentru metoda claselor de echivalen:
87!acoperire&numr6876testate/numr6total687'2
;'Pentru analiza valorilor limit
5F!acoperire&numar65F6testate/numr6total65F'2
0'Pentru graful cauz!efect 8ondi ia minim C fiecare coloan a tabelului de decizie s fie
acoperit de cel pu in un caz de test, pentru a putea verifica toatecondi iile i efectele lor.
-
7/25/2019 TSCR05 2009-2010
44/44
+