Testarea cutiei albe
White Box Testing este o tehnică de testare software în care structura internă, proiectarea și codificarea software-ului sunt testate pentru a verifica fluxul de intrare-ieșire și pentru a îmbunătăți proiectarea, utilizabilitatea și securitatea. În testarea cutiei albe, codul este vizibil testerilor, așa că este numit și testarea casetei clare, testarea casetei deschise, testarea casetelor transparente, testarea bazată pe cod și testarea casetelor din sticlă
Este una dintre cele două părți ale abordării Box Testing pentru testarea software-ului. Omologul său, testarea Blackbox, implică testarea dintr-o perspectivă de tip extern sau de utilizator final. Pe de altă parte, testarea cutiei albe în ingineria software se bazează pe funcționarea interioară a unei aplicații și se învârte în jurul testării interne.
Termenul „WhiteBox” a fost folosit din cauza conceptului de cutie transparentă. Caseta liberă sau numele WhiteBox simbolizează capacitatea de a vedea prin învelișul exterior al software-ului (sau „caseta”) în funcționarea sa interioară. La fel, „cutia neagră” din „Testarea cutiei negre” simbolizează faptul că nu puteți vedea funcționarea interioară a software-ului, astfel încât să poată fi testată doar experiența utilizatorului final.
În acest tutorial de testare a cutiei albe, veți învăța-
- Ce este testarea cutiei albe?
- Ce verificați în Testarea cutiei albe?
- Cum efectuați testarea White Box?
- Exemplu de testare WhiteBox
- Tehnici de testare a cutiei albe
- Tipuri de testare a cutiei albe
- Instrumente de testare a cutiei albe
- Avantajele testării cutiei albe
- Dezavantaje ale testării WhiteBox
Ce verificați în Testarea cutiei albe?
Testarea cutiei albe implică testarea codului software pentru următoarele:
- Găuri de securitate interne
- Căi rupte sau slab structurate în procesele de codificare
- Fluxul de intrări specifice prin cod
- Ieșire preconizată
- Funcționalitatea buclelor condiționate
- Testarea fiecărei afirmații, obiect și funcție în mod individual
Testarea poate fi făcută la nivel de sistem, integrare și unitate de dezvoltare software. Unul dintre obiectivele de bază ale testării cutiei albe este de a verifica fluxul de lucru pentru o aplicație. Aceasta implică testarea unei serii de intrări predefinite împotriva ieșirilor așteptate sau dorite, astfel încât atunci când o intrare specifică nu are ca rezultat ieșirea așteptată, să întâlniți o eroare.
Faceți clic aici dacă videoclipul nu este accesibil
Cum efectuați testarea White Box?
Pentru a vă oferi o explicație simplificată a testării cutiei albe, am împărțit-o în doi pași de bază . Iată ce fac testerii atunci când testează o aplicație folosind tehnica de testare a cutiei albe:
PASUL 1) ÎNȚELEGI CODUL SURSEI
Primul lucru pe care un tester îl va face adesea este să învețe și să înțeleagă codul sursă al aplicației. Deoarece testarea cutiei albe implică testarea funcționării interioare a unei aplicații, testerul trebuie să fie foarte bine informat în limbajele de programare utilizate în aplicațiile pe care le testează. De asemenea, persoana care testează trebuie să fie foarte conștientă de practicile de codificare sigure. Securitatea este adesea unul dintre obiectivele principale ale testării software-ului. Testerul ar trebui să poată găsi probleme de securitate și să prevină atacurile hackerilor și utilizatorilor naivi care ar putea injecta cod rău intenționat în aplicație, fie în cunoștință de cauză, fie fără să știe.
Pasul 2) CREAȚI CAZURI DE TEST ȘI EXECUTAȚI
Al doilea pas de bază pentru testarea cutiei albe implică testarea codului sursă al aplicației pentru un flux și o structură adecvate. O modalitate este prin scrierea mai multor coduri pentru a testa codul sursă al aplicației. Testerul va dezvolta mici teste pentru fiecare proces sau serie de procese din aplicație. Această metodă necesită ca testerul să aibă cunoștințe intime despre cod și este adesea realizat de către dezvoltator. Alte metode includ testarea manuală, testarea și testarea erorilor și utilizarea instrumentelor de testare, așa cum vom explica mai departe în acest articol.
Exemplu de testare WhiteBox
Luați în considerare următoarea bucată de cod
Printme (int a, int b) {------------ Printme este o funcțieint rezultat = a + b;Dacă (rezultat> 0)Tipărire („Pozitiv”, rezultat)AltfelTipărire („Negativ”, rezultat)} ----------- Sfârșitul codului sursă
Scopul testării WhiteBox în ingineria software este de a verifica toate ramurile de decizie, buclele, declarațiile din cod.
Pentru a exercita afirmațiile din exemplul de testare a casetei albe de mai sus, ar fi cazurile de testare WhiteBox
- A = 1, B = 1
- A = -1, B = -3
Tehnici de testare a cutiei albe
O tehnică majoră de testare a cutiei albe este analiza acoperirii codului. Analiza acoperirii codului elimină golurile dintr-o suită de teste. Identifică domeniile unui program care nu sunt exercitate de un set de cazuri de testare. Odată identificate lacunele, creați cazuri de testare pentru a verifica părțile netestate ale codului, crescând astfel calitatea produsului software
Există instrumente automate disponibile pentru efectuarea analizei acoperirii codului. Mai jos sunt câteva tehnici de analiză a acoperirii pe care le poate folosi un tester de cutie:
Acoperirea declarației : - Această tehnică necesită ca fiecare declarație posibilă din cod să fie testată cel puțin o dată în timpul procesului de testare a ingineriei software.
Acoperire filială - Această tehnică verifică fiecare cale posibilă (if-else și alte bucle condiționate) a unei aplicații software.
În afară de cele de mai sus, există numeroase tipuri de acoperire, cum ar fi Acoperirea condiției, Acoperirea condițiilor multiple, Acoperirea căii, Acoperirea funcției etc. Fiecare tehnică are propriile sale merite și încearcă să testeze (acoperă) toate părțile codului software. Folosind Declarația și acoperirea sucursalei obțineți, în general, o acoperire de cod de 80-90%, care este suficientă. Următoarele sunt tehnici importante de testare WhiteBox:
- Acoperirea declarației
- Acoperirea deciziei
- Acoperirea sucursalei
- Acoperirea stării
- Acoperire cu condiții multiple
- Acoperirea mașinii de stat finit
- Acoperirea căii
- Testarea debitului de control
- Testarea fluxului de date
Consultați acest articol pentru a afla mai multe detalii https://www.guru99.com/code-coverage.html
Tipuri de testare a cutiei albe
Testarea cutiei albe cuprinde mai multe tipuri de testare utilizate pentru a evalua utilizabilitatea unei aplicații, a unui bloc de cod sau a unui pachet software specific. Sunt enumerate mai jos -
-
Testarea unitară: este adesea primul tip de testare efectuat pe o aplicație. Testarea unitară se efectuează pe fiecare unitate sau bloc de cod pe măsură ce este dezvoltat. Testarea unitară se face în esență de către programator. Ca dezvoltator de software, dezvoltați câteva linii de cod, o singură funcție sau un obiect și îl testați pentru a vă asigura că funcționează înainte de a continua Testarea unitară ajută la identificarea majorității erorilor, la începutul ciclului de viață al dezvoltării software-ului. Bugurile identificate în această etapă sunt mai ieftine și ușor de remediat.
-
Testarea scurgerilor de memorie : Scăderile de memorie sunt cauzele principale ale aplicațiilor care rulează mai lent. Un specialist QA cu experiență în detectarea scurgerilor de memorie este esențial în cazurile în care aveți o aplicație software care rulează lent.
În afară de cele de mai sus, câteva tipuri de testare fac parte atât din testarea cutiei negre, cât și a cutiei albe. Acestea sunt enumerate mai jos
- Testare de penetrare a cutiei albe: În cadrul acestei testări, testerul / dezvoltatorul are informații complete despre codul sursă al aplicației, informații detaliate de rețea, adrese IP implicate și toate informațiile despre server pe care rulează aplicația. Scopul este de a ataca codul din mai multe unghiuri pentru a expune amenințările la adresa securității
- Testarea mutației White Box : Testarea mutației este adesea utilizată pentru a descoperi cele mai bune tehnici de codare pe care să le utilizați pentru extinderea unei soluții software.
Instrumente de testare a cutiei albe
Mai jos este o listă a instrumentelor de testare a cutiei albe.
- Parasoft Jtest
- EclEmma
- NUnit
- PyUnit
- HTMLUnit
- CppUnit
Avantajele testării cutiei albe
- Optimizarea codului prin găsirea erorilor ascunse.
- Cazurile de testare a cutiei albe pot fi ușor automatizate.
- Testarea este mai amănunțită, deoarece toate căile de cod sunt de obicei acoperite.
- Testarea poate începe devreme în SDLC, chiar dacă GUI nu este disponibil.
Dezavantaje ale testării WhiteBox
- Testarea cutiei albe poate fi destul de complexă și costisitoare.
- Dezvoltatorii care execută de obicei cazuri de test cu cutie albă îl detestă. Testarea cutiei albe de către dezvoltatori nu este detaliată poate duce la erori de producție.
- Testarea cutiei albe necesită resurse profesionale, cu o înțelegere detaliată a programării și implementării.
- Testarea cu cutie albă consumă mult timp, aplicațiile de programare mai mari necesită timp pentru a testa complet.
Note finale:
- Testarea cutiei albe poate fi destul de complexă. Complexitatea implicată are mult de-a face cu aplicația testată. O aplicație mică care efectuează o singură operație simplă ar putea fi testată în câteva minute, în timp ce aplicațiile de programare mai mari durează zile, săptămâni și chiar mai mult pentru a fi testate complet.
- Testarea cutiei albe în testarea software-ului ar trebui să se facă pe o aplicație software, deoarece este dezvoltată după ce este scrisă și din nou după fiecare modificare