Instrumente AI utile in testarea software

Inca de la finalul anului 2022, subiectul tehnologiei AI (Inteligenta Artificiala) a devenit tot mai vehiculat in spatiul public, fiind „la moda” dezbaterile despre cum si in ce directie va evolua aceasta. Desi munca privind dezvoltarea Inteligentei Artificiale se desfasoara deja de mai multe decenii, aceasta a revenit in atentia publicului odata cu lansarea lui Chat GPT, bine-cunoscutul chatbot care genereaza raspunsuri text la intrebarile si observatiile noastre.

Pe langa acesta, mai exista si alte aplicatii AI care au devenit extrem de populare, precum bot-ul Midjourney care genereaza imagini si produse grafice, sau DALL-E, cu aceeasi functionalitate principala. Cu siguranta tehnologia AI va continua sa evolueze, iar aceasta va fi integrata in diferite activitati profesionale, inclusiv in IT si in testarea software, putand fi extrem de folositoare.

Cat de importanta poate fi Inteligenta Artificiala in testare?

Dezbaterile pe intrebarea „Cum va fi integrata profesional tehnologia AI?” si „Ne va lua AI-ul joburile?” nu au ocolit nici industria IT, inclusiv domeniul testarii software. In mod cert, aceasta este o evolutie tehnologica fireasca si nu poate fi oprita in mod necesar, poate doar reglementata din anumite privinte, precum cele etice, astfel incat sa se respecte niste principii general acceptate privind dezvoltarea si utilizarea AI-ului.

In acelasi timp, AI-ul nu va putea prelua unele sarcini integral facute de oameni, mai ales in IT unde comunicarea si dialogul constant asigura dezvoltarea si adoptarea celor mai bune solutii privind un produs software. Insa o aplicatie AI poate automatiza anumite task-uri repetitive, astfel incat un programator sau un tester sa isi eficientizeze munca din perspectiva timpului alocat si a costurilor.

De aceea, in continuare voi prezenta cateva dintre cele mai recente si mai utile aplicatii bazate pe Inteligenta Artificiala care pot ajuta in testarea software. Desigur, nu e exclus ca pe viitor, pe masura ce vor mai aparea astfel de tool-uri noi, sa scriem recenzii dedicate aici pe Blog de IT.

Instrumente AI pentru testare

1. Testim

Un prim instrument bazat pe AI care a devenit tot mai popular printre testeri este Testim. Fiind creat in 2016 de catre cei de la Microsoft si cumparat la inceputul lui 2022 de catre Tricentis, Testim este astazi un tool AI folosit mai ales pentru generarea rapida de teste automate in vederea procesului de verificare automata a aplicatiilor software. Din acest motiv, Testim reduce destul de mult timpul de lucru alocat scrierii de teste automate folosind codul.

Printre tipurile de testare principale in care este folosit se enumera testarea functionala (aceasta fiind automatizata), testarea de API sau testarea interfetei de utilizare a acelei aplicatii (UI testing). De asemenea, Testim poate ajuta extrem de mult pe partea de Cross-browser testing, unde poate testa in paralel un website pe mai multe navigatoare web concomitent. Practic, verifica daca aplicatia functioneaza pe Google Chrome, Microsoft Edge si Mozilla Firefox in acelasi timp.

Testim are o documentatie destul de detaliata si bine inchegata pentru cei care vor sa afle la inceput cum se utilizeaza. Pe langa asta, Testim propune 2 variante de utilizare: una gratuita ce presupune doar cateva functionalitati basic, si una Pro care permite accesul la intreaga gama de optiuni.

Interfata Testim

2. Perfecto Scriptless

Un al doilea instrument de lucru construit pe baza Inteligentei Artificiale si a Machine Learning-ului si care este folosit in procesul de testare software este Perfecto Scriptless (cunoscut in forma sa anterioara drept TestCraft). Acest tool este construit pe baza framework-ului de testare automata Selenium, de care se foloseste pentru a genera scripturi de teste automate folosite in QA.

Perfecto Scriptless este folosit mult pe partea de testare de regresie si pentru testarea continua (Continuous Testing), tehnologia AI ce se imbina cu Selenium avand rolul de a reduce deci timpul alocat de testeri in vederea validarii noilor imbunatatiri pe care aplicatiile software le pot primi destul de des.

Acest tool are o interfata destul de intuitiva, de tip drag-and-drop, nu necesita cunostinte avansate de programare, iar cu ajutorul lui pot fi testate atat aplicatiile web, cat si cele de tip mobile. Optiunile oferite sunt destul de vaste, si de aceea documentatia este din nou un punct obligatoriu de plecare.

Pagina principala Perfecto Scriptless

3. Applitools

Urmatorul tool construit cu AI si care este folosit pentru testarea altor produse software este Applitools. Acest instrument se remarca prin faptul ca este folosit in mod special la partea de testare UI, fiind un instrument foarte util pe partea vizuala a verificarii aplicatiilor. Inteligenta artificiala compara diferite imagini (mock-uri) ale aplicatiei cu cele standard, pentru a depista (si) pe aceasta cale posibilele defecte.

Applitools include mai multe optiuni foarte bune pe partea de testare. Una dintre ele este aceea ca permite organizarea unei testari automate end-to-end, astfel incat sa simuleze cat mai realist interactiunea unui user pe respectiva platforma, sa imite un comportament obisnuit si sa depisteze astfel bug-urile.

O alta optiune este de asemenea testarea incrucisata pe mai multe tipuri de browser, pentru a vedea cum se comporta acel produs pe navigatoare diferite. Applitools este compatibil la randul sau cu diferite alte framework-uri din zona de development sau testare, putand fi integrat si in alte sisteme de urmarire a erorilor. O solutie interesanta este chiar combinarea sa cu Testim. Si acesta are o documentatie solida.

Interfata Applitools. Sursa imaginii.

4. Functionize AI

In continuare vom vorbi despre un alt instrument interesant din aceasta zona, si anume Functionize. Aceasta este o platforma de testare automata cloud-based (bazata pe tehnologie cloud), care e folosita preponderent in procesul de testare software. Inteligenta artificiala si Machine Learning-ul incorporate platformei ajuta extrem de mult pe cei care lucreaza in QA sa dezvolte teste automate mai rapid, sa gestioneze diagnoza unei aplicatii sau sa faciliteze etapa ei de mentenanta post-lansare.

Functionize este folosit foarte mult pe partea de testare functionala, care poate fi transformata intr-o testare automata destul de usor astfel, pe testarea de performanta (unde verificam cum se comporta o aplicatie software la un anumit numar de useri care o folosesc simultan), si la Load testing (o subdiviziune a testarii de performanta, axata pe un numar predefinit si asteptat de useri care se considera ca vor folosi acea aplicatie simultan).

Pe langa acestea, Functionize ofera si multe alte tipuri de testare, precum cea end-to-end, specifica unor tool-uri AI, testare de API, sau chiar Localization testing (verificarea unor versiuni de limba sau formate de scriere specifice unor tari/ culturi).

Platforma Functionize si tipurile de testare oferite

5. Mabl

Un alt instrument AI destinat lucrului in testare software si nu numai este Mabl. Aceasta este o platforma ceva mai complexa in functionalitati oferite, prin faptul ca a fost creata pentru a fi una adaptata intregului circuit DevTestOps (dezvoltare, testare si operatiuni aditionale).

Si in acest caz, tehnologia AI incorporata ajuta testerii sa genereze scripturi de teste automate in mod mai rapid si mai eficient. Mabl este axata pe testarea functionala si cea a interfetei de utilizare (UI), putand genera teste rapide pentru aspecte ce tin inclusiv de arhitectura aplicatiei supusa verificarii.

Printre celelalte tipuri de testare pe care le mai include se regasesc testarea API, Data-driven testing, sau Cross-browser testing. Mabl poate fi folosit atat pentru aplicatii web, cat si pentru cele mobile, ceea ce ii largeste semnificativ aria de folosire. Pentru detalii mai tehnice, locul ideal este si in acest caz documentatia proprie.

Platforma Mabl

6. aqua ALM

Pentru a completa lista noastra de tool-uri AI pentru testare, trebuie sa amintim si de aqua ALM. Functia AI a acestei platforme a intrat in faza beta la inceputul lui 2022, deci se inscrie in trendul recent al noilor lansari care includ inteligenta artificiala.

Functionalitatea cheie oferita de aceasta platforma este aceea ca AI-ul poate genera cazuri de testare pe baza cerintelor tehnice din documentatie. Aceasta se bazeaza pe un algoritm care transforma un text simplu intr-un posibil test case. Mai multe, functia e disponibila in mai multe limbi, nu doar in engleza.

Tot pe baza unei descrieri, AI-ul poate genera cazuri de test care ulterior sunt prioritizate in functie de importanta lor, avand la baza ceea ce trebuie sa faca aplicatia respectiva. Tot in acest sens, Mabl poate genera pasii de reproducere ai unui caz/ bug pornind de la simpla descriere a situatiei tehnice respective. Astfel, aqua ALM se dovedeste a fi un tool interesant, cu multe functii utile si care poate avea foarte multe integrari ulterioare in alte aplicatii, precum Jira, Jenkins sau PowerShell.

Pagina de pornire aqua ALM

Concluzii

In incheiere, se poate observa destul de clar ca trendul tehnologiei AI a luat o amploare destul de mare si au aparut diferite tool-uri care pot fi integrate in diferite activitati, precum in IT, pentru a accelera si eficientiza anumite sarcini. Testarea software beneficiaza si ea de o gama larga de astfel de aplicatii.

Trebuie insa mentionat ca toate aceste instrumente AI nu pot inlocui cu totul munca facuta de un om. Ele pot eficientiza testarea automata prin generarea rapida de scripturi, dar nu pot testa exhaustiv o aplicatie software. Cu siguranta ele vor fi integrate treptat in lucrul din IT, si vor deveni unelte tot mai complexe si utile, dar initiativa si creativitatea trebuie sa vina de la tester.

Surse consultate si suplimentare

Topuri despre tool-urile AI mentionate gasesti 👉 aici, 👉 aici, 👉 aici si 👉 aici.

Paginile fiecarui tool AI prezentat: Testim, Perfecto Scriptless, Applitools, Functionize, Mabl, aqua ALM.

Despre AI in testare

Ce este Continuous Testing

Ce este Load Testing

Un articol despre ce inseamna DevTestOps

Mircea-Gabriel Macarie

https://www.linkedin.com/in/mirceamacarie/

Tech enthusiast și QA engineer, membru al comunității Vlog De IT. Interesat de testare software (QA) în general, de User Experience și Web Development.

Related post

Leave a Reply

Your email address will not be published. Required fields are marked *