CATEGORII DOCUMENTE |
Testarea structurala
Notiuni de baza si principii de testare a SI
Definitie. Testarea - este un proces de executie a programei cu scopul de a evidentia erorile.
Etapele de executie a procesului sunt redate pentru teste.
Fiecare test determina:
Un set initial de date si conditiile de lansare a programei;
Rezultatele asteptate in urma executarii programului.
Scopul proiectarii variantelor de teste consta in evidentierea sistematica a diferitor clase de erori intr-un timp scurt.
Testarea asigura:
Evidentierea erorilor;
Demonstrarea ca functiile programei (SI) corespund cerintelor;
De a demonstra ca realizarea cerintelor corespund caracteristicilor programei;
Reflectarea sigurantei fata de indicatorul calitatii.
Vom examina fluxurile informationale a procesului de testare (fig. 1).
Testul Rezulatele Erorile Corectarea
programei testarii
Datele initiale Rezultatele Intensitatea
Pentru lansare asteptate erorilor
Prognoza sigurantei
Fig. 1 Fluxurile informationale a procesului de testare
La intrarea in procesul de testare persista 3 fluxuri:
Textul programei.
Datele initiale pentru lansarea programului.
Rezultatele asteptate.
Toate rezultatele obtinute in urma testarii sunt estimate si sunt comparate cu rezultatele asteptate. Cind se depisteaza o incoincidenta, se fixeaza o eroare - se incepe depanarea.
Exista 2 metode de testare a programei (SI):
Testarea functionala (testarea laditei negre).
Testarea structurala (testarea laditei albe).
2 Testarea functionala
Cunoscutele: functiile programei.
Se examineaza functionalitatea fiecarei functii pe toata durata de determinare.
Dupa cum se vede in fig. 2 locul de baza a aplicatiilor de testare functionala - interfata SI.
Testarea functionala
F (x)
x y
Intrarile Iesirile
Fig. 2 Testarea functionala
Aceste teste demonstreaza:
Cum se executa functiile SI
Cum sunt primite datele initiale
Cum se formeaza rezultatele
Cum se pastreaza integritatea informatiei exterioare
La testarea functionala se precauta caracteristicile de sistem, se ignoreaza structura logica interna. O testare definitiva practic este imposibila.
Ex. Daca in SI persista 10 valori de intrare ti fiecare primeste cite 10 valori atunci va fi nevoie de 1010 variante de teste.
La fel este de mentionat ca testarea functionala nu reactioneaza la multe particularitati a erorilor.
Testarea structurala
Sunt cunoscute: Structura interna a SI.
Se examineaza elementele interne a SI si legaturile dintre ele (fig. 3).
Testarea structurala
X Y
Intrarile Iesirile
Fig. 3 Testarea structurala
Obiectul testarii in cazul dat este comportarea interna a SI. Se verifica corectitudinea construirii tuturor elementelor SI si corectitudinea interactiunii unul cu altul. De obicei se analizeaza legaturile de dirijare a elementelor, mai rar legaturile informationale. Testarea structurala se caracterizeaza dupa principiul in care teste se executa sau se suprapune logica (testul initial) a SI.
Particularitatile testarii structurale
Testarea structurala este bazata pe analiza structurii de dirijare a SI. SI se considera pe deplin (integral) verificat daca sa efectuat testarea definitiva a cailor grafului de dirijare.
In acest caz se formeaza variante de teste, in care:
Se garanteaza controlul tuturor cailor independente a SI.
Se trec arcurile True, False pentru toate rezolvarile logice.
Se executa toate ciclurile (in diapazonul de limite).
Se analizeaza corectitudinea structurilor interne a datelor.
Neajunsurile testarii structurale:
Numarul cailor independente poate fi foarte mare. De ex.. : Daca ciclul in program se executa de K ori, iar inauntrul ciclului sunt n arcuri, atunci numarul de cai se calculeaza dupa formula:
m =
unde n=5 si k=20 numarul cailor m=10. Se considera ca pentru elaborare, executare si aprecierea testului pentru una din cai de 1 ms. Atunci pentru 24 ore, 365 zile in an pentru testare va fi necesar de 3170 ani.
Testarea completa a cailor nu garanteaza corespunderea programei cu cerintele initiale.
In program pot fi omise careva cai.
Este imposibil de depistat erorile, aparitia carora depinde de datele prelucrate (acestea sunt erorile conditionate de expresiile de tipul if abs (a-b)<expif (a+b+c)/3=a).
Avantajele testarii structurale sunt legate de principiul cutiei albe care permite evidenta particularitatile erorilor program:
Numarul de erori este minimala in "centru" si maximala la "periferiile" programului.
Presupuneri preventive referitor la probabilitatea fluxului de dirijare sau datele in program deseori sunt incorecte. In rezultat calea poate deveni tipica si modelul dupa care se efectuiaza calculile va fi slab.
La inscrierea algoritmului SI in forma de text intr-un limbaj de programare posibil introducerea unor erori tipice de translare (sintactice si semantice).
Unele rezultate in program depind nu de datele initiale dar de starea interna a programului.
Fiecare din aceste particularitati servesc ca argument pentru efectuarea testarii dupa principiul structural. Testele functionale nu vor putea reactiona la erori de asa tip.
Metoda de testare a caii de baza
Testarea caii de baza - este metoda care se bazeaza pe principiul testarii structurale.
Metoda testarii caii de baza da posibilitatea:
De a obtine o estimare completa a complexitatii SI
Utilizarea acestei estimari pentru determinarea umarului necesar de variante de teste.
Variantele de teste se elaboreaza pentru verificarea multimilor de cai de baza in SI.
6 Graful fluxului
Pentru prezentarea programului (SI) se utilizeaza graful fluxului. Particularitatile grafului flux:
Graful se construieste pentru reflectarea structurii de dirijare a programului. In procesul de reprezentare parantezele de inchidere a operatorilor de ciclu (end if, end loop) sunt precautate ca operatori (fictivi) separati.
Nodurile (virfurile) grafului fluxului corespund sectoarelor liniare a programului si includ unul sau mai multi operatori al programului.
Arcurile grafului fluxului reflecta fluxul de dirijare in program (transmiterea dirijarii intre operatori). Arc - reprezinta o muchie orientata
Se disting noduri de operatori si predicativi. Din nodul de operatori iese un singur arc, iar din cel predicativ - doua.
Nodurile predicativi corespund cerintelor simple din program. Conditiile componente a programului sunt reprezentate in citeva noduri predicativi. Componente se numesc conditiile in care se utilizeaza una sau mai multe operatii booleene (OR, AND).
Ex. Fragment de program
if a OR b
then x
else y
end if;
in locul reflectarii directe in graful fluxului (reprezentat in fig. 4) se reflecta in graful fluxului transformat (fig.5).
da nu
Fig. 4 Reflectarea directa in graful fluxului
nu da
R2
nu da
R1 R3
Fig. 5 Graful fluxului transformat
Zonele inchise create de arcuri si noduri se numesc regiuni.
Mediul inconjurator a grafului este precautat ca o regiune suplimentara. Ex. Graful prezentat in fig. 5 are 3 regiuni: R1, R2, R3.
Ex. Vom precauta procedura de comprimare:
Procedura de comprimare:
de a executa pina ce nu este EOF
de citit inscrierea
daca inscrierea este goala
atunci de exclus inscrierea
astfel daca cimpul a >= cimpul b
atunci de exclus b
altfel de exclus a
7a. end if : (sfirsitul daca)
7b. sfirsitul executarii
sfirsitul comprimarii
R1 Acest graf de fluxuri are 4
regiuni.
R2
R4 R3
Fig. 6 Graful fluxului transformat a procedurii de comprimare
7 Complexitatea ciclomatica (CC)
Complexitatea ciclomatica - reprezinta metrica asigurarii program care asigura aprecierea cantitativa a complexitatii logice a progrsmului. In metoda testarii caii de baza CC determina:
Independenta se numeste orice cale care introduce un nou operator de prelucrare sau o conditie noua. In termenologia grafului fluxului calea independenta trebuie sa contina un arc care nu intra (nu se contine) in caile determinate preventiv.
Remarca:
Calea se incepe in nodul initial si se termina in ultimul nod al grafului. Caile independente se formeaza in ordinea de la cel mai scurt spre cel mai lung.
Vom enumara caile independente pentru graful fluxului prezentat in fig.
Calea 1: 1-8
Calea 2:1-2-3-7a-7b-1-8
Calea 3:1-2-4-5-7a-7b-1-8
Calea 4:1-2-4-6-7a-7b-1-8
Fiecare cale noua include un arc nou.
Toate caile independente a grafului formeaza o multime de baza.
Proprietatile multimii de baza:
Testele, care asigura controlul garanteaza:
Executarea fiecarui operator o singura data;
Executarea fiecarei conditii dupa calea - True si False.
Puterea multimii de baza este egala cu comlexitatea ciclomatica a grafului fluxului.Complexitatea ciclomatica se calculeaza dupa unul din trei noduri:
1. CC este egala cu numarul de regiuni a grafului fluxului;
2. CC se determina conform formulei:
V(G) = E-N-2
Unde E - numarul de arcuri, N - numarul de noduri a grafului fluxului.
3. CC se formeaza conform expresiei:
V(G) = p+1
Unde p - numarul de noduri predicative in graful fluxului G.
Sa calculam CC a grafului redat in fig. 6 conform celor trei noduri:
Graful fluxului are 4 regiuni
V(G) = 11 arce - 9 noduri + 2 = 4
V(G) = 3 noduri predicative + 1 = 4
Prin urmare CC a grafului fluxului din fig. 6 este egala cu 4.
8 Testarea ciclurilor
Testarea ciclurilor se efectuiaza dupa principiul cutiei albe, la verificarea ciclurilor se atrage atentia la corectitudinea construirii ciclurilor.
Se disting 4 tipuri de cicluri: simple, incorporate, asociate(unificate), nestructurate. Structura ciclurilor este redata in fig. 10.
Ciclu simplu
Cicluri asociate
(unificate)
Cicluri incorporate
Cicluri
nestructurate
Fig. 10 Structuri tipice de cicluri
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 2191
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved