Sunteți pe pagina 1din 29

TEHNICA DE TESTARE

BLACK BOX
Tehnicile de proiectare a cazurilor de teste (case test)
sunt grupate în trei categorii:

Cele bazate pe cazuri de testare care rezultă direct


dintr-o specificație, cum ar fi tehnici black-box;

Cele bazate pe cazuri de testare care derivă direct


din structura unei componente sau a unui sistem,
cunoscut sub numele de tehnici de structură white-
box;
Cele bazate pe cazuri de testare care rezultă din
experiența testerului, sistemelor similare și
experiența generală de testare, cunoscut sub numele
de tehnici bazate pe experiență.
Black Testarea White
domeniilor de
Box valori, testarea Box Testarea
funcțională, acoperirii,
testarea bazată testarea statică
pe specificații, (examinarea
testarea axată pe codului,
riscuri, testarea verificarea
la limită, sintaxei),
testarea de inserarea de
regresie, testarea defecte.
bazată pe
scenarii.
Testarea Black Box
- este o tehnică de testare software care se bazează în întregime
pe cerinţele software şi specificaţiile acesteia

Intrări Ieșiri
Black Box

În Testarea Black box ne concentrăm doar asupra


intrărilor şi ieşirilor ale sistemului şi NU suntem
interesaţi de structura internă a programului software.
Tipuri de testare Black Box
Testarea funcțiilor (function testing):
fiecare funcție (caracteristică) separat; funcționalitate de baza.

Testarea domeniilor de valori (domain testing):


Eșantionarea prin reprezentanți ai claselor de echivalență.

Testarea bazată pe specificații:


teste pentru fiecare afirmație/proprietate din doc. de specificație;
nu f. puternice (testeaza că funcționalitatea e satisfăcută);
mai profund: caută erori/omisiuni/ambiguități/cazuri de limită
în specicație.
Tipuri de testare Black Box
Testare axată pe riscuri (risk-based testing):
se imaginează o modalitate de eșec și se generează teste pentru
ea.

Testarea la limita (stress testing): exercită programul la efort


mare, la/dincolo de limitele specicate, pentru a vedea cum
eșuează.

Testarea de regresie
set de teste proiectate pentru refolosire (la fiecare modicare),
bine documentate pentru mentenanță.
Tipuri de testare Black Box
Testarea de catre utilizatori:
reali, nu simulați (beta testing);
pe scenarii specificate dinainte, credibile, motivatoare.

Testarea bazata pe scenarii:


caz specifc de utilizare; poate fi bazat pe model credibil,
motivator, ușor de evaluat, complex.
Tipuri de testare Black Box
Testarea bazata pe stări (state-model-based testing):
modelul: automat cu stari finite,
analiza modelului și a produsului cu teste bazate pe model.

Testarea prin explorare:


Direcționează activ procesul de testare, proiectînd teste noi pe
baza informațiilor oferite de cele deja executate.
Tehnici în baza specificațiilor (black
box)
Partiționarea în clase de echivalență (Equivalence
partitioning)

Analiza valorilor limită (Boundary value analysis)

Testarea folosind tabele de decizie

Testarea folosind tranziția stărilor

Testarea folosind cazuri de utilizare


Partiționarea în clase de echivalență (EP)

Intrarile sistemului sau al software-ului sunt împărțite în


grupuri pentru care se așteaptă un comportament similar;

Identificarea de partiții echivalente (sau clase) pentru:


date valide;
date invalide;
Se aplică și pentru: ieșiri, valori interne, valori cu referire la
timp (ce se modifică înainte sau după apariția unui
eveniment), parametri ai interfeței;
Partiționarea în clase de echivalență (EP)

EP este utilizată la toate nivelele de testare;

Pentru un interval: va avea o clasă de valori valide(în


interior) și două clase de valori invalide(din ambele părți);

Pentru un număr specificat: un caz valid și două


cazuri invalide(mai mare, mai mic)
Partiționarea în clase de echivalență (EP)
Exemplu:
Să presupunem că un program acceptă o valoare cuprinsă
în intervalul -10.000 și +10.000

Date
valide

- 0 +10.00
10.000 0
Date invalide
Analiza valorilor limită
(Boundary value analysis)

Se analizează comportamentul la marginea fiecărei


partiții de echivalență.

Testele trebuie create atât pentru valorile limită


valide cât și invalide!

Tehnica poate fi aplicată la toate nivele de


testare.
Analiza valorilor limită
(Boundary value analysis)
Pentru exemplul analizat mai devreme(EP) vom avea:

Date de intrare pentru limita inferioară:


minim+1, minim, minim-1
{-9.999, -10.000, -10.001}

Date de intrare pentru limita superioară:


maxim-1, maxim, maxim+1
{9.999, 10.000, 10.001}
Valori limită

-10.000 +10.000
Exemplu:
La concursul de fotografie digitală cu ocazia Zilei Mondiale a Zonelor
Umede pot lua parte tineri cu vârsta cuprinsă între 15 și 24 de ani.
Câmpul acceptă numai valori pozitive
Care sunt valorile valide și invalide pentru Equivalence Partitions și
Boundary Values?

Equivalence Partitions
Tip Invalid Valid Invalid
Partiție < 14 15 - 24 25 - 100
Valoare 7 19 62
Rezultat Rejectat Acceptat Rejectat
așteptat
Boundary value analysis
Tip I V V I V V
Boundary 15 24
Valoare 14 15 16 23 24 25
Rezultat așteptet R A A A A R
Testarea folosind tabele de decizii
• Reprezintă una din cele mai simple și foarte eficiente
metode de a rezolva probleme complexe.
• Un astfel de tabel poate fi specificat și întreținut de un
utilizator.

Definitie: Un tabel de decizie este formularea cazurilor de


test bazată pe deciziile luate; rezultă astfel un proces de
lucru cu un grad ridicat de acuratețe și completitudine.
Testarea folosind tabele de decizii

• Funcționalitatea sistemului este verificată de cazurile de


test bazate pe logica de decizie din cadrul sistemului.
Numărul cazurilor de test depinde de cerințe.
• Utilizare: Unit testing, Integration testing, System testing,
Functional acceptance testing
Testarea folosind tabele de decizii
• Pasul 1: Determinarea condițiilor. Acestea se trec în
subtabelul A a tabelului.

• Pasul 2: Definirea acțiunilor. Acestea se trec în subtabelul B.

• Pasul 3: Completarea subtabelului C – fiecare condiție devine


adevarat o data și falsă o dată.

• Pasul 4: Completarea subtabelului D – determinarea deciziilor


care sunt imposibile și combinarea cazurilor de test duble.

• Pasul 5: Dacă este necesar, descrierea în limbaj natural a


cazurilor de test.
Testarea folosind tabele de decizii
Testarea folosind tabele de decizii, Exemplu 1
Studiu de caz - Modelarea regulilor prin Tabel de Decizie

Soluția: Societatea Eudorada prestează servicii de reparare a imprimantelor.


Atunci cînd este apelată de un client prin telefon, tehnicianul formulează
următoarele întrebări:
∙ Imprimanta nu printează? ;
∙ Semnal luminos roșu intermitent?;
∙ Imprimanta nu este recunoscută de PC?
Premisa: În conformitate cu răspunsurile clientului tehnicianul va înainta unele
acțiuni pentru rezolvarea problemei sau dacă problema nu se rezolvă
imprimanta va fi adusă pentru reparație la Societatea Eudorada.
Acțiuni:
∙ Controlați cablul de alimentare;
∙ Controlați cablul imprimanta-PC;
∙ Controlați prezența driverelor;
∙ Controlați/schimbați cerneala;
∙ Hîrtie blocată.
Testarea folosind tabele de decizii
Condiții R1 R2 R3 … … R8
Imprimanta nu printează? A A A
Semnal luminos roșu F F A
intermitent?
Imprimanta nu este F A F
recunoscută de PC?
Acțiuni
Controlați cablul de
alimentare;
Controlați cablul imprimanta-
PC;
Controlați prezența driverelor; +
Controlați/schimbați cerneala; +
Hîrtie blocată. + +

Fiecare regulă reprezintă un test


Testarea folosind tabele de decizii, Exemplu
2
Condiții Regula 1 Regula 2 Regula 3 Regula 4
Rezident în UK? T T T T
Vârsta între 18-55 Nu F T T
ani? contează
Fumător? Nu Nu F T
contează contează
Acțiuni
Client asigurat F F T T
Se oferă 10% F F T F
reducere

Care este rezultatul așteptat pentru urmatoarele cazuri de test?


1. Jack este un fumător în vârstă de 32 ani rezident în Londra.
2. Michel este un nefumător rezident în Paris.
3. Fred este un tînăr de 25 ani rezident în Manchester nefumator.
4. Alice este o tînără de 17 ani din Southampton fumătoare.
Testarea folosind tranziția stărilor

• Sistemul este reprezentat printr-o diagramă de


tranziție a stărilor;
• Stările sistemului sunt finite și identificabile.
Testarea folosind tranziția stărilor- Exemplu
1

Nume-utilizator
Închidere
aplicație
Start Parolă greșită

1 - Înc. 2 - Înc. 3 - Înc. 4 - Înc.

Parolă Acces
corectă
Testarea folosind tranziția stărilor- Exemplu
1
Tabelul de stări
Parolă Parolă
corectă incoretă
S1 Start S6 S2
S2 1 - Încercare S6 S3
S3 2 – Încercare S6 S4
S4 3 – Încercare S6 S5
S5 4 – Încercare S6 S7
S6 Acces ? ?
S7 Închidere alicație - -
Testarea folosind tranziția stărilor- Exemplu
2
Testarea folosind cazuri de utilizare
• Teste specificate în cazuri de utilizare sau scenarii
business;
• Un caz de utilizare descrie interacțiunea între actori,
utilizatori și sistem, ce produce un rezultat cu o
anumită valoare pentru utilizator;

Fiecare caz de test :


Precondiții;
Postcondiții;

Se utilizează în cadrul de testare de acceptanta și de


integrare
Testarea folosind cazuri de utilizare

Un scenariu de Descriere
Pașii
succes
1 A: Introduce cardul
2 S: Validează cardul și cere PIN-ul
A: Actor
3 A: Introduce PIN-ul
S: Sistemul
4 S: Validează PIN-ul
5 S: Oferă acces către cont
Cardul nu e valabil
2a
S: Afișează mesaj și respinge cardul
PIN-ul nu este valabil
Extindere 4a S: Afișează mesaj și cere re-introducere
PIN
PIN invalid - 3 încercări
4b
S: Blochează cardul și ieșire
Bibliografie:
1. Stegaru Georgiana- MPI, ”Tehnici de proiectare a
testelor”, Bit Defender Romania;
2. Software Testing, An ISTQB- ISEB, Foundation Guide,
Second Edition, Brian Hambling, 2010 British
Informatics Society Limited.
3. Jerome Boyer & Hafedh Mili, Agile Business Rule
Development: Process, Architecture, and JRules
Examples Hardcover – April 6, 2011
4. https://www.youtube.com/watch?v=ijtvAvapsP0
5. http://istqbexamcertification.com/what-is-use-case-testi
ng-in-software-testing/
6. http://www.guru99.com/software-testing-techniques-2.ht
ml
7. https://www.youtube.com/watch?v=iQwn_jBQ39k
8. http://martinfowler.com/ieeeSoftware/accChange.pdf

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