Sunteți pe pagina 1din 18

TSCR -curs-

Ionescu Augustin-Iulian

2010

2010

TSCR -curs-

Ionescu Augustin-Iulian

4-2

Modelul W pentru dezvoltarea


proiectelor

Fig. 4.1

2010

TSCR -curs-

Ionescu
Augustin-Iulian

4-3

Nivele de testare

Fig. 4.2

2010

TSCR -curs-

Ionescu
Augustin-Iulian

4-4

Platforma de testare

PC punct comand

PO punct observaie
Fig. 4.3

2010

TSCR -curs-

Ionescu
Augustin-Iulian

4-5

Testarea componentelor (Unit testing)


Obiectiv:
Depistarea existenei unor defecte la nivel de unitate func ional
(component)
Avantaje:
Dimensiunea componentelor este suficient de mic pentru a permite ulterior
localizarea i eliminarea ntr-un timp acceptabil a defectelor care au
provocat eecul.
Dimensiunea mic a componentelor permite generarea sistematic a unor
cazuri de test care s acopere principalele defecte care ar putea s apar.
Acest lucru permite automatizarea procesului de testare.
Se elimin confuziile legate de apariia i propagarea unor defecte n diverse
componente.

2010

TSCR -curs-

Ionescu
Augustin-Iulian

4-6

Testarea componentelor
Defecte tipice puse n eviden:
Nu se ine cont de precedena operatorilor;
Utilizarea greit a parantezelor;
Nume greite ale obiectelor programului;
Compararea unor date de tipuri necompatibile;
Lipsa iniializrii sau iniializare greit;
Utilizarea unei precizii insuficiente;
Utilizarea greit a unor operatori;
Ignorarea particularitilor diverselor variante/versiuni de
compilator/interpretor;

2010

TSCR -curs-

Ionescu
Augustin-Iulian

4-7

Testarea de integrare (integration


Obiectiv:
testing)

Testeaza interfaa ntre componente pentru a pune n eviden defecte


n transferul de informaie ntre componente.

Abordri ale testrii de integrare:


Integrarea incremental;
Integrarea top-down;
Integrare bottom-up;
Testarea de regresie;
Smoke testing;
Integrarea sandwich.
Observatie! Indiferent de abordare, integrarea trebuie planificat cu grij
pentru a minimiza efortul de scriere a driverelor i surogatelor.

2010

TSCR -curs-

Ionescu
Augustin-Iulian

4-8

Integrarea incremental
Integrarea se face pas cu pas, integrnd la primul pas dou componente,
apoi, dup ce toate testele au fost realizate i defectele eliminate se
adaug alt component, se refac toate testele anterioare, se adaug noi
teste i asa mai departe pn cnd cu testele considerate nu mai poate fi
pus n eviden nici un defect.

Fig. 4.4

2010

TSCR -curs-

Ionescu
Augustin-Iulian

4-9

Integrarea top-down
Este o variant a integrrii incrementale n care se pornete de la
programul principal i se adaug mereu componente de pe nivelele
imediat inferioare pn cnd tot programul este testat.
Exist dou strategii posibile:
Integrarea n adncime (depth-first) - Fig. 4.5;
Integrarea pe nivele ale arhitecturii (breadth-first) - Fig.4.6;

Paii procesului de integrare:


Programul principal joaca rolul de test driver si se introduc surogate pentru
fiecare din componentele direct subordonate acestuia.
n funcie de strategia aleas, la fiecare etap un surogat este nlocuit cu o
component real i surogatele aferente acesteia.
Pentru fiecare componenta nou integrata se realizeaza testele planificate.
Numai dup efectuarea tuturor testelor propuse, se trece la nlocuirea
urmtorului surogat cu o component real.
Se efectueaz teste de regresie pentru a pune n eviden eventuale defecte
datorate ultimei componente integrate.

2010

TSCR -curs-

Ionescu
Augustin-Iulian

4-10

Integrarea top-down

2010

TSCR -curs-

Ionescu
Augustin-Iulian

4-11

Integrarea bottom-up
Este o variant a integrrii incrementale n care se pornete de la
componentele situate pe cele mai de jos nivele n structura programului.
Paii procesului de integrare:
Componentele de la nivelul inferior se reunesc n clustere care realizeaz
subfuncii bine precizate.
Pentru fiecare cluster sunt scrise programe driver care gestioneaz
introducerea datelor de test i extragerea rezultatelor.
Se testeaz fiecare cluster.
Se elimin driverele i se integreaz n cluster componente de la nivelul
superior, efectund i testele de regresie corespunzatoare.
Procesul se reia pn cnd toate componentele au fost integrate.

2010

TSCR -curs-

Ionescu
Augustin-Iulian

4-12

Integrarea bottom-up

2010

TSCR -curs-

Ionescu
Augustin-Iulian

4-13

Integrarea combinat (sandwich)


Este o variant a integrrii incrementale n care se combina cele doua
metode de integrare prezentate anterior pentru a mari eficien a test rii
prin creterea paralelismului n operaiile de testare.
Paii procesului de integrare:
Componentele de la nivelul inferior se reunesc n clustere care realizeaz
subfuncii bine precizate.
Pentru fiecare cluster sunt scrise programe driver care gestioneaz
introducerea datelor de test i extragerea rezultatelor.
Se testeaz fiecare cluster.
Pentru componentele de la nivelul superior testarea se face prin metoda topdown.
Se elimin driverele i surogatele i se integreaz toate componentele testate
anterior.
Observatie! Avantajele metodei sunt legate de abilitatea planificrii operaiilor
de testare n aa fel inct s se minimizeze necesarul de surogate i drivere i
s creasc paralelismul operaiilor de testare/integrare.

2010

TSCR -curs-

Ionescu
Augustin-Iulian

4-14

Integrarea combinat (sandwich)

2010

TSCR -curs-

Ionescu
Augustin-Iulian

4-15

Testarea de regresie
Este un proces prin care se verific dac o modificare introdus ntr-o
component, indiferent de cauz, nu afecteaz funcionalitatea acesteia
sau a ntregului program.
Setul de teste de regresie conine trei clase de teste:
Teste adiionale orientate pe anumite funcii realizate de program.
Teste care s verifice toate funciile realizate de program.
Teste concentrate pe componentele modificate.

2010

TSCR -curs-

Ionescu
Augustin-Iulian

4-16

Testul fumului (smoke testing)


Acest tip de test are ca scop sa puna in evidenta daca un produs este
functional inainte de a trece la realizarea unor teste detaliate.
n hardware testul const n a pune sub tensiune un circuit nou sau n
care tocmai s-a nlocuit/reparat o component. Dac nu iese fum,
produsul a trecut testul.
n software termenul descrie procesul de validare a modificrilor de cod
nainte de a trece la executarea setului de teste propuse pentru programul
respectiv. Este o metod foarte eficient, prin care se pun n eviden cu
un minim de efort defectele grosolane.
Testele din aceasta categorie sunt teste usoare, cu timp de execu ie mic i
sunt focalizate pe modificrile introduse.
Fac parte din categoria white-box deoarece necesit cunoaterea codului.
Aveasta implic o bun colaborare ntre programatori i testori.
Trecerea acestui test nu garanteaz calitatea impus produsului, deci nu
elimin celelalte categorii de teste.
2010

TSCR -curs-

Ionescu
Augustin-Iulian

4-17

Testul fumului (smoke testing)


Teste adiionale orientate pe anumite funcii realizate de program.
Teste care s verifice toate funciile realizate de program.
Teste concentrate pe componentele modificate.

2010

TSCR -curs-

Ionescu
Augustin-Iulian

4-18

S-ar putea să vă placă și