Tehnici de Testare

download Tehnici de Testare

of 22

Transcript of Tehnici de Testare

  • 7/28/2019 Tehnici de Testare

    1/22

    Efectuat de: Jechiu Andrei, Hrbu Vadim

    UTM TI anul III

    Prezentare realizat n cadrul practicii desfurate la Institutul de

    Dezvoltare a Societii Informaionale www.idsi.md

    http://www.idsi.md/http://www.idsi.md/
  • 7/28/2019 Tehnici de Testare

    2/22

    Testarea e procesul prin care se executun program cu intenia de a gsi erori(Myers)

    Testarea este utilizat pentru a semnalaprezena defectelor unui program, fr agaranta absena lor(Dijkstra)

    Definiii ale testrii

  • 7/28/2019 Tehnici de Testare

    3/22

    Defect (Defect) Excepie (Variance) Eec (Failure) Problem (Problem)

    Eroare (Error) Incident (Incident) Anomalie (Anomaly) Inconsisten (Inconsistency) Aparen (Feature) Neajuns (Fault) Bug

    Termeni folosii n testare

  • 7/28/2019 Tehnici de Testare

    4/22

    Satisfacerea cerinelorclientului este cheiareuitei oricrei afaceri.

    Obinerea ncrederiiclientului prin oferirea unsoft bun, de calitate.

    Calitatea softului esteindicat doar prin testareaacestuia.

    De ce este nevoie de testare ?

  • 7/28/2019 Tehnici de Testare

    5/22

    deficienele din specificaie ( 60%)derori de proiectare ( 30%)eerorile de programare (uneori sub 15%)(

    Principala surs a apariiei erorilor este lipsacomunicrii ntre membrii echipei careparticip la dezvoltarea produsului

    software.

    Cauzele erorilor

  • 7/28/2019 Tehnici de Testare

    6/22

    Erorile depistate i fixate nfaza de descriere aspecificaiilor nu cost practicnimic.

    Erorile depistate dup livrareaprodusului mrete costul

    acestora de la mii la milioanede dolari.

    Costul erorilor

  • 7/28/2019 Tehnici de Testare

    7/22

    Costul erorilor

  • 7/28/2019 Tehnici de Testare

    8/22

    Erori care au rmas n istorie Aparat medical pentru terapie cu radiaie Therac-256 accidente cu mori i rni grave (1985-87, SUA, Canada)

    Cauza direct: erori in programul de control

    Analiz retrospectiv [Leveson 1995]:

    ncredere excesiv n software (n analiza produsului)

    fiabilitate siguran

    Racheta Ariane 5

    Autodistrugere dup o defeciune la 40 s de la lansare (1996)

    Cauza: conversia 64-bit float 16-bit int genereaz o excepie de

    depire netratat n programul ADA

    Cost: 500 milioane dolari (racheta), 7 miliarde dolari (proiectul)

    Analiz retrospectiv: principala cauz: reutilizarea nejudicioasa de software

    cod preluat de la Ariane 4, fr reanalizare corespunztoare:

  • 7/28/2019 Tehnici de Testare

    9/22

    Eroarea din procesorul Intel PentiumEroare n unitatea de mprire cu virgula mobila, 1994Cost: cca. 400 milioane dolariAnaliz ulterioar Circuitul putea fi verificat formal

    - demonstrare automat de teoreme [Clarke, German&

    Zhao]- cu structuri speciale de date pentru reprezentarea nmulirii/mpririi[Bryant & Chen]

    Accentul a fost pus pe componente mai complexe (unitatea de execuie,coerena memoriei cache)

    Erori care au rmas n istorie

  • 7/28/2019 Tehnici de Testare

    10/22

    P1: Un caz de test trebuie sa defineasc neapratieirea sau rezultatul dorit.

    P2: Un programator ar trebui sa evite sa-i testezepropriul program.

    P3: Companiile de programare nu ar trebui s-itesteze produsele proprii.

    P4: Fiecare rezultat al testului trebuie examinat foarteminuios.

    P5: Cazurile de test trebuie s fie scrise att pentrucondiii de intrare valide ct i pentru cele invalide ineateptate.

    Principii ale testrii (Mayers)

  • 7/28/2019 Tehnici de Testare

    11/22

    P6: Trebuie testat c produsul face ce trebuie i nuface ce nu trebuie.

    P7:Trebuie de pstrat i refolosit cazurile de test.

    P8: Nu se planific procesul de testare presupunndc nu vor fi gsite erori.

    P9: Probabilitatea de a gsi erori ntr-un fragment decod este proporional cu numrul de erori dejagsite.

    P10: Testarea este un lucru extrem de creativ iintelectual.

    Principii ale testrii (Mayers)

  • 7/28/2019 Tehnici de Testare

    12/22

    Este imposibil testarea complet a unui program. Testarea software este un exerciiu de apreciere a

    riscurilor. Testarea nu poate arta c produsul nu are erori.

    Cu ct mai multe erori gseti, cu att mai multe sunt. Paradoxul pesticidelor: erorile devin rezistente la

    teste. Nu toate erorile gsite vor fi corectate.

    E greu de spus cnd o eroare e o eroare. Specificaiile produselor nu sunt niciodat definitive. Testorii nu sunt cei mai populari membri ai echipei de

    proiect.

    Axiomele testrii (Patton)

  • 7/28/2019 Tehnici de Testare

    13/22

    Analiza Proiectarea Implementare

    TestareEtapele procesului de testare sunt practic aceleaica i etapele proiectrii sistemelor.

    Testarea este unul dintre cele mai importanteetape din ciclul de via a sistemelor i este ogreeal mare subestimarea sau evitarea acesteietape.

    Etapele dezvoltrii sistemelor

  • 7/28/2019 Tehnici de Testare

    14/22

    PlanificareaAnalizaProiectarea

    ImplementareaExecuiaEvaluarea

    Etapele procesului de testare

  • 7/28/2019 Tehnici de Testare

    15/22

    Testarea funcional se refer la cerinelefuncionale ale aplicaiei i cuprinde faptul ct debine sistemul execut funciile sale. Acestainclude comenzi de utilizare, manipulare de date,

    cutri i procese de afaceri, integrri.

    Testarea non-funcional testarea aplicaieifa de cerinele non-funcionale i este conceput

    pentru a evalua pregtirea unui sistem n funciede mai multe criterii care nu sunt acoperite printeste funcionale.

    Metode de testare

  • 7/28/2019 Tehnici de Testare

    16/22

    Black box

    White box

    Tehnicile de testare

  • 7/28/2019 Tehnici de Testare

    17/22

    Testarea Black box este o tehnic detestare software care se bazeaz n ntregimepe cerinele software i specificaiile acesteia.

    n Testarea Black box ne concentrm doar

    asupra intrrilor i ieirilor ale sistemului iNU suntem interesai de structura intern aprogramului software.

    Testarea Black Box

  • 7/28/2019 Tehnici de Testare

    18/22

    Testarea White Box (cutiatransparent sau cutiadeschis) tehnica de

    creare a cazurilor de testasupra codului programuluipentru a detecta oricescenariu cu potenial eec.

    Testarea White Box

  • 7/28/2019 Tehnici de Testare

    19/22

    Testarea unitilor (white box) testarea celor mai mici uniti testabile(clase, pagini web) independent una de alta. Obinut de dezvoltator.

    Testarea de integritate (black & white box) evaluarea iteraciunii ntreunitile testate distinct i separat dup ce au fost integrate.

    Testarea de sistem (black box) testarea complet a sistemului (echip

    de testeri).

    Testarea de acceptare (black box) evalueaz sistemul n cooperare cuclientul sau sub patronajul acestuia ntr-un mediu apropiat mediului deproducie.

    Testarea regresiv (black & white box) reprezint procesul de re-testaredupa remedieri sau modificri ale produsului sau ale mediului su. Duce laautomatizare.

    Testarea beta (black box) permite utilizatorilor s lucreze cu versiuniletimpurii ale unui produs cu scopul de a oferi feedback-uri din timp.

    Tipurile de testare

  • 7/28/2019 Tehnici de Testare

    20/22

    Definiia 1. Scopul testorului este de a depistaerorile softului.

    Definiia 2. Scopul testorului este de a depistaerorile softului ct mai devreme posibil.

    Definiia 3. Scopul testorului este de a depistaerorile softului ct mai devreme posibil i se asigurc ele au fost fixate i luate msuri n legtur cuaceasta.

    Rolul testerului

  • 7/28/2019 Tehnici de Testare

    21/22

    Testarea este pricipalul procesfr de care nu se poate derealizat un produs software decalitate.

    Testarea ocup cel mai multtimp din dezvoltarea produsului.

    Procesul de testare trebuie snceap de la etapele iniiale aproiectului i anume de lascrierea cerinelor proiectului.

    Concluzii

  • 7/28/2019 Tehnici de Testare

    22/22