Ce este testarea componentelor? Tehnici, exemple de cazuri de testare
โก Rezumat inteligent
Testarea componentelor verificฤ fiecare parte individualฤ a unei aplicaศii รฎn mod independent, fฤrฤ a o integra cu restul, astfel รฎncรขt defectele sฤ fie gฤsite ศi remediate รฎn interiorul unui singur modul รฎnainte de รฎnceperea asamblฤrii.
Ce este testarea componentelor?
Testarea componentelor este un tip de testare software รฎn care testarea este efectuatฤ pe fiecare componentฤ individualฤ separat, fฤrฤ a o integra cu alte componente. Privitฤ din perspectiva arhitecturii, se mai numeศte ศi testarea modulelor, iar unele referinศe o numesc testare de program.
Orice software รฎn ansamblu este alcฤtuit din mai multe componente, iar testarea la nivel de componentฤ se ocupฤ de testarea individualฤ a acelor componente. Este una dintre cele mai frecvente testare cutie neagrฤ tipuri efectuate de echipa de asigurare a calitฤศii.
O notฤ privind denumirea meritฤ fฤcutฤ din timp. Glosarul ISTQB trateazฤ testarea componentelor ศi testarea unitara ca sinonime pentru acelaศi nivel de testare. Multe echipe de livrare, ศi acest articol, pฤstreazฤ cele douฤ diferenศe รฎn practicฤ: dezvoltatorii executฤ teste unitare pe propriul cod, iar testerii executฤ apoi teste de componente pe versiunea livratฤ. Tabelul comparativ de la sfรขrศitul acestui articol prezintฤ aceastฤ distincศie practicฤ.
Dupฤ cum aratฤ diagrama de mai jos, testarea componentelor are propria strategie ศi propriul plan de testare, รฎn care fiecare parte a software-ului sau a aplicaศiei este consideratฤ individual. Pentru fiecare componentฤ, o scenariu de testare este definit, care este apoi รฎmpฤrศit รฎn cazuri de testare de nivel รฎnalt ศi, รฎn final, รฎn cazuri detaliate de nivel scฤzut cazuri de testare cu premise.
Modul รฎn care este utilizat termenul โtestarea componentelorโ variazฤ de la un domeniu la altul ศi de la o organizaศie la alta. Cele mai frecvente motive pentru aceastฤ diferenศฤ de percepศie sunt cele trei de mai jos.
- Tipul de model al ciclului de viaศฤ al dezvoltฤrii ales
- Complexitatea software-ului sau a aplicaศiei testate
- Dacฤ testarea se face cu sau fฤrฤ izolare de celelalte componente din aplicaศie
Ciclul de viaศฤ al testฤrii software produce numeroase artefacte de testare, adicฤ documentele create ศi utilizate รฎn timpul activitฤศilor de testare. Printre acestea se numฤrฤ politica de testare ศi strategia de testare care definesc ce tipuri de testare sunt utilizate ศi cรขt de profundฤ este testarea รฎntr-un anumit proiect.
Cine face testarea componentelor
Testarea componentelor este efectuatฤ de testeri. Testarea unitarฤ este efectuatฤ de dezvoltatori, care testeazฤ o funcศie sau o procedurฤ individualฤ. Dupฤ finalizarea testฤrii unitare, urmeazฤ testarea componentelor, iar testerii รฎศi asumฤ responsabilitatea pentru aceasta.
Cรขnd se efectueazฤ testarea componentelor
Testarea componentelor se efectueazฤ la scurt timp dupฤ ce dezvoltatorii efectueazฤ testarea unitarฤ ศi versiunea este lansatฤ echipei de testare. Aceastฤ versiune este denumitฤ versiune UT sau versiune Unit Testing. Funcศionalitatea principalฤ a fiecฤrei componente este testatฤ รฎn aceastฤ fazฤ.
Criterii de intrare pentru testarea componentelor
- Setul minim de componente care trebuie incluse รฎn versiunea UT a fost dezvoltat ศi testat unitar.
Criterii de ieศire pentru testarea componentelor
- Funcศionalitatea fiecฤrei componente funcศioneazฤ conform specificaศiilor.
- Niciun defect critic, de severitate ridicatฤ sau medie sau de prioritate nu rฤmรขne deschis รฎn jurnal de defecte.
Tehnici de testare a componentelor
Pe baza profunzimii nivelului de testare, testarea componentelor este clasificatฤ รฎn douฤ moduri.
- CTIS โ Testarea componentelor รฎn mici
- CTIL โ Testarea componentelor pe scarฤ largฤ
CTIS โ Testarea componentelor รฎn mici
Testarea componentelor se poate face cu sau fฤrฤ izolare de celelalte componente din aplicaศia testatฤ. Atunci cรขnd este efectuatฤ cu celelalte componente izolate, se numeศte testare a componentelor la scarฤ micฤ.
Exemplu 1: Pe un site web cu cinci pagini web diferite, testarea fiecฤrei pagini web separat ศi izolat de celelalte componente este o testare a componentelor la scarฤ micฤ.
Exemplu 2: Pagina principalฤ guru99.com prezentatฤ mai jos conศine multe componente, cum ar fi Acasฤ, Testare, SAP, Web, Trebuie sฤ รฎnveศi!, Big Data, Proiecte live ศi Blog.
Orice software este alcฤtuit din mai multe componente รฎn acelaศi mod, iar fiecare componentฤ are propriile subcomponente. Testarea fiecฤrui modul enumerat รฎn Exemplul 2 separat, fฤrฤ a lua รฎn considerare integrarea sa cu celelalte componente, este o testare a componentelor la scarฤ micฤ.
Deschiderea meniului derulant Testare dezvฤluie subcomponentele componentei Testare: Testarea manualฤ, SOAPUI, QTP, JUnit, Selenium, Managementul Testelor ศi Testare mobilฤรn captura de ecran de mai jos, acele subcomponente sunt evidenศiate cu roศu.
CTIL โ Testarea componentelor pe scarฤ largฤ
Testarea componentelor efectuatฤ fฤrฤ izolare de celelalte componente din aplicaศia testatฤ se numeศte testare a componentelor pe scarฤ largฤ.
Un exemplu clarificฤ diferenศa. Sฤ presupunem cฤ o aplicaศie este formatฤ din trei componente: Componenta A, Componenta B ศi Componenta C.
Dezvoltatorul a construit Componenta B ศi doreศte sฤ fie testatฤ. Pentru a testa complet Componenta B, o parte din funcศionalitatea sa depinde de Componenta A ศi o parte de Componenta C, aศa cum ilustreazฤ diagrama de mai jos.
Fluxul de funcศionalitฤศi este A โ B โ C, ceea ce รฎnseamnฤ cฤ Componenta B depinde atรขt de A, cรขt ศi de C. รn acest flux, stub-ul este funcศia apelatฤ, iar driverul este funcศia apelantฤ.
Componentele A ศi C nu au fost รฎncฤ dezvoltate. Pentru a testa complet componenta B, A ศi C sunt รฎnlocuite cu un driver ศi un stub, dupฤ cum este necesar, astfel รฎncรขt cele douฤ piese lipsฤ acศioneazฤ ca obiecte fictive pรขnฤ cรขnd cele reale apar.
- Ciot: Un stub este apelat de componenta testatฤ. Componenta C nu este gata, aศa cฤ un stub รฎl รฎnlocuieศte ศi returneazฤ rฤspunsurile aศteptate de B.
- Conducฤtor auto: Un driver apeleazฤ componenta testatฤ. Componenta A nu este gata, aศa cฤ un driver o รฎnlocuieศte ศi invocฤ componenta B cu intrฤrile necesare.
Exemple de cazuri de testare pentru testarea componentelor
Cele douฤ pagini web de mai jos sunt interconectate din punct de vedere funcศional, ceea ce le face o pereche utilฤ de componente de testat.
Pagina web 1 este pagina de conectare a site-ului bancar demonstrativ.
Cรขnd utilizatorul introduce un ID de utilizator ศi o parolฤ valide ศi dฤ clic pe butonul de trimitere, pagina navigheazฤ cฤtre pagina principalฤ a site-ului web al bฤncii demo, afiศatฤ รฎn continuare.
Aici, pagina de conectare este o componentฤ, iar pagina principalฤ este alta. Testarea funcศionalitฤศii fiecฤrei pagini separat este testarea componentelor.
Scenarii de testare a componentelor pe pagina web 1:
- Introduceศi un ID de utilizator nevalid ศi verificaศi dacฤ utilizatorul final afiศeazฤ un avertisment uศor de utilizat.
- Introduceศi un ID de utilizator ศi o parolฤ nevalide, faceศi clic pe Resetare ศi verificaศi dacฤ cรขmpurile pentru ID de utilizator ศi parolฤ sunt golite.
- Introduceศi un nume de utilizator ศi o parolฤ valide ศi faceศi clic pe butonul Autentificare.
Scenarii de testare a componentelor pe pagina web 2:
- Verificaศi dacฤ mesajul de bun venit pentru pagina managerului este afiศat pe pagina principalฤ.
- Verificaศi dacฤ toate linkurile din partea stรขngฤ a paginii web pot fi accesate cu un clic.
- Verificaศi dacฤ ID-ul managerului este afiศat รฎn centrul paginii principale.
- Verificaศi prezenศa celor trei imagini diferite pe pagina principalฤ, conform diagramei.
Testarea unitarฤ vs testarea componentelor
Tabelul de mai jos prezintฤ pe scurt cum diferฤ cele douฤ niveluri รฎn practica de zi cu zi.
| Testarea unitฤศii | Testarea componentelor |
| Testarea programelor ศi modulelor individuale pentru a demonstra cฤ programul se executฤ conform specificaศiilor. | Testarea fiecฤrui obiect sau parte a software-ului separat, cu sau fฤrฤ izolare de alte obiecte. |
| Validat รฎn funcศie de documentele de proiectare. | Validat รฎn funcศie de cerinศele de testare ศi cazurile de utilizare. |
| Realizat de dezvoltatori. | Realizat de testeri. |
| Gata mai รฎntรขi. | Se face dupฤ finalizarea testฤrii unitare la nivelul dezvoltatorilor. |
| Defectele sunt de obicei remediate pe loc ศi nu sunt รฎnregistrate oficial. | Defectele sunt รฎnregistrate ศi tracrezolvate prin procesul de gestionare a defectelor. |






