Sunteți pe pagina 1din 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.

S-ar putea să vă placă și