Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  
AccessAdobe photoshopAlgoritmiAutocadBaze de dateC
C sharpCalculatoareCorel drawDot netExcelFox pro
FrontpageHardwareHtmlInternetJavaLinux
MatlabMs dosPascalPhpPower pointRetele calculatoare
SqlTutorialsWebdesignWindowsWordXml

Testarea structurala

calculatoare



+ Font mai mare | - Font mai mic



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:

  • Numarul cailor independente in multimea de baza a programului;
  • Aprecierea superioara a numarului de teste, care garanteaza executarea unica (o singura data) a tuturor operatorilor.

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



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 2001
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved