Codeless automation testing – un mod alternativ de testare automata
Testarea automata se poate realiza in mai multe moduri, la nivel practic, demonstrand inca o data astfel ca este un domeniu de activitate complex, dar in egala masura fain si care te invata mereu lucruri noi.
Cu siguranta cea mai cunoscuta forma de a practica testarea automata este cea bazata pe cod: cu ajutorul unui limbaj de programare si a unui framework de testare, scriem in cod primele noastre teste automate si le rulam ulterior, sa vedem daca merg cum ar trebui pe o anumita aplicatie.
Insa testarea automata bazata pe codare nu mai e singura forma de punere a sa in practica. Ultimii ani au condus la aparitia unor tool-uri care, cu ajutorul acestora, putem vorbi in articolul de azi despre codeless automation testing.
Ce reprezinta Codeless automation testing?
Dupa cum releva si numele ei din engleza, ”Codeless automation testing” sau testarea automata fara cod este o forma relativ noua, sau mai noua decat testarea automata ce foloseste cod scris de oameni. Cunoscuta si sub alte forme care o nominalizeaza precum ”no-code testing”, aceasta este o forma ceva mai accesibila de a practica testarea automata.
Daca testarea automata clasica se bazeaza pe a avea totusi niste cunostinte de programare, nu neaparat cele mai avansate dar care sa inglobeze notiunile fundamentale precum variabile si functii, codeless automation testing presupune exact contextul opus. Mai exact, testele automate aici nu sunt construite scriind direct cod, ci folosind anumite instrumente speciale pentru no-code automation cu care interactionam printr-o interfata grafica, astfel incat sa putem selecta elemente din aplicatia unde dorim sa automatizam anumite scenarii.
Specificul ei este acela ca e o formula mult mai abordabila de a automatiza cazuri de test datorita faptului ca este eliminata necesitatea directa de a cunoaste programare pentru a alcatui testele respective. Acest lucru o face sa fie mai accesibila in special pentru cei aflati la inceputul invatarii si practicarii ideii de automation testing.
Ce tipuri de testare se pot efectua prin codeless automation testing?
Testarea automata fara a scrie cod poate fi utilizata in mai multe situatii pentru a verifica anumite elemente din cadrul mai largului proces de testare software a unui produs real.
Un prim tip de testare ce poate fi destul de usor verificata cu codeless automation testing este testarea functionala. Mai precis, prin aceasta forma a testarii automate pot fi dezvoltate teste care sa verifice aspectele legate de modul de functionare al diferitelor functionalitati din cadrul unei aplicatii: butoane, field-uri, inserarea sau extragerea de continut etc. In special pentru functionalitatile principale, testarea fara cod e o optiune destul de buna.
Pe langa testarea functionala, fara a ne departa foarte mult de aceasta zona, prin codeless automation testing se mai poate testa in anumite cazuri inclusiv partea de API din cadrul serviciilor de backend ale unei aplicatii mai complexe. Aici depinde mult de ce anume ne intereseaza sa testam, e posibil ca unele API-uri mai complexe sa fie mai greu de verificat astfel, dar iarasi flow-urile principale pot fi incercate astfel.
Un alt tip de testare ce este incorporat la multe tool-uri de codeless automation testing este testarea elementelor de UI, sau visual testing. Aceasta presupune sa verificam daca anumite componente de natura grafica arata asa cum erau gandite in design-ul initial al aplicatiei, si ca nu apar bug-uri de UI precum scris cu contrast slab, butoane care se suprapun, field-uri care sunt pozitionate gresit si asa mai departe.
Tool-uri folosite pentru testarea automata fara cod
Exista foarte multe instrumente de testare automata care sa nu implice scrierea de cod de catre om. Multe dintre acestea se bazeaza pe revelatia ultimilor 2 ani in materie de tehnologie, si anume pe Inteligenta Artificiala. Las aici si la finalul articolului o lista cu 34 de astfel de tool-uri pentru codeless automation testing.
Pentru a aminti pe scurt cateva astfel de instrumente, cei de la BrowserStack au un tool dedicat pentru codeless automation testing axat pe zona de verificare a UI-ului si care poate interactiona cu multe dintre elementele grafice web.
TestGrid detin si ei un instrument asemanator si destul de cunoscut, care se prezinta sub forma unei platforme web ce are integrate functionalitati de AI pentru identificarea bug-urilor vizuale, pentru testarea de API sau pentru automatizarea unor flow-uri pe o aplicatie web.
Inclusiv celebrul framework Selenium prezinta pe langa bine-cunoscutul sau mediu de testare folosind codul si o alternativ codeless, ceea ce il plaseaza printre cele mai versatile si folosite astfel de instrumente din lumea testarii automate. Iar un alt tool ce merita amintit este al celor de la Tricentis Tosca, un tool ce se axeaza pe automatizarea flow-urilor end-to-end (E2E) si sa simplifice cat mai mult interactiunea cu elementele de UI ce intra in alcatuirea pasilor unui test automat.
Avantaje si dezavantaje
Fara a face exceptie prin comparatie cu alte forme de testare sau notiuni din lumea QA-ului, si codeless automation testing prezinta o serie de avantaje evidente, dar si dezavantaje semnificative in utilizarea sa pentru proiectele de productie.
Din seria avantajelor, primul si cel mai evident este acela ca testarea automata fara a scrie cod nu necesita atat de multe cunostinte initiale pentru a putea trece efectiv la treaba de a automatiza anumite scenarii. Nefiind nevoie de programare, ea devine mult mai accesibila si usor de folosit pentru persoanele non-tehnice.
Un al doilea avantaj ce deriva din primul mentionat anterior este reprezentat de rapiditatea mai mare. Mai precis, prin codeless automation testing un QA care are deja putina experienta cu tool-urile corespunzatoare poate dezvolta ceva mai rapid niste teste care sa verifice lucruri palpabile din cadrul aplicatiei testate, deoarece nu mai trebuie sa scrie in cod respectivii pasi si apoi sa faca debug la ceea ce a scris. Acest lucru poate imbunatati productivitatea de ansamblu, insa trebuie sa fim atenti, deoarece ea nu se confunda doar cu numarul de teste automate scrise si atat.
De asemenea, dat fiind faptul ca timpul inseamna (si) bani, aceasta forma de automation testing poate sa reduca costurile firmei in anumite contexte, prin faptul ca s-ar folosi preponderent un singur tool pe partea de automatizare, iar faptul ca se dezvolta rapid testele automate ar insemna si ca procesul general de testare ar fi mai rapid, conducand la livrarea feature-urilor catre clienti mai rapida.
Dar pe langa avantaje, si dezavantajele trebuie luate serios in considerare inainte de implementarea unei solutii de codeless testing. Cel mai important dezavantaj pe care il prezinta aceasta forma de automatizare a testarii este acela ca nu poate fi aplicata decat la anumite tipuri de testare destul de selective, nu la majoritatea care ar putea fi acoperite de o testare bazata (macar partial) si pe coding. De exemplu, testarile non-functionale precum cea de securitate sau de performanta nu prea pot fi acoperite cu tipul discutat de automation.
Un al doilea dezavantaj major este ca testarea automata ce nu necesita cod cu greu poate fi aplicata la scenariile de testare complexe, in adevaratul sens al cuvantului. Daca aplicatiile sunt intr-adevar complexe si realizeaza operatii care trec dincolo de actiunile cotidiene, precum programare 3D, operatii de sinteza sau softuri de automotive, atunci codeless automation testing-ul greu poate fi aplicat aici.
Mai mult, aspectele ce tin de integrare si adaptabilitatea (customization) tool-urilor de codeless automation testing sunt si ele destul de sensibile, ca urmare ca acestea sunt puternic limitate. Aceste tool-uri lucreaza preponderent cu interfata grafica (GUI), iar aplicarea lor simultana pe aplicatii care sunt integrate cu altele poate deveni problematica, existand sincope in automatizarea flow-urilor.
In ce situatii poate fi folosita aceasta forma de testare automata?
Chiar daca, dupa cum am vazut, exista mai multe tool-uri de codeless automation testing, iar aceasta forma moderna prezinta numeroase avantaje, totusi trebuie sa fim atenti in ce contexte putem sa o folosim.
Testarea automata fara cod poate fi folosita in anumite proiecte incipiente, ale caror complexitate nu a ajuns inca la un nivel foarte ridicat si care nu presupun integrari foarte diverse cu alte aplicatii sau platforme web, deoarece nu ar fi o forma suficient de buna de testare.
In schimb, poate fi folosita pentru proiecte de complexitate mica si medie, pentru a automatiza positive flows si a verifica constant la testarea de regresie acele cazuri de test mai generale sau mai particulare, care sa aiba legatura cu partea functionala sau de design a interfetei grafice.
Una dintre cele mai mari beneficii pe care le poate aduce codeless automation testing-ul este pe partea de invatare a conceptului de testare automata si a notiunilor fundamentale care ne ajuta sa intelegem cum se poate face o astfel de verificare la nivelul unui produs software, pentru a evita sa tot executam in mod manual anumite cazuri de test.
Pentru o persoana aflata la inceput in acest domeniu, care nu stapaneste inca notiunile de programare, partea de no-code automation poate fi un inceput excelent de la care ulterior sa faca o tranzitie treptata spre programare si testare automata bazata pe cod.
Cel putin insa pentru marile proiecte aflate in productie, codeless automation-ul nu cred ca este suficient pentru a acoperi intr-o proportie semnificativa scenariile principale si partea de regresie in testare, astfel incat sa inlocuiasca testele bazate pe cod.
Concluzii
In incheiere, codeless automation testing reprezinta o forma alternativa a testarii automate, una din ce in ce mai cunoscuta si mai la moda in randul comunitatilor de QA. Ea reprezinta un mod complet diferit de a face testare automata prin faptul ca nu necesita scriere de cod intr-un IDE, si poate fi un mod mai bun de a incepe sa inveti automation testing.
Totusi, trebuie tinut cont de avantajele si dezavantajele sale inainte de implementarea propriu-zisa intr-un proiect real, care poate ava implicatii pe termen mediu si lung.
Surse consultate si suplimentare
Articol comparativ full code vs. low-code vs. no-code automation
Articole explicative despre codeless automation testing de pe BrowserStack si TestGrid.io
Despre tranzitia de la testare manuala la cea automata
O lista cu 34 instrumente de codeless automation testing