'Y'

Piramida de Automatizare a Testarii

Piramida de automatizare a testarii propusa de Mike Cohn te poate ajuta sa gasesti cea mai buna abordare pentru automatizarea testarii.

Jul 4, 2019 997
Piramida de automatizare a testarii propusa de Mike Cohn te poate ajuta sa gasesti cea mai buna abordare pentru automatizarea testarii.

Piramida_automatizare_testare.jpg


Abordarea cea mai directa pentru automatizarea testelor este aceea de a lua doar test cases create pentru testarea manuala si de a le automatiza la nivelul interfetei cu utilizatorul (GUI) folosind instrumente precum Selenium. Cu toate acestea, este abordarea cea mai putin eficienta. Testele GUI automate sunt mai lungi, vulnerabile la orice schimbari si greu de intretinut.

Piramida de automatizare a lui Mike Cohn este o ilustrare excelenta a unei abordari mai eficiente. Latimea fiecarui nivel al piramidei arata cate teste ar trebui sa existe in comparatie cu alte niveluri.

Unit tests se afla la nivelul inferior al piramidei. Acestea ar trebui sa reprezinte majoritatea testelor tale. De exemplu, pentru a testa o clasa care calculeaza dobanda unei sume, trebuie sa creezi un unit test care sa precizeze rata dobanzii x si soldul y. Rezultatul asteptat: calcularea corecta a valorii dobanzii cu acuratetea necesara.

Nivelul de mijloc se refera la teste care verifica business behavior (dar nu prin GUI!). Astfel de teste sunt uneori numite teste API. Daca utilizezi behaviour driven development (BDD), testele tale automate se vor referi la acest nivel. Este posibil sa ai nevoie de un numar destul de mare de unit tests la acest nivel, dar mai putine decat la nivelul aferent lor. Astfel de teste pot acoperi simultan mai multe componente si pot verifica comportamentul produsului in termeni de business. Exemplu: Dupa calcularea dobanzii la avans, suma necesara este adaugata la sold.

Nivelul superior al piramidei reprezinta teste automatizate care se refera direct la interfata cu utilizatorul. Numarul lor ar trebui sa fie mult mai mic. Un exemplu al unui astfel de test: Dupa calcularea dobanzii, o suma corecta este reflectata in extrasul bancar. Iar cireasa de pe tort este testarea manuala. Anumite tipuri de teste nu pot fi automatizate, de ex. exploratory testing sau usability testing, dar in mod ideal ar trebui sa incercam intotdeauna sa minimizam cantitatea de teste manuale.

Alte principii importante privind piramida de automatizare a testarii:

Evita duplicarea testelor la diferite nivele. Nu este nevoie sa repeti aceleasi teste la diferite niveluri. De exemplu, daca valorile limita au fost verificate in unit test, nu trebuie sa le repeti la nivelul GUI - nu vei primi date noi. In general, ori de cate ori este posibil, ar trebui sa se depuna eforturi pentru a trece testele la un nivel inferior.

Sa spunem ca poti verifica calcularea dobanzii la o suma negativa la un nivel "mediu" sau chiar la nivelul unit tests. Deci, de ce ar trebui sa o faci la nivelul interfetei utilizatorului? Automatizarea testului la un nivel mai scazut este mai eficienta, iti permite sa identifici defectele mai devreme si sa economisesti timp si bani.

Vrei sa incepi o cariera in testare software sau sa iti imbunatatesti abilitatile? 

Descopera cursurile noastre.


Victoria Slinyavchuk
Software Testing Consultant

Daca iti place acest articol, distribuie-l si prietenilor tai!




Mai ai intrebari?
Contacteaza-ne.
Thank you.
Your request has been received.