TEHNICI DE TESTARE Software Flashcards

1
Q

Ce tehnici generale de testare sunt folosite?

A

White Box Testing,
Black Box Testing,
Gray Box Testing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

White Box Testing

Ce este White Box Testing și care sunt obiectivele sale principale?

A

Este o tehnică de testare care verifică logica internă și structura codului.

Obiectivele includ:
* validarea fluxurilor logice,
* acoperirea condițiilor și
* creșterea securității.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

White Box Testing

Care sunt tipurile de acoperire utilizate în White Box Testing?

A
  • Acoperirea instrucțiunilor (Statement Coverage)
  • Acoperirea deciziilor (Decision Coverage)
  • Acoperirea condițiilor multiple (Condition Coverage)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

White Box Testing

Când se folosește White Box Testing?

A

Este folosit în general de dezvoltatori pentru testarea unităților (Unit Testing) înainte ca software-ul să fie predat echipei de testare.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

White Box Testing

Ce abilități sunt necesare pentru White Box Testing?

A

Cunoștințe de programare, înțelegerea logicii codului și familiaritatea cu instrumentele de testare precum JUnit sau NUnit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

White Box Testing

Care sunt avantajele White Box Testing?

A

Consolidarea securității software-ului și verificarea logicii interne.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Black Box Testing

Ce este Black Box Testing și care sunt tehnicile asociate?

A

Este o tehnică care testează funcționalitățile software fără a cunoaște logica internă.

Tehnici utilizate:
* Partiționarea clasei de echivalență
* Analiza valorii limită
* Testarea bazată pe tabelul de decizii
* Tranziția de stare
* Ghicitul erorii

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Black Box Testing

Care sunt avantajele Black Box Testing?

A
  • Nu necesită cunoștințe de programare.
  • Este orientat către utilizatorul final.
  • Detectează probleme legate de interfața utilizatorului și cerințele funcționale.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Black Box Testing

Dă un exemplu de utilizare a tehnicii de partiționare a clasei de echivalență.

A

Testarea unui câmp care acceptă valori între 1 și 100:
* Clasa validă: [1-100]
* Clase invalide: <1, >100

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Black Box Testing

Când nu este recomandată utilizarea Black Box Testing?

A

Pentru validarea logicii interne sau detectarea problemelor de performanță și securitate.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Gray Box Testing

Ce este Gray Box Testing și în ce situații este utilizat?

A

Este o tehnică care combină elemente din White Box și Black Box Testing.

Este utilizată atunci când testerul are cunoștințe parțiale despre structura internă a aplicației, cum ar fi accesul la baza de date sau API-uri.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Gray Box Testing

Cum diferă Gray Box Testing de celelalte două tipuri?

A
  • White Box: Cunoaștere completă a structurii interne.
  • Black Box: Fără acces la logica internă.
  • Gray Box: Cunoaștere parțială, utilizată pentru a proiecta teste mai eficiente.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Gray Box Testing

Dă un exemplu de utilizare a Gray Box Testing.

A

Testarea unui sistem de autentificare:
Introducerea de date valide și verificarea fluxului (Black Box).
Verificarea logurilor pentru validarea procesului de autentificare (White Box).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Gray Box Testing

Care sunt avantajele și dezavantajele Gray Box Testing?

A
  • Avantaje: Asigură o acoperire mai mare decât Black Box Testing, detectează defecte mai complexe.
  • Dezavantaje: Necesită cunoștințe tehnice moderate și acces parțial la structură.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

White Box, Black Box și Gray Box Testing

Care sunt diferențele dintre White Box, Black Box și Gray Box Testing?

A

White Box se concentrează pe structura internă, Black Box pe cerințele funcționale, iar Gray Box combină ambele.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

White Box, Black Box și Gray Box Testing

Cum alegi între aceste tehnici într-un proiect?

A

Alegerea depinde de:
* Tipul cerințelor (funcționale sau non-funcționale).
* Gradul de acces la codul sursă.
* Etapa de testare (ex.: White Box pentru Unit Testing, Black Box pentru Acceptance Testing).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

White Box, Black Box și Gray Box Testing

Ce tipuri de defecte pot fi identificate cu fiecare tehnică?

A
  • White Box: Probleme logice, bucle infinite, erori de securitate.
  • Black Box: Probleme funcționale, erori de interfață.
  • Gray Box: Probleme la intersecția funcționalităților interne și externe.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Care sunt cele mai importante tehnici de testare software folosite în Black Box Testing?

A

1. Partiționarea Clasei de Echivalență (Equivalence Partitioning)
Descriere: Împarte datele de intrare în clase de echivalență pentru a reduce numărul de cazuri de testare.
Beneficii: Optimizează eforturile de testare prin selectarea unui set reprezentativ de date.

2. Analiza Valorii Limită (Boundary Value Analysis - BVA)
Descriere: Testează limitele superioare și inferioare ale domeniilor de date.
Beneficii: Detectează defecte în punctele critice, unde apar frecvent erorile.

3. Testarea Bazată pe Tabelul de Decizii (Decision Table Testing)
Descriere: Utilizează un tabel pentru a determina ieșirile sistemului în funcție de combinații de condiții și decizii.
Beneficii: Asigură o acoperire completă a scenariilor de intrare și decizie.

4. Tranziția de Stare (State Transition Testing)
Descriere: Verifică comportamentul software-ului în funcție de schimbările de stare, cum ar fi activarea sau dezactivarea funcțiilor.
Beneficii: Este ideală pentru sisteme cu fluxuri complexe de lucru.

5. Ghicirea Erorilor (Error Guessing)
Descriere: Testerii anticipează erori probabile pe baza experienței și intuiției lor.
Beneficii: Completează alte tehnici de testare prin identificarea defectelor neașteptate.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Partiționarea Clasei de Echivalență (Equivalence Partitioning)

Ce este Partiționarea Clasei de Echivalență?

A

Este o tehnică de proiectare a testelor utilizată pentru a reduce numărul de cazuri de testare. Domeniul de intrări valide și invalide este împărțit în clase, iar un caz de testare este ales din fiecare clasă pentru a reprezenta întreaga categorie.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Partiționarea Clasei de Echivalență (Equivalence Partitioning)

Cum funcționează Partiționarea Clasei de Echivalență?

A

Domeniul de valori de intrare este împărțit în:
* Clase valide: Valori acceptabile care ar trebui să fie procesate corect.
* Clase invalide: Valori care nu respectă cerințele și ar trebui să declanșeze erori.
* Câte un caz de testare este selectat din fiecare clasă pentru a verifica comportamentul sistemului.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Partiționarea Clasei de Echivalență (Equivalence Partitioning)

Care sunt avantajele utilizării Partiționării Clasei de Echivalență?

A
  • Reduce numărul total de cazuri de testare.
  • Crește eficiența procesului de testare.
  • Ajută la identificarea rapidă a defectelor din fiecare clasă de intrări.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Partiționarea Clasei de Echivalență (Equivalence Partitioning)

Dă un exemplu practic de utilizare a Partiționării Clasei de Echivalență.

A

Testarea unui câmp numeric care acceptă valori între 1 și 100:
* Clasa validă: Valori între 1 și 100 (ex.: 50).
* Clase invalide: Valori mai mici de 1 (ex.: -5) și mai mari de 100 (ex.: 150).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Partiționarea Clasei de Echivalență (Equivalence Partitioning)

Cum diferențiați Partiționarea Clasei de Echivalență de Analiza Valorii Limită (Boundary Value Analysis)?

A
  • Partiționarea Clasei de Echivalență: Se concentrează pe selectarea unui caz de testare reprezentativ din fiecare clasă (validă sau invalidă).
  • Analiza Valorii Limită: Testează punctele de la limitele intervalelor de intrare (ex.: 1 și 100 pentru un interval valid).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Partiționarea Clasei de Echivalență (Equivalence Partitioning)

