Tehnicile de testare white box si black box

Testare white box

Testarea white box este o tehnica in care tester-ul cunoaste codul sursa al produsului software pe care urmeaza sa-l testeze. Cu ajutorul acestei tehnici, testam de la structura proiectului pana la diverse teste de intrare-iesire din aplicatie (se gasesc sub denumirea de input-output tests, adica testam daca pe baza informatiilor pe care user-ul le introduce, rezultatele sunt corecte si in paramterii stabiliti in documentatia tehnica), testam securitatea produsului software sau alte functionalitati din el. Datorita faptului ca tester-ul are acces la codul sursa, aceasta tehnica mai este denumita si Clear box testing, Open box testing sau chiar Glass box testing.

Invata testare software.

Pentru procesul de testare white box, tester-ul stabileste o lista de scenarii de testare pe baza documentatie tehnice si scrie mai multe tipuri de teste in functie de scenariu. Tipurile de testare cele mai commune sunt: teste de sistem (syste tests), teste de integrare (integration tests), teste la nivel de  unitate (unit tests). Unul dintre cele mai comune scopuri alea testarii white box este acela de a testa automat mecanismul de functionare a unui modul din proiect, a felul in care interactioneaza modulele din proiect intre ele sau a intrului proiect.

Dat fiind faptul ca implica cunoasterea si scrierea de cod, sunt situatii in care si programatorii ajung sa scrie teste de tip white box in procesul de dezvoltare a unui proiect (lucru chiar recomandat). Spre exemplu in tehnologiile de front-end din ziua de azi (Angular, React, Vue, Stencil, etc) se merge pe o arhitectura bazata pe componente, ei bine pentru fiecare componenta in parte se pot scrie mai multe sau mai putine tipuri de teste la nivel de unitate, in functie de context si de complexitatea componentei. Testele de integrare se pot scrie pentru a vedea daca componentele functioneaza impreuna in parametrii optimi, iar in majoritatea situatiilor, testele de sistem raman sa fie scrise de catre testeri.

Aceasta tehnica de testare beneficiaza de o metrica foarte relevanta si utila, anume code coverage, acesta reprezinta procentul de teste automate scrise pentru intregul proiect si cuprinde mai multe tipuri de analize de coverage (statement, analisys,  etc). Se recomanda ca acest procent sa depaseasca 80%.

Testare black box

Tehnica de testare black box, este o tehnica axata mai mult pe testarea produsului final, fara detalii legate de arhitactura, tehnicile si tehnologiile folosite in dezvoltarea aplicatiei si care nu implica cunoasterea codului sursa al proiectului, de catre echipa de testare. Aceasta tehnica se focuseaza pe informatiile pe care le introduce user-ul si rezultatele pe care le primeste (adica input-output). Spre exemplu, putem aplica tehnica black box pe orice produs software, de la sisteme de operare, pana la aplicatii mobile, web, putem testa pe baza unor credentiale daca API-ul de login facut de noi funtioneaza, etc. In general aceasta tehnica se foloseste pe baza unei liste de specificatii sau scenarii de testare. Adica se testeaza scenarile pe care utilizatorul ar urma sa le urmeze pentru a utiliza anumite functionalitati pe care produsul software le poate performa. Astfel testerul poate identifica diverse bug-uri in modul de functionare si le poate raporta mai departe spre echipa de dezvoltare pentru a fi rezolvate.

Sunt mai multe tipuri de testare black box:
• Testare functionala: se refera la testarea functionalitatilor produsului software
• Testare non-functionala: se refera la testarea tuturor celorlalte metrici (performanta, scalabilitate, utilitate)
• Teste de regresie: se efectueaza dupa finalizarea unei functionalitati sau rezolvarea unui bug pentru a se verifica daca nu au fost afectate alte functionalitati ale aplicatiei

Pe langa tehnicile de testare white box si black box, mai exista si asa numita tehnica grey box, care este o combinatie intre cele doua tehnici mai sus mentionate, utila uneori, deoarece nu implica doua procese de testare separate.


Edward Vlad

Related post