Curs 9 - Testare Software

9
Curs 9: Testare so-ware

description

testing

Transcript of Curs 9 - Testare Software

  • Curs 9: Testare so-ware

  • Testarea so)ware

    Scop:

    demonstrarea calita5i sau a comportarii conforme cu cerintele specicate detectarea si repararea defectelor

    Pricipalele ac1vita1 q Planicarea si prega1rea: Sunt stabilite obiec5vele testarii si strategia generala de testare Se pregatesc cazurile de test si procedura generala de testare q Execu1a testelor si ac1vita1le corelate, inclusiv masurarea comportarii produsului (date culese din teste)

    q Analiza si eliminarea defectelor Vericarea rezultatelor In cazul caderilor, sunt ini5ate si monitorizate ac5vita5 cu scopul eliminarii cauzelor sau greselilor care au

    cauzat caderile.

    Cea mai importanta ac5vitate de asigurare a calita5i

    CAIP Curs 9: Testare so-ware

  • Tipuri de teste

    Testarea func1onala:

    focalizata pe comportarea externa a sistemului sau componentelor sale obiectul testat este tratat ca o cu5e neagra (black box)

    Testarea structurala:

    focalizata pe implementarea obiectului testat, care este tratat ca o cu5e transparenta(white box)

    Diferite nivele de testare:

    - La nivelul unei unita5 program: func5e, procedura, metoda a unei clase Testarea instruc5unilor, deciziilor, datelor

    - La nivel de grup de elemente program interconectate: componenta, sub-sistem, sistem Testarea interac5unilor si a rela5ilor dintre elemente

    La nivelul intregului sistem so-ware Testare black-box focalizata pe func5ile sistemului si alte calita5 externe

    CAIP Curs 9: Testare so-ware

  • Testarea func1onala

    q Este o testare de 1p black-box tes1ng(BBT) q Diferite metode de alegere a cazurilor de test

    Testare ad hoc: programul este executat (in mod repetat) pentru intrari alese in mod arbitrar observandu-se comportarea sa este principala metoda de reparare a problemelor raportate de

    clien5!

    Testare bazata pe analiza domeniului de valori ale variabilelor de intrare si de iesire, folosind diferite metode si euris1ci

    Testare bazata pe modele formale derivate din cerintele de sistem sau specica5ile func5onale (ex.: specica5i de intrare/iesire, automate cu stari nite, lanturi Marcov, s.a).

    CAIP Curs 9: Testare so-ware

  • Testarea structurala

    q Testare cu1e transparenta - white-box tes1ng(WBT) Diverse metode de selec5e a cazurilor de test: acoperirea tuturor instruc5unilor, acoperirea

    tuturor arcelor grafului program, execu5a tuturor deciziilor.

    Alegerea cazurilor de test presupune cunoasterea codului WBT si ac5vita5le corelate sunt efectuate de programatori.

    Este efectuata la nivelul unita5lor program si al programelor mici.

    Testarea se opreste atunci cand este sa5sfacut criteriul de acoperire ales. U5lizeaza diverse instrumente so-ware pentru automa5zarea testarii.

    CAIP Curs 9: Testare so-ware

  • Criterii de oprire a testarii

    q Bazate pe resurse Testarea se opreste atunci cand 5mpul prevazut pentru livrarea produsului s-a terminat. Testarea se opreste atunci cand nu mai sunt bani. Calitatea?

    q Bazate pe ac1vita1 Testarea se opreste atunci cand au fost efectuate toate ac5vita5le de testare planicate. Se presupune, implicit, ca prin efectuarea testelor s-a asigurat calitatea planicata.

    q A1ngerea abilita1i cerute Programul este testat prin teste sta5s5ce: date de test generate aleator pe baza prolului sau de

    u5lizare. Testarea se termina atunci cand rata caderilor se stabilizeaza la valoarea ceruta.

    q Bazate pe acoperire Se presupune ca tot ce a fost acoperit prin testare este fara defecte Criterii de acoperire in testarea structurala: acoperirea tuturor instruc5unilor, ramica5ilor, s.a. Criterii de acoperire in testarea func5onala: acoperirea tuturor par55ilor domeniului de intrare si a

    valorilor de fron5era, acoperirea tuturor starilor si a tuturor tranzi5ilor, s.a.

    CAIP Curs 9: Testare so-ware

  • Testarea bazata pe liste de vericare (checklists) (1)

    Listele de vericare fac parte din planul de testare si sunt necesare testerilor pentru execu5a testelor specicate.

    O lista de vericare con5ne un set de cazuri de test, ecare caz ind descris prin intrari, ac5une sau eveniment si un raspuns asteptat, asXel incat sa poata executat in mod repetat.

    Testarea se termina atunci cand ecare ar5col din lista a fost testat si toate problemele descoperite au fost corectate.

    Tipuri de liste de vericare

    Liste de vericare func1onala (black-box) : specica teste la diferite nivele de abstrac5zare si granularitate, de la func5ile de nivel inalt (la nivelul intregului sistem) pana la func5ile de nivel

    coborat, ale unita5lor func5onale sau componentelor.

    Liste de vericare ale elementelor sistemului (white box) la diferite nivele de granularitate, de la subsisteme si module pana la nivel de instruc5uni si elemente de date.

    CAIP Curs 9: Testare so-ware

  • Testarea bazata pe liste de vericare(2)

    Tipuri de liste de vericare(cont)

    Liste de vericare a structurilor sau caracteris1cilor de implementare (white box) compuse mai multe

    elemente :

    O lista a apelurilor de func5i/proceduri

    Consumatori-producatori pentru anumite resurse

    Modulele care partajeaza date, etc.

    Liste de vericare pentru anumite proprieta1: standarde de codicare, ar5cole de specica5e, etc. Pot white-box sau black-box.

    Probleme si limitari

    Listele de vericare de nivel inalt, cum ar listele func5onale, nu sunt foarte specice.

    Derivarea cazurilor de test pornind de la elementele listei este dicila: sunt necesari testeri

    experimenta5.

    CAIP Curs 9: Testare so-ware

  • Testarea bazata pe liste de vericare(3)

    Probleme si limitari (cont)

    Pentru repetarea testelor in teste ulterioare este necesar sa se memoreze setarea/contextul testelor aspecte care nu sunt denite in lista.

    Complexitatea structurala si func5onala a sistemelor actuale fac dicila u5lizarea listelor de vericare in testare:

    Este dicil de acoperit toate componentele func5onale/structurale din diferite perspec5ve si la diferite nivele de granularitate.

    Din dorinta de acoperire pot sa apara multe suprapuneri intre diferitele ar5cole ale listei, rezultand teste redundante.

    Anumite interac5uni intre componente ale sistemului sunt dicil sau imposibil de descris u5lizad liste de vericare.

    CAIP Curs 9: Testare so-ware