Sunteți pe pagina 1din 5

Ministerul Educaţiei al Republicii Moldova

Universitatea Tehnică a Moldovei


Facultatea Calculatoare Informatica si
Microelectronica Departamentul Ingineria
Software si Automatica

RAPORT

Lucrarea de laborator nr.4


Disciplina: Testare Software
Tema: Metode de testare a programelor. Metoda
cutiei transparente de testare a programelor

A efectuat: Baranov Oleg


st. gr. TI-172

A verificat:
asist. univ. C. Rusu

Chisinau 2020
Scopul lucrării:
Obținerea deprinderilor de proiectare a cazurilor de testare. Familiarizare cu algoritmul
McCave și tehnica White-Box.

Obiectivele lucrării:
 Înțelegerea noțiunii de caz de testare;
 Înțelegerea metodologiei de dezvoltare a aplicației:
 dezvoltarea condusă de cod;
 dezvoltarea bazată pe cod.
 Formarea competențelor de partiționare în criterii de acoperire;
 Utilizarea graficului fluxului de date.

Mersul lucrării:
Cu cât este mai complexă structura codului, cu atât este mai dificil de înțeles, e mai probabil
să conțină defecte, va fi mai dificil de actualizat, va dura mai mult timp realizarea lui, și va fi mai
dificil de reutilizat.
Numărul complex ciclomatic al lui McCabe (CCN) măsoară numărul de căi liniare
independente prin graful programului.
C=E−N +2∗P, unde
 E – numărul de muchii al grafului;
 N – numărul de noduri;
 P – numărul de noduri care conțin puncte de ieșire din graful de control.

Codul:
std::vector<int> getUnique(std::vector<int> v) {
std::vector<int> currVector;

int crit;

for(int i = 0; i < v.size(); i++) {


crit = 0;

for(std::vector<int>::iterator it = currVector.begin(); it !=
currVector.end(); it++)
if((*it) == v[i]) {
crit = 1;
break;
}

if(crit == 0)
currVector.push_back(v[i]);
}
return currVector;
}

Graful fluxului de control este prezentat în figura 1.

Figura 1. Graful fluxului de control.

Conform grafului din figura 1, putem evalua următoarele valori ale parametrilor de
complexitate ciclomatică.
E = 15 (muchii).
N = 12 (noduri).
P = 1 (puncte de ieșire din program)

Folosind formula pentru calculul complexității obținem următorul rezultat:


C=E−N +2∗P=15−12+2∗1=5

Prin urmare, complexitatea ciclomatică pentru graful de control de mai sus este 5, care este
un număr acceptabil. În mod similar, utilizând aceeași formulă, putem calcula complexitatea
ciclomatică pentru orice cod sursă, și, pe baza rezultatului, putem determina riscurile și costul de
întreținere asociat. Poate fi foarte util pentru bugetul general al proiectelor.

Pentru calcularea complexității ciclomatice a unei funcții sau bucle, ne putem conduce și
după următorul tabel:

Valoarea inițială este 1


if +1
while +1
for +1
case +1
&& +1
|| +1
?: +1
do +1
catch +1

Începem cu valoarea 1, C + for (+1) + for (+1) +If (+1) +If (+1) = 5. Drept rezultat obținem
complexitatea ciclomatică C = 5

Cazuri de test Datele de intrare Rezultatul obţinut Rezultatul aşteptat

TC1 0, 1, 3, 4, 6, 0, 1, 3, 4, 6, 2 0, 1, 3, 4, 6, 2
3, 2, 1
TC2 1, 1, 1, 1, 1, 1 1 1
TC3 1, 2, 3, 4, 5 1, 2, 3, 4, 5 1, 2, 3, 4, 5
TC4 v is empty Vector is empty Vector is empty

Concluzii:
În timpul elaborării acestei lucrări de laborator am studiat complexitatea ciclomatică a lui
McCabe. Acestea este o metrică simplă și intuitivă care ne permite să obținem rezultate fiabile la
nivelul funcției. În testele de mai sus nu există multe aspecte de testat, desigur, cu creșterea
complexității crește direct proporțional și nivelul de teste pentru testare. Aceasta este ideală
pentru testarea programelor ce conțin metode standarte C/C++ însă, în limbajele de nivel înalt nu
face deloc față.

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