Care sunt limitările Partiționării Clasei de Echivalență?

A
  • Poate să nu detecteze toate defectele, mai ales cele care apar la limite.
  • Necesită o înțelegere clară a domeniului de intrare și a cerințelor.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Partiționarea Clasei de Echivalență (Equivalence Partitioning)

Este Partiționarea Clasei de Echivalență aplicabilă doar în Black Box Testing?

A

Deși este utilizată în principal în Black Box Testing, poate fi aplicată și în alte contexte, cum ar fi validarea funcționalităților complexe într-un model Gray Box.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Partiționarea Clasei de Echivalență (Equivalence Partitioning)

Cum selectați cazurile de testare pentru Partiționarea Clasei de Echivalență?

A

Aleg un caz reprezentativ pentru fiecare clasă de echivalență identificată, asigurându-mă că acoper atât clasele valide, cât și pe cele invalide.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Partiționarea Clasei de Echivalență (Equivalence Partitioning)

Ce se întâmplă dacă un sistem are mai multe câmpuri de intrare?

A

Fiecare câmp este tratat individual, iar clasele de echivalență sunt create separat pentru fiecare câmp. În cazul în care există interdependențe, acestea trebuie luate în considerare.

28
Q

Partiționarea Clasei de Echivalență (Equivalence Partitioning)

Dă un exemplu de defect identificat prin Partiționarea Clasei de Echivalență.

A

Un câmp numeric care acceptă valori între 1 și 100 permite accidental introducerea valorii 0. Acest defect este detectat testând clasa invalidă < 1.

29
Q

Partiționarea Clasei de Echivalență (Equivalence Partitioning)

Cum gestionezi cazurile în care o clasă de echivalență este greu de definit?

A

În cazul în care limitele sau structura unei clase de echivalență sunt greu de definit, procedez astfel:
* Consult cerințele detaliate: Revizuiesc documentația pentru a înțelege cerințele specifice.
* Discut cu echipa de dezvoltare sau de analiză de business: Dacă documentația este ambiguă, o discuție cu colegii ajută la clarificare.
* Utilizez tehnici complementare: Dacă o clasă de echivalență rămâne neclară, folosesc Analiza Valorii Limită sau Ghicirea Erorii pentru a crea cazuri de testare suplimentare, acoperind cât mai multe scenarii potențiale.

30
Q

Partiționarea Clasei de Echivalență (Equivalence Partitioning)

Cum verifici dacă o clasă de echivalență acoperă corect toate posibilele intrări?

A

Pentru a mă asigura că toate clasele de echivalență sunt corect definite și că toate cazurile posibile sunt acoperite:
* Verific și clasific toate posibilele domenii de intrare: Revizuiesc toate câmpurile și valorile așteptate pentru a crea clase distincte.
* Gruparea după validitate: Împart în clase valide și invalide și mă asigur că fiecare categorie de valori este acoperită.
* Verific dublu limitele intervalelor: Mă asigur că fiecare clasă de echivalență include doar valorile din intervalul său specificat, fără suprapuneri sau omisiuni.
* Testare în paralel cu un alt coleg: Cer unui coleg să revizuiască cazurile pentru a valida acuratețea și completitudinea claselor de echivalență.

31
Q

Partiționarea Clasei de Echivalență (Equivalence Partitioning)

Cum combini Partiționarea Clasei de Echivalență cu alte tehnici de testare, cum ar fi Tranziția de Stare sau Ghicirea Erorii?

A

Integrarea Partiționării Clasei de Echivalență cu alte tehnici maximizează acoperirea testării și eficiența identificării defectelor:
* Cu Tranziția de Stare: Testele de tranziție de stare sunt utilizate pentru a verifica dacă sistemul se comportă corect la schimbările de stare. Partiționarea clasei de echivalență este aplicată pentru a testa intrările din fiecare stare, reprezentând clase de tranziție valide și invalide.
* Cu Ghicirea Erorii: Utilizând Ghicirea Erorii alături de Partiționarea Clasei de Echivalență, identific scenarii atipice și creez cazuri de testare care acoperă ipotezele comune de defecte (ex.: valori neobișnuite în cadrul unei clase de echivalență invalide).
* Cu Analiza Valorii Limită: După ce identific clasele de echivalență, folosesc Analiza Valorii Limită pentru a verifica punctele de la limitele fiecărei clase. Astfel, îmbunătățesc acoperirea prin testarea atât a reprezentanților, cât și a limitelor fiecărui interval.
*

32
Q

Analiza Valorii Limită (Boundary Value Analysis - BVA)

Ce este Analiza Valorii Limită?

A

Este o tehnică de testare utilizată pentru a identifica defectele prin testarea valorilor de la limitele intervalelor de intrare valide și invalide. Se bazează pe faptul că erorile sunt mai probabile la limitele unui interval decât în interiorul acestuia.

33
Q

Analiza Valorii Limită (Boundary Value Analysis - BVA)

Cum funcționează Analiza Valorii Limită?

A

Testele sunt proiectate pentru a verifica:
* Limita inferioară a domeniului valid: Valoarea minimă permisă.
* Limita superioară a domeniului valid: Valoarea maximă permisă.
* Valori imediat sub și peste limite: Pentru a valida comportamentul în cazurile invalide.

34
Q

Analiza Valorii Limită (Boundary Value Analysis - BVA)

Dă un exemplu practic de Analiză a Valorii Limită.

A

Dacă un câmp numeric acceptă valori între 1 și 100:
* Testăm: 0 (sub limita inferioară), 1 (limita inferioară), 100 (limita superioară), 101 (peste limita superioară).
* Așteptăm erori pentru 0 și 101 și comportament corect pentru 1 și 100.

35
Q

Analiza Valorii Limită (Boundary Value Analysis - BVA)

Cum se aplică Analiza Valorii Limită în testarea funcțională?

A

Este utilizată pentru a valida funcționalitatea specificată în cerințe, verificând dacă sistemul procesează corect valorile de la limitele intervalelor specificate. De exemplu, pentru validarea intrărilor dintr-un formular.

36
Q

Analiza Valorii Limită (Boundary Value Analysis - BVA)

Care sunt avantajele Analizei Valorii Limită?

A
  • Detectează defectele apărute la marginea domeniilor de intrare.
  • Reduce numărul de cazuri de testare fără a compromite acoperirea testelor.
  • Este simplu de implementat și eficientă în detectarea defectelor critice.
37
Q

Analiza Valorii Limită (Boundary Value Analysis - BVA)

Cum diferențiezi Analiza Valorii Limită de Partiționarea Clasei de Echivalență?

A
  • Analiza Valorii Limită: Se concentrează pe testarea valorilor de la limitele unui interval.
  • Partiționarea Clasei de Echivalență: Se concentrează pe selectarea reprezentanților din fiecare clasă de intrări valide și invalide.
38
Q

Analiza Valorii Limită (Boundary Value Analysis - BVA)

Care sunt limitările Analizei Valorii Limită?

A
  • Funcționează bine pentru valori numerice sau continue, dar este mai puțin utilă pentru date discrete sau categorice.
  • Nu detectează erorile care apar în interiorul intervalelor, decât dacă sunt combinate cu alte tehnici (ex.: Partiționarea Clasei de Echivalență).
39
Q

Analiza Valorii Limită (Boundary Value Analysis - BVA)

Este Analiza Valorii Limită utilizabilă în toate tipurile de testare?

A

Este utilizată în principal în Black Box Testing, dar poate fi aplicată și în alte tipuri de testare, cum ar fi Gray Box Testing, dacă testerul are o înțelegere parțială a logicii interne.

40
Q

Analiza Valorii Limită (Boundary Value Analysis - BVA)

Ce se întâmplă dacă există mai multe limite de testat simultan?

A

Pentru cazuri cu mai multe câmpuri de intrare, fiecare limită este testată separat. Dacă există interdependențe, se creează scenarii complexe pentru a verifica combinațiile limitelor.

41
Q

Analiza Valorii Limită (Boundary Value Analysis - BVA)

Cum combini Analiza Valorii Limită cu alte tehnici de testare?

A

Analiza Valorii Limită poate fi combinată cu:
* Partiționarea Clasei de Echivalență: Pentru a selecta cazuri reprezentative din interiorul fiecărui interval.
* Ghicirea Erorii: Pentru a include testele care vizează valori neașteptate.
* Testarea Exploratorie: Pentru a descoperi comportamente neașteptate la limite.

42
Q

Analiza Valorii Limită (Boundary Value Analysis - BVA)

Dă un exemplu de defect identificat prin Analiza Valorii Limită.

A

Dacă un câmp numeric pentru vârstă acceptă valori între 18 și 65:
Testând valoarea 17 (sub limita inferioară), sistemul permite introducerea acesteia. Acest defect ar putea duce la erori în procesarea ulterioară.

43
Q

Analiza Valorii Limită (Boundary Value Analysis - BVA)

Cum tratezi valorile limite pentru date complexe, cum ar fi șiruri de caractere?

A

Se testează limitele de lungime (ex.: 0 caractere, numărul maxim permis de caractere) și combinațiile neobișnuite (ex.: caractere speciale sau nepermise) pentru a verifica validarea și manipularea corectă a datelor.

44
Q

Testarea Bazată pe Tabelul de Decizii (Decision Table Testing)

Care este scopul principal al testării bazate pe tabelul de decizii?

A

Identifică toate combinațiile posibile de intrări și rezultate așteptate pentru a asigura o acoperire completă a testelor.

45
Q

Testarea Bazată pe Tabelul de Decizii (Decision Table Testing)

Ce avantaje oferă tabelele de decizie în procesul de testare?

A

Asigură o acoperire completă a testelor, îmbunătățește claritatea și organizarea cazurilor de test și facilitează reutilizarea.

46
Q

Testarea Bazată pe Tabelul de Decizii (Decision Table Testing)

Când este recomandată utilizarea testării bazate pe tabelul de decizii?

A

Atunci când sistemul are o logică complexă cu multiple condiții și rezultate.

47
Q

Testarea Bazată pe Tabelul de Decizii (Decision Table Testing)

Care sunt principalele provocări asociate cu această tehnică?

A

Complexitatea tabelelor pentru sisteme mari și dificultatea de a gestiona un număr mare de cazuri de test.

48
Q

Testarea Bazată pe Tabelul de Decizii (Decision Table Testing)

Care sunt cele mai frecvente erori de evitat atunci când construim tabele de decizie?

A

Erori comune:
* Omisiunea unor combinații de condiții.
* Definirea incompletă a acțiunilor.
* Ambiguități în interpretarea condițiilor.
* Inconsecvențe între tabel și cerințele funcționale.

Prevenire:
* Revizuirea atentă a tabelelor de către mai multe persoane.
* Utilizarea unor instrumente de verificare a integrității tabelelor.
* Documentarea clară a condițiilor și acțiunilor.

49
Q

Testarea Bazată pe Tabelul de Decizii (Decision Table Testing)

Ce tipuri de tabele de decizii există?

A

Există două tipuri principale de tabele de decizii:

Tabele de decizii simplificate: Acestea sunt folosite atunci când există un număr mic de condiții și acțiuni, iar combinațiile sunt mai ușor de gestionat.

Tabele de decizii complexe: Acestea sunt utilizate atunci când există un număr mare de condiții și acțiuni, ceea ce poate duce la o combinație de condiții mai complexă. Aceste tabele necesită mai multă atenție la crearea și gestionarea lor.

50
Q

Testarea Bazată pe Tabelul de Decizii (Decision Table Testing)

Care sunt cele mai utilizate instrumente pentru a crea și gestiona tabele de decizie?

A

Instrumente specializate:
SpecFlow, Cucumber, Gherkin: Aceste instrumente sunt utilizate în principal pentru testarea bazată pe comportament (BDD) și permit crearea de tabele de decizie în format Gherkin, care este ușor de citit atât de testeri, cât și de oameni de afaceri.
AccelQ: O platformă de automatizare a testelor AI-driven care oferă suport pentru tabele de decizie și permite crearea de teste complexe într-un mod vizual.
Tosca Testsuite: O platformă de testare software cu suport pentru tabele de decizie, care permite gestionarea complexă a cazurilor de test și integrarea cu diverse alte instrumente.

Instrumente de gestionare a testelor:
TestRail, Zephyr: Aceste instrumente oferă funcționalități pentru gestionarea întregului ciclu de viață al testelor, inclusiv crearea și executarea testelor bazate pe tabele de decizie.

Foile de calcul:
Microsoft Excel, Google Sheets: Deși nu sunt specializate pentru tabele de decizie, pot fi utilizate pentru crearea de tabele simple și gestionarea unui număr mic de cazuri de test.

51
Q

Testarea Bazată pe Tabelul de Decizii (Decision Table Testing)

Cum se aplică Testarea Bazată pe Tabelul de Decizii într-un proiect real?

A

Într-un proiect real, procesul implică:

  1. Identificarea condițiilor și acțiunilor relevante din cerințele aplicației.
  2. Crearea unui tabel de decizii care să includă toate combinațiile de condiții și acțiuni posibile.
  3. Generarea cazurilor de testare pe baza tabelului, asigurându-se că fiecare combinație de condiții este testată.
  4. Executarea testelor pentru a valida că sistemul se comportă conform așteptărilor în toate cazurile definite.
52
Q

Testarea Bazată pe Tabelul de Decizii (Decision Table Testing)

Care sunt limitările Testării Bazate pe Tabelul de Decizii?

A

Complexitatea tabelelor mari: Pe măsură ce numărul de condiții și acțiuni crește, tabelele devin mai mari și mai greu de gestionat. Acest lucru poate duce la un număr mare de cazuri de testare, care pot fi dificile de acoperit complet.

Posibilitatea de a omite condiții: În cazul tabelelor mari, există riscul să nu includem toate combinațiile posibile de condiții, ceea ce poate duce la lipsa unor scenarii critice de testare.

Mai mult timp necesar pentru a crea tabele complexe: Crearea și gestionarea tabelelor de decizii poate fi un proces consumator de timp, mai ales pentru sisteme cu logici complexe.

53
Q

Tranziția de Stare (State Transition Testing)

Ce reprezintă tehnica de testare a Tranziției de Stare?

A

Tranziția de Stare este o tehnică de testare Black Box utilizată pentru a verifica comportamentul unui sistem bazat pe stări și tranzițiile dintre acestea. Se concentrează pe cum reacționează sistemul la diferite intrări în funcție de starea sa curentă.

54
Q

Tranziția de Stare (State Transition Testing)

Care sunt elementele esențiale ale unui model de tranziție de stare?

A

Componentele principale includ:

Stări: Condiții distincte în care se poate afla sistemul.
Tranziții: Schimbările dintre stări cauzate de un eveniment.
Evenimente: Acțiuni sau intrări care determină o tranziție.
Acțiuni: Activități executate în timpul unei tranziții.

55
Q

Tranziția de Stare (State Transition Testing)

Când se utilizează Tranziția de Stare în testare?

A

Se utilizează în următoarele cazuri:

  • Când cerințele implică o logică complexă bazată pe stări.
  • Pentru a testa fluxuri de lucru complexe, precum mașini de stări finite.
  • În aplicații precum sisteme bancare, dispozitive ATM sau controlul accesului.
56
Q

Tranziția de Stare (State Transition Testing)

Cum se creează un caz de testare folosind Tranziția de Stare?

A

Pași pentru a crea un caz de testare:

  1. Identifică toate stările posibile ale sistemului.
  2. Determină evenimentele și tranzițiile dintre stări.
  3. Construiește un tabel sau o diagramă de tranziție de stare.
  4. Crează cazuri de testare care acoperă toate tranzițiile și combinațiile relevante de stări.
57
Q

Tranziția de Stare (State Transition Testing)

Care sunt avantajele Tranziției de Stare?

A

Acoperire completă: Toate stările și tranzițiile sunt validate.
Testare sistematică: Identifică defectele legate de secvențele incorecte de stări.
Vizualizare clară: Utilizează diagrame ușor de înțeles.
Detectează probleme neașteptate: Cum ar fi tranzițiile imposibile sau stări inaccesibile.

58
Q

Tranziția de Stare (State Transition Testing)

Care sunt limitările testării bazate pe tranziția de stare?

A
  • Complexitate ridicată: Pentru sisteme cu multe stări și tranziții, modelarea devine dificilă.
  • Necesar de expertiză: Necesită o bună înțelegere a sistemului pentru a identifica toate stările și tranzițiile.
  • Nu este potrivită pentru toate sistemele: Este relevantă doar pentru aplicațiile bazate pe stări.
59
Q

Tranziția de Stare (State Transition Testing)

Dă un exemplu de testare bazată pe Tranziția de Stare.

A

Exemplu:
Un sistem ATM are două stări principale: Blocată și Deblocată.

Eveniment: Introducerea unui PIN corect.
*Tranziție: *De la starea Blocată la Deblocată.

Eveniment: Introducerea unui PIN greșit de trei ori.
Tranziție: Rămâne în starea Blocată.

Cazurile de testare validează toate combinațiile posibile de intrări și stări pentru a verifica tranzițiile corecte.

60
Q

Ghicirea Erorilor (Error Guessing)

Ce este tehnica Ghicirea Erorilor?

A

Ghicirea Erorilor este o metodă de testare Black Box în care testerii, bazându-se pe experiență și intuiție, identifică erorile posibile, fără a urma un set fix de reguli.

61
Q

Ghicirea Erorilor (Error Guessing)

Ce cunoștințe trebuie să aibă un tester pentru a aplica Ghicirea Erorilor?

A
  • Experiență cu defectele din proiectele anterioare.
  • Înțelegerea sistemului testat și a comportamentului utilizatorilor.
  • Abilitatea de a anticipa unde ar putea apărea erori.
62
Q

Ghicirea Erorilor (Error Guessing)

Când ar trebui să aplici Ghicirea Erorilor?

A
  • Când timpul este limitat și nu există scenarii detaliate de testare.
  • Pentru a descoperi defecte neașteptate sau scenarii rare.
  • Ca tehnică complementară la alte metode de testare.
63
Q

Ghicirea Erorilor (Error Guessing)

Dă un exemplu practic de utilizare a Ghicirii Erorilor.

A

Într-o aplicație de autentificare, testezi:

  • Parole goale sau cu caractere speciale.
  • Nume de utilizator prea lungi.
  • Date invalide, cum ar fi litere într-un câmp numeric.
64
Q

Ghicirea Erorilor (Error Guessing)

Care sunt avantajele acestei tehnici?

A
  • Este rapidă și flexibilă.
  • Identifică defecte neașteptate.
  • Poate acoperi zone pe care alte metode le ratează.
65
Q

Ghicirea Erorilor (Error Guessing)

Care sunt dezavantajele Ghicirii Erorilor?

A
  • Depinde de experiența testerului, ceea ce poate duce la rezultate inconstante.
  • Nu asigură acoperirea completă a sistemului.
  • Este dificil de aplicat în proiecte mari fără alte metode suplimentare.
66
Q

Ghicirea Erorilor (Error Guessing)

Cum îmbunătățești eficiența acestei tehnici?

A
  • Folosește lecții învățate din defectele anterioare.
  • Colaborează cu experți pentru a identifica riscurile.
  • Combină cu alte tehnici, precum analiza valorii limită.