You are on page 1of 5

Ministerul invatamintului Republicii Moldova

Universitatea Tehnica a Moldovei


Facultatea Calculatoare Informatica si Microelectronica
Catedra tehnologii informationale si automatic

Raport
La disciplina : Testarea si verificarea produselor soft
Lucrare de laborator nr.3
TEMA: Metode de testare a programelor. Metoda cutiei transparente de
testare a programelor

A efectuat :

student grupa

A verificat:

lector superior

Chisinau 2015

Scopul si sarcina Lucrrii

De a studia metodele de testare structural a programelor.De testat programul


conform criteriilor de acoperire, de desenat graful fluxului de control, de
evideniat eantioanele pe care se obin rezultatele eronate pentru diferite criterii
de acoperire, de comentat cazurile speciale i testele elaborate

Consideratii Teoretice
Metoda cutiei transparente
Testarea Cutiei Transparente (testarea structural) este o strategie care se bazeaz pe testrile
cilor interne, structurilor, i implementrilor unui software n proces de testare. Spre deosebire de
complementul su, testarea Cutiei Negre, testarea Cutiei Transparente n general are cerine mai mari
asupra capacitilor programatorului.
n general procesul de testare structural se executa astfel:

este analizat metoda de proiectare a softului testat (ST);

sunt identificate cile n structura ST;


intrrile sunt alese n aa mod nct ST s execute cile selectate.( Aceast procedur
se numete sensibilizare de ci. Rezultatele ateptate pentru acele intrri sunt determinate);

se ruleaz testele;

ieirile obinute sunt comparate cu ieirile preconizate;

se determin daca funcionalitatea ST este corect.


Aplicaii:
Testarea Cutiei Transparente poate fi folosit la toate nivelele de dezvoltare a aplicaiei ca
sistem, a integrrii i a sistemului nsi. Metoda este egalat cu testrile aplicaiilor efectuate de
programatori i este apreciat ca una precis.
Testarea Cutiei Transparente este mai mult dect testare de cod este testare de cale. n general,
sunt testate cile din modul. Dar putem folosi aceeai tehnic pentru testarea legturilor ntre module i
ntre subsisteme, chiar i n interiorul sistemelor.
Dezavantaje: Testarea Cutiei Transparente are cteva dezavantaje:
1. Numrul cilor de executare poate fi att de mare nct nu pot fi testate toate. ncercarea de a
testa toate caile de executare prin metoda Cutiei Transparente este la fel inutil ca i testarea tuturor
combinaiilor de date de intrate prin metoda Cutiei Negre.
2. Testarea structural poate s nu detecteze erori.
3. Testarea Cutiei Transparente presupune c fluxul de control este corect (ori aproape corect).
Atta timp ct testele sunt bazate pe cile existente, cele inexistente nu pot fi descoperite i testate prin
aceast metod.
4. Testerul trebuie s aib abiliti de a nelege i de a evalua ST (softul testat). Din nefericire
muli programatori de astzi nu au aceste caliti.

Avantaje: Cnd se folosete testarea Cutiei Transparente, programatorul poate fi sigur c toate cile
existente a programului supus testrii au fost identificate i testate.
Codul programului
/*Problema dreptunghiului cu o latura de 1 si aria maxima
ce se afla intr-un dreptughi 3x4.
Evtodieva Alisa grupa TI-121 , Facultatea de Calculatoare Informatica si
Microelectronica
21.3.2014*/
1. #include<stdio.h>
2. #include<conio.h>
3. #include<math.h>
4. #define PI 3.1415926535
5. double getMaxArea(double alfa)
6. {
7. double rad = alfa*PI/180;
8. double rad2 = (90-alfa)*PI/180;
9. double x1,x2,x3,x4,y1,y2,y3,y4;
10.
x1 = cos(rad);
11.
y4 = sin(rad);
12.
y1 = x4 = 0;
13.
if( (4-x1)*tan(rad2)+y4 <= 3)
14.
{
15.
x2 = 4;
16.
y2 = (4-x1)*tan(rad2);
17.
return sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));
18.
}
19.
else
20.
{
21.
y3 = 3;
22.
x3 = tan(rad)*(y3-y4);
23.
return sqrt((x3-x4)*(x3-x4) + (y3-y4)*(y3-y4));
24.
}
25.
}
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.

int main()
{
double alfa = 0;
double pas = 1;
double alfaMin = 0;
double alfaMax = 90;
double alfaMaxTemp = 0;
double maxArea = 0;
while(pas >= 1e-20)
{
for(alfa = alfaMin;alfa <= alfaMax;alfa+=pas)
{
if(getMaxArea(alfa) >= maxArea)
{
maxArea = getMaxArea(alfa);
alfaMin = alfa-pas;
alfaMaxTemp = alfa+pas;
}
}
alfaMax = alfaMaxTemp;
pas *= 0.1;
printf("%1.20f unitati patratice\n",getMaxArea(alfa));
}
_getch();
}

Graful programului
2
8

29

3
0

3
1
3

3
2

3
3

3
4

4
9

DA

3
6

e
n
d

DA

3
8

4
5

4
7

4
0
4
1

4
6

4
2

Numarul ciclomatic este C = M V + 2


M = 19
V = 17
C = 19 17 + 2 = 4
Selectam caile de baza:
1) 28, 29, 30, 31, 32, 33, 34, 36, 38, 40, 41, 42, 45, 46, 47, 49, end
2) 28, 29, 30, 31, 32, 33, 34, 36, 38, 36, 45, 46, 47, 49, end
3) 28, 29, 30, 31, 32, 33, 34, 36, 45, 46, 47, 49, end
4) 28, 29, 30, 31, 32, 33, 34, 49, end

Cazuri
de test
TC1

Datele de intrare
pas > 1e-20

Rezultatul obinut

Rezultatul ateptat

4.08511586631941172527 4.08511586631941172527

TC2

TC3
TC4

alfa <= alfaMax


maxArea > maxArea
pas > 1e-20
alfa <= alfaMax
maxArea < maxArea
pas > 1e-20
alfa > alfaMax
maxArea > maxArea
pas < 1e-20
alfa <= alfaMax
maxArea > maxArea

3.00000000000000000000 4.08511586631941172527

4.01806437705841744900 4.08511586631941172527
Introduceti un pas mai mare
decit 10-20

Concluzie:
Testarea White-Box se bazeaza pe facptul ca noi stim codul , deci verificam corectitudinea
codului scris. Aceasta testarea cred ca o fac mai degraba acei care cunosc si programare. Cu acest tip
de programare putem vedea daca programatorul nu a scapat din vedere anumite cazuri, cazuri
exceptionale.