TEHNICI DE TESTARE Software Flashcards
Ce tehnici generale de testare sunt folosite?
White Box Testing,
Black Box Testing,
Gray Box Testing
White Box Testing
Ce este White Box Testing și care sunt obiectivele sale principale?
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.
White Box Testing
Care sunt tipurile de acoperire utilizate în White Box Testing?
- Acoperirea instrucțiunilor (Statement Coverage)
- Acoperirea deciziilor (Decision Coverage)
- Acoperirea condițiilor multiple (Condition Coverage)
White Box Testing
Când se folosește White Box Testing?
Este folosit în general de dezvoltatori pentru testarea unităților (Unit Testing) înainte ca software-ul să fie predat echipei de testare.
White Box Testing
Ce abilități sunt necesare pentru White Box Testing?
Cunoștințe de programare, înțelegerea logicii codului și familiaritatea cu instrumentele de testare precum JUnit sau NUnit.
White Box Testing
Care sunt avantajele White Box Testing?
Consolidarea securității software-ului și verificarea logicii interne.
Black Box Testing
Ce este Black Box Testing și care sunt tehnicile asociate?
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
Black Box Testing
Care sunt avantajele Black Box Testing?
- 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.
Black Box Testing
Dă un exemplu de utilizare a tehnicii de partiționare a clasei de echivalență.
Testarea unui câmp care acceptă valori între 1 și 100:
* Clasa validă: [1-100]
* Clase invalide: <1, >100
Black Box Testing
Când nu este recomandată utilizarea Black Box Testing?
Pentru validarea logicii interne sau detectarea problemelor de performanță și securitate.
Gray Box Testing
Ce este Gray Box Testing și în ce situații este utilizat?
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.
Gray Box Testing
Cum diferă Gray Box Testing de celelalte două tipuri?
- 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.
Gray Box Testing
Dă un exemplu de utilizare a Gray Box Testing.
Testarea unui sistem de autentificare:
Introducerea de date valide și verificarea fluxului (Black Box).
Verificarea logurilor pentru validarea procesului de autentificare (White Box).
Gray Box Testing
Care sunt avantajele și dezavantajele Gray Box Testing?
- 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ă.
White Box, Black Box și Gray Box Testing
Care sunt diferențele dintre White Box, Black Box și Gray Box Testing?
White Box se concentrează pe structura internă, Black Box pe cerințele funcționale, iar Gray Box combină ambele.
White Box, Black Box și Gray Box Testing
Cum alegi între aceste tehnici într-un proiect?
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).
White Box, Black Box și Gray Box Testing
Ce tipuri de defecte pot fi identificate cu fiecare tehnică?
- 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.
Care sunt cele mai importante tehnici de testare software folosite în Black Box Testing?
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.
Partiționarea Clasei de Echivalență (Equivalence Partitioning)
Ce este Partiționarea Clasei de Echivalență?
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.
Partiționarea Clasei de Echivalență (Equivalence Partitioning)
Cum funcționează Partiționarea Clasei de Echivalență?
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.
Partiționarea Clasei de Echivalență (Equivalence Partitioning)
Care sunt avantajele utilizării Partiționării Clasei de Echivalență?
- 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.
Partiționarea Clasei de Echivalență (Equivalence Partitioning)
Dă un exemplu practic de utilizare a Partiționării Clasei de Echivalență.
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).
Partiționarea Clasei de Echivalență (Equivalence Partitioning)
Cum diferențiați Partiționarea Clasei de Echivalență de Analiza Valorii Limită (Boundary Value Analysis)?
- 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).
Partiționarea Clasei de Echivalență (Equivalence Partitioning)
Care sunt limitările Partiționării Clasei de Echivalență?
- 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.
Partiționarea Clasei de Echivalență (Equivalence Partitioning)
Este Partiționarea Clasei de Echivalență aplicabilă doar în Black Box Testing?
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.
Partiționarea Clasei de Echivalență (Equivalence Partitioning)
Cum selectați cazurile de testare pentru Partiționarea Clasei de Echivalență?
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.