de Aditya Parab

Automatizare test interfață utilizator

Test Automation a devenit unul dintre aspectele importante din lumea dezvoltării de software. Toată lumea din această comunitate trebuie să fie conștientă de piramida Agile Test Automation de mai jos. Este conceptul meu dezvoltat Mike Cohn.

Testele unitare ar trebui să constituie baza acestei piramide. Testele la nivel de serviciu formează următorul strat și în cele din urmă testele interfeței cu utilizatorul (UI) formează vârful.

Automatizare test interfata utilizator
Piramida de automatizare a testelor Agile

Testarea automatizată în mod tradițional însemna testarea fluxului de execuție cap la cap la nivelul UI. Dar odată cu conceptul de mai sus și implementarea agile, acest lucru s-a schimbat. Testele la nivel de unitate și de serviciu reprezintă partea majoră a strategiei de automatizare. Testele UI sunt o mică parte.

Există motive valide pentru a avea mai puține teste de automatizare UI ca parte a strategiei dvs. de automatizare. Mai jos am enumerat câteva:

ad-banner
  • Aceste teste sunt încet.
  • Aceste teste sunt fragil și poate da un fals pozitiv sau fals negativ.
  • Prin urmare, interfața de utilizare are nevoie de o mulțime de schimbări și întreținere.

Acestea fiind spuse, UI Test Automation este încă important, deoarece testează partea prin care va naviga utilizatorul. Feedback-ul despre acest lucru ajută cu siguranță la îmbunătățirea experienței utilizatorului în timpul utilizării aplicației.

Mai jos sunt câteva cazuri în care automatizarea testului UI este valoroasă:

  • Testarea regresiei. Automatizarea poate elibera testerii umani de procesul plictisitor și repetat de testare de regresie.
  • Testarea aplicațiilor care nu au teste unitare dezvoltate. Acest lucru ajută la introducerea testării automate în aplicațiile vechi.
  • Testare cross-browser și cross-platform. Aceasta execută în mare parte aceleași teste pe versiuni diferite. Acesta este și cazul aplicațiilor mobile pentru testarea diferitelor versiuni de sisteme de operare și modele de dispozitive.
  • Testarea performanței, deoarece necesită o sarcină mai mare decât cea pe care testarea manuală nu o poate genera.

Cu o strategie adecvată, UI Test Automation poate forma o parte foarte utilă din suita de testare Automation. Câteva indicații în dezvoltarea unei strategii de testare eficiente

Identificați cazurile potrivite pentru automatizare

Cel mai important aspect al oricărui test este identificarea cazurilor de testare corecte. Același lucru este valabil și pentru testarea automată.

Iată câteva criterii pentru selectarea cazurilor de testare pentru automatizare:

  1. Testează cazuri care sunt frecvent executate ca parte a fumului și regresiei
  2. Testează cazuri care implementează logică complexă și calcule
  3. Testează cazurile care trebuie executate pe mai multe platforme
  4. Testează cazurile în care execuția manuală poate fi dificilă de ex. Performanţă

Pregătește-te de la început

Pregătirea pentru automatizarea oricărei funcționalități începe în faza de proiectare. Implicați inginerii de testare în această fază împreună cu dezvoltatorii. Creați o strategie pentru testarea automatizării. Decideți ce teste sunt acoperite în unitatea și nivelul de service, astfel încât să nu existe duplicări în testele UI.

În cazul unei aplicații construite de la zero, proiectați codul pentru a ușura automatizarea odată ce aplicația este stabilă. Pot fi lucruri mărunte. De exemplu, urmând convenții de denumire specifice pentru elementele UI. Pe lângă denumirea în mod similar a unor elemente similare pe diferite pagini. Acest lucru ajută, de asemenea, la menținerea consecventă a scripturilor de automatizare.

În cazul modificărilor unei aplicații existente, porniți automatizarea împreună cu dezvoltarea. Deoarece modificările efectuate sunt incrementale, executați testarea imediat ce sunt disponibile. Acest lucru este benefic pentru o livrare agilă și continuă. Acolo, sunt necesare mici creșteri pentru a fi gata pentru implementare continuă.

Executie continua si paralela

Programați frecvent executarea automată a testelor. Cel puțin o dată pe zi. Aceasta oferă un feedback continuu cu privire la modificările făcute. De asemenea, oferă o idee bună despre stabilitatea mediului de testare.

Execuția este mai lentă, deoarece aceste teste sunt executate pe interfața de utilizare. Dar cu testarea continuă, dorim feedback mai rapid. Executarea în paralel este una dintre modalitățile de a rezolva această problemă. De asemenea, cu execuții paralele, se pot realiza testări pe platforme.

Refactorizare și întreținere

Scripturile UI Automated Test trebuie considerate identice cu codul aplicației. Aceasta oferă atenția și atenția necesară. La fel ca și codul aplicației, aceste scripturi necesită și refactorizare și întreținere continue.

Cu o întreținere adecvată, execuția testului devine consecventă. De asemenea, va contribui la îmbunătățirea performanței execuției testului și va face mai ușoare modificările viitoare.

Cu o strategie adecvată de proiectare și execuție, UI Test Automation se poate dovedi a fi un pas util către îmbunătățirea calității și accelerarea livrării continue.