Documente Academic
Documente Profesional
Documente Cultură
Florin Leon
Universitatea Tehnic Gh. Asachi Iai
Facultatea de Automatic i Calculatoare
http://florinleon.byethost24.com/curs_ip.htm
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
Faza de testare
1. Introducere
2. Tipuri de testare
3. Testarea cutie neagr (black-box)
4. Testarea cutie alb (white-box)
5. Procesul de testare
6. Testarea incremental i neincremental
7. Testarea top-down i bottom-up
8. Concluzii
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
Faza de testare
1. Introducere
2. Tipuri de testare
3. Testarea cutie neagr (black-box)
4. Testarea cutie alb (white-box)
5. Procesul de testare
6. Testarea incremental i neincremental
7. Testarea top-down i bottom-up
8. Concluzii
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
Verificare i Validare
Verificare
Validare
Scopurile V & V
Funcionalitatea programului
Nivelul de ncredere depinde de ct de critic este sistemul
pentru utilizatori
Ateptrile utilizatorilor
Utilizatorii pot avea grade diferite de ateptri pentru
anumite tipuri de produse software
Mediul de afaceri
Lansarea rapid pe pia a unui produs poate fi uneori mai
important dect gsirea defectelor n program
7
Terminologie (IEEE)
Eroare
O aciune uman care are ca rezultat un defect n produsul
software
Defect (engl. fault)
Consecina unei erori n produsul software
Un defect poate fi latent: nu cauzeaz probleme pn cnd nu
apar anumite condiii care determin execuia unor anumite linii
de cod
Defeciune (engl. failure)
Manifestarea unui defect: cnd execuia programului ntlnete
un defect, acesta provoac o defeciune
Abaterea programului de la comportamentul ateptat
Bug: termen colocvial utilizat deseori ca sinonim pentru defect
9
Testarea defectelor i
testarea de validare
Testarea defectelor
Testarea de validare
10
Testarea i depanarea
Asigurarea calitii
12
Faza de testare
1. Introducere
2. Tipuri de testare
3. Testarea cutie neagr (black-box)
4. Testarea cutie alb (white-box)
5. Procesul de testare
6. Testarea incremental i neincremental
7. Testarea top-down i bottom-up
8. Concluzii
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
Testarea unitilor
14
Programe schel
Testarea componentelor
16
Testarea sistemului
Testele de regresiune
Testarea performanelor
20
Testarea la ncrcare
21
Testarea la stres
Testarea interfeei cu
utilizatorul
23
Testarea utilizabilitii
24
Faza de testare
1. Introducere
2. Tipuri de testare
3. Testarea cutie neagr (black-box)
4. Testarea cutie alb (white-box)
5. Procesul de testare
6. Testarea incremental i neincremental
7. Testarea top-down i bottom-up
8. Concluzii
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
Partiionarea claselor de
echivalen
28
Clase de echivalen
pentru ieiri
Strategia 1
Strategia 2
Exemplu
31
6n + 1 cazuri de test
33
Exemplu
34
Strategia 2
6 valori de limit
1 valoare nominal
7n cazuri de test
35
Graful cauz-efect
Exemplu
negaie
37
Tabelul de decizie
38
Tipuri de defecte
Testarea perechilor
40
Exemplu
9 3 = 27 combinaii
9 cazuri de test
se evit acoperirea unei
perechi de mai multe ori
41
Cazuri speciale
43
Exemplu
Exemplu
Sistem de
sondaj pentru
studeni
Un student
rspunde la
ntrebri i apoi
vede rezultatele
sondajului
Rezultatele se
actualizeaz doar
dup 5 rspunsuri
Baza de date poate
cdea
45
Testarea claselor
Testarea MM
Testare metod-mesaj
n fiecare metod, fiecare apel ctre alt
metod trebuie testat cel puin o dat
Dac o metod apeleaz alt metod de mai
multe ori, fiecare apel trebuie testat o singur
dat
47
48
Faza de testare
1. Introducere
2. Tipuri de testare
3. Testarea cutie neagr (black-box)
4. Testarea cutie alb (white-box)
5. Procesul de testare
6. Testarea incremental i neincremental
7. Testarea top-down i bottom-up
8. Concluzii
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
51
Acoperirea instruciunilor
Acoperirea ramurilor
Necesit ca fiecare arc din graf s fie traversat cel puin o dat
Fiecare decizie trebuie evaluat ca A sau F
Criteriul acoperirii ramurilor 100% se mai numete criteriul tuturor
arcelor (all-edges)
Cramuri Cinstruciuni
decizia poate fi
evaluat A sau F fr
a detecta eroarea
Acoperirea cilor
Dificulti:
Cci Cramuri
Programele care conin bucle au un numr infinit de ci
Pot exista ci n graf pentru care s nu existe intrri
corespunztoare a.. cile respective s fie executate
55
x = 5;
a = x; read(x); write(x);
if (x > 0)
56
Criterii:
Exemplu
58
Exemplu
all-edges:
(1, 2, 4, 5, 6, 7, 8, 9):
y negativ
(1, 3, 4, 5, 7, 9): y pozitiv
Calea (1, 2, 4, 5, 6, 7, 9)
este nefezabil: 1-2
nseamn c y este negativ,
deci din 7 nu se poate
merge n 9
Cazuri de test:
{x = 3, y = 1}
{x = 3, y = -1}
59
Exemplu
all-defs:
60
criteriu mai
slab
61
Acoperirea testului
Instrumente de acoperire
63
Faza de testare
1. Introducere
2. Tipuri de testare
3. Testarea cutie neagr (black-box)
4. Testarea cutie alb (white-box)
5. Procesul de testare
6. Testarea incremental i neincremental
7. Testarea top-down i bottom-up
8. Concluzii
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
Niveluri de testare
65
Planul de test
67
Execuia i analiza
cazurilor de test
Rezultatele testrii
Metrici
Efortul de testare
Timpul calculator
69
Faza de testare
1. Introducere
2. Tipuri de testare
3. Testarea cutie neagr (black-box)
4. Testarea cutie alb (white-box)
5. Procesul de testare
6. Testarea incremental i neincremental
7. Testarea top-down i bottom-up
8. Concluzii
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
Ordinea modulelor
Tipuri de integrare
Integrarea neincremental
Abordarea clasic
Modulele sunt testate separat i apoi integrate
simultan, continundu-se cu testarea sistemului
Numit i model big-bang deoarece timpul de
testare crete mult
Integrarea incremental
Ambele tipuri de
integrare necesit
pentru testare module
driver, care simuleaz
intrrile i/sau module
stub (din care se pot
apela funcii)
De exemplu: pentru B
Modul driver: A
Modul stub: E
Comparaie (I)
Integrarea neincremental
necesit 5 module driver i
5 module stub
Integrarea incremental
necesit:
Comparaie (II)
Testarea incremental detecteaz mai devreme incompatibilitatea interfeelor sau alte presupuneri incorecte din module
Comparaie (III)
76
Faza de testare
1. Introducere
2. Tipuri de testare
3. Testarea cutie neagr (black-box)
4. Testarea cutie alb (white-box)
5. Procesul de testare
6. Testarea incremental i neincremental
7. Testarea top-down i bottom-up
8. Concluzii
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
Testarea top-down
78
Exemplu
Ordinea de testare
81
Recomandri
82
Probleme
Probleme
Testarea bottom-up
85
Exemplu
86
Problem
87
Comparaie
Testarea top-down
Testarea bottom-up
88
Faza de testare
1. Introducere
2. Tipuri de testare
3. Testarea cutie neagr (black-box)
4. Testarea cutie alb (white-box)
5. Procesul de testare
6. Testarea incremental i neincremental
7. Testarea top-down i bottom-up
8. Concluzii
Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm
Recomandri (I)
Recomandri (II)
Recomandri (III)
Automatizarea testrii
Concluzii