You are on page 1of 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

Definiii ale testrii


Testarea e procesul prin care se execut un program cu intenia de a gsi erori (Myers) Testarea este utilizat pentru a semnala prezena defectelor unui program, fr a garanta absena lor(Dijkstra)

Termeni folosii n testare


Defect (Defect) Excepie (Variance) Eec (Failure) Problem (Problem) Eroare (Error) Incident (Incident) Anomalie (Anomaly) Inconsisten (Inconsistency) Aparen (Feature) Neajuns (Fault) Bug

De ce este nevoie de testare ?


Satisfacerea cerinelor clientului este cheia reuitei oricrei afaceri. Obinerea ncrederii clientului prin oferirea un soft bun, de calitate. Calitatea softului este indicat doar prin testarea acestuia.

Cauzele erorilor
d deficienele din specificaie ( 60%) e erori de proiectare ( 30%) erorile de programare ( (uneori sub 15%) Principala surs a apariiei erorilor este lipsa comunicrii ntre membrii echipei care particip la dezvoltarea produsului software.

Costul erorilor
Erorile depistate i fixate n faza de descriere a specificaiilor nu cost practic nimic. Erorile depistate dup livrarea produsului mrete costul acestora de la mii la milioane de dolari.

Costul erorilor

Erori care au rmas n istorie


Aparat medical pentru terapie cu radiaie Therac-25 6 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:

Erori care au rmas n istorie


Eroarea din procesorul Intel Pentium Eroare n unitatea de mprire cu virgula mobila, 1994 Cost: cca. 400 milioane dolari Analiz 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)

Principii ale testrii (Mayers)


P1: Un caz de test trebuie sa defineasc neaprat ieirea sau rezultatul dorit. P2: Un programator ar trebui sa evite sa-i testeze propriul program. P3: Companiile de programare nu ar trebui s-i testeze produsele proprii. P4: Fiecare rezultat al testului trebuie examinat foarte minuios. P5: Cazurile de test trebuie s fie scrise att pentru condiii de intrare valide ct i pentru cele invalide i neateptate.

Principii ale testrii (Mayers)


P6: Trebuie testat c produsul face ce trebuie i nu face ce nu trebuie. P7: Trebuie de pstrat i refolosit cazurile de test. P8: Nu se planific procesul de testare presupunnd c nu vor fi gsite erori. P9: Probabilitatea de a gsi erori ntr-un fragment de cod este proporional cu numrul de erori deja gsite. P10: Testarea este un lucru extrem de creativ i intelectual.

Axiomele testrii (Patton)


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.

Etapele dezvoltrii sistemelor


Analiza Proiectarea Implementare Testare

Etapele procesului de testare sunt practic aceleai ca i etapele proiectrii sistemelor. Testarea este unul dintre cele mai importante etape din ciclul de via a sistemelor i este o greeal mare subestimarea sau evitarea acestei etape.

Etapele procesului de testare


Planificarea Analiza Proiectarea Implementarea Execuia Evaluarea

Metode de testare
Testarea funcional se refer la cerinele funcionale ale aplicaiei i cuprinde faptul ct de bine sistemul execut funciile sale. Acesta include comenzi de utilizare, manipulare de date, cutri i procese de afaceri, integrri. Testarea non-funcional testarea aplicaiei fa de cerinele non-funcionale i este conceput pentru a evalua pregtirea unui sistem n funcie de mai multe criterii care nu sunt acoperite prin teste funcionale.

Tehnicile de testare

Black box White box

Testarea Black Box


Testarea Black box este o tehnic de testare software care se bazeaz n ntregime pe cerinele software i specificaiile acesteia.

n Testarea Black box ne concentrm doar asupra intrrilor i ieirilor ale sistemului i NU suntem interesai de structura intern a programului software.

Testarea White Box


Testarea White Box (cutia transparent sau cutia deschis) tehnica de creare a cazurilor de test asupra codului programului pentru a detecta orice scenariu cu potenial eec.

Tipurile de testare
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 ntre unitile 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 cu clientul sau sub patronajul acestuia ntr-un mediu apropiat mediului de producie. Testarea regresiv (black & white box) reprezint procesul de re-testare dupa remedieri sau modificri ale produsului sau ale mediului su. Duce la automatizare. Testarea beta (black box) permite utilizatorilor s lucreze cu versiunile timpurii ale unui produs cu scopul de a oferi feedback-uri din timp.

Rolul testerului
Definiia 1. Scopul testorului este de a depista erorile softului. Definiia 2. Scopul testorului este de a depista erorile softului ct mai devreme posibil. Definiia 3. Scopul testorului este de a depista erorile softului ct mai devreme posibil i se asigur c ele au fost fixate i luate msuri n legtur cu aceasta.

Concluzii
Testarea este pricipalul proces fr de care nu se poate de realizat un produs software de calitate. Testarea ocup cel mai mult timp din dezvoltarea produsului. Procesul de testare trebuie s nceap de la etapele iniiale a proiectului i anume de la scrierea cerinelor proiectului.

You might also like