Panoul de control strălucea în verde. Toate testele de fum au trecut. Asistentul AI a generat cazuri de testare noi, a eliminat pe cele vechi și a raportat chiar în câteva minute cum s-a îmbunătățit acoperirea testării. Echipa s-a îndreptat spre lansare cu încredere vineri.
Acum, e luni dimineața.
Există tichete în suport. Clienți ale căror adrese salvate nu au putut finaliza comanda. Cum s-au stricat adresele lor salvate? Interfața de utilizare arată complet deteriorată pe un dispozitiv mobil tipic. Un API critic nu avea gestionare robustă a cazurilor limită. Luate împreună, toate aceste probleme indică o amenințare mai mare: disponibilitatea unei echipe de a se baza orbește pe intrări externe, presupunând că totul este în regulă.
Acesta este adevăratul pericol pe care AI îl aduce în QA.
Nu este vorba despre faptul că AI va introduce bug-uri în testele noastre. Toate programele au bug-uri. Toate echipele QA sunt bune la identificarea și rezolvarea lor. Cu toate acestea, amenințarea mai mare a AI este că poate face o echipă să creadă că testarea lor este completă chiar și atunci când nu este. Cu AI în testare, o echipă QA poate dobândi un fals sentiment de confort că totul este precis.
Această încredere falsă poate fi foarte costisitoare. Această supraîncredere poate duce la răspunderi financiare uriașe. Chiar și sistemele AI complet testate pot eșua uneori atunci când se confruntă cu complexitățile lumii reale. McDonald's a închis recent un sistem AI IBM pe care îl testa la ghișeele drive-thru după ce a făcut în mod repetat erori în comenzi. Este un memento că chiar și tehnologiile de încredere pot avea defecte serioase.
Problema reală apare atunci când o echipă este convinsă că testele au testat suficient un sistem dat. Acest fals sentiment de securitate provine din faptul că riscurile de securitate relevante fie nu sunt descoperite, fie nu sunt testate riguros.
Aceasta a fost de mult timp o problemă în metodele tradiționale de automatizare. În aceste metode, un număr mare de teste pot fi executate, dar nu există multă profunzime în testare. Faptul că un raport de pipeline spune că toate verificările au trecut (toate verzi) nu înseamnă că sistemul în sine va fi neapărat perfect operațional.
Automatizarea devine și mai complexă atunci când se implementează AI. Un lucru de știut despre modelele de limbaj AI este că pot prezenta informații într-un mod care pare convingător, dar este de fapt înșelător.
Am putea vedea teste executate și chiar o acoperire mai bună a testelor, pe măsură ce AI asistă cu construirea testelor și analiza rezultatelor oricărei rulări de test. Toate acestea sunt benefice.
Dar nu toate beneficiile sunt perfect fiabile.
Un test construit de AI ar putea omite o parte critică a logicii de afaceri. Alternativ, ar putea fi conceput doar pentru a testa scenariile comune. Un astfel de test va părea complet adecvat. Dacă rezultatele sunt clare și exprimate clar, echipa va considera probabil testul ca fiind adecvat, lăsând defecte serioase nedescoperite.
De aceea testele pot crea adesea oportunități pentru echipe de a face presupuneri false.
Întrebarea mai crucială astăzi, pentru oricine este implicat în teste automate de software care utilizează inteligență artificială, nu ar trebui să fie "Construiește AI teste mai eficient?" Ci, ar trebui să fie "Sunt testele construite de AI cu adevărat fiabile?"
Un test manual prost poate fi identificat rapid. Testele scriptate care nu sunt scrise corect fac adesea greșeli.
Dar atunci când testele construite de inteligența artificială (AI) eșuează, este greu de spus la prima vedere. Pot face aserțiuni care par foarte precise și nume și scenarii care par realiste. Dar pot omite în tăcere cei mai importanți factori. Pot interpreta greșit adevăratul scop al unei funcționalități. Pot prezenta aceleași idei diferit. AI poate face, de asemenea, rapoarte prea încrezătoare despre o lansare de software fără dovezi suficiente.
Acest lucru creează un decalaj periculos între netezimea care apare în exterior și calitatea care este în interior.
În asigurarea calității (QA), încrederea noastră ar trebui să provină din trasabilitatea testelor, profunzimea acoperirii, evaluările riscurilor și rezultatele observabile. Nu din cât de frumoase arată datele produse de AI.
Programator folosind computerul acasă pentru inteligență artificială . Freepikcomputing simulând creierul uman prin algoritmi de auto-învățare. Angajat lucrând cu rețele neuronale profunde AI pe PC desktop, camera A
AI excelează acolo unde există modele regulate. Prin urmare, este ușor atras de fluxuri normale, intrări așteptate și comportament obișnuit al utilizatorilor.
Dar defectele software serioase se ascund adesea în alte locuri:
Dacă testele generate de AI urmează doar scenariile comune vizualizate de un designer de produs, vor lăsa căile riscante neatinse. Acest lucru servește doar la crearea iluziei că testele sunt complete.
Valoarea reală a unui test este ceea ce dovedește despre software. Prea multe teste teribile acoperă un domeniu uriaș de acțiuni pe aplicație, dar nu verifică corespunzător dacă aceste acțiuni reușesc pentru afacere. Un test este pur și simplu o mișcare în care tot ceea ce face este să facă clic pe butoane, să completeze câmpuri, să facă clic pe mai multe butoane, să vizualizeze ecrane și să vadă ceva apărând.
AI poate executa astfel de teste automate ușoare mult mai rapid decât un om. Cu toate acestea, dacă condițiile de testare (aserțiunile) sunt prea generale, slab definite sau irelevante pentru cazul de utilizare de afaceri, atunci simpla executare a unui test nu oferă multă siguranță pentru o lansare de software. Un test de finalizare a comenzii ar putea arăta doar un banner de succes și nu se asigură că o comandă este procesată corect (taxe, totaluri etc.), că un e-mail este trimis sau că inventarul este redus.
O echipă poate verifica 40 de cazuri de testare scrise manual. Dar ar putea să nu adopte aceeași abordare pentru 400 care au fost create rapid folosind AI. Aceasta este una dintre cele mai mari capcane ale asigurării calității (QA) bazată pe AI: testarea atentă scade în mod natural pe măsură ce numărul crește.
A avea mai multe cazuri de testare ne poate oferi un fel de încredere psihologică. Când numărul crește, simțim că suita de teste este foarte extinsă și rapoartele sunt impecabile. Dar creșterea numărului de cazuri de testare nu este niciodată un substitut pentru calitatea lor.
Fără maparea adecvată a riscurilor și trasabilitatea cerințelor, AI va ajuta doar la înregistrarea presupunerilor în loc să verifice adevărata calitate a sistemului.
Când rapoartele pipeline arată întotdeauna verde, oferă echipelor un sentiment puternic de încredere și încurajează decizii rapide. Elimină obstacolele în calea efectuării muncii, așa că acest sentiment de siguranță se răspândește ușor pe măsură ce echipele încep să construiască, să repare și să prioritizeze propriile teste folosind AI. Instinctul lor se schimbă de la verificarea și verificarea rezultatelor la încrederea oarbă în sistem. La suprafață, pare minor, dar poate schimba cultura QA pentru totdeauna. Întrebarea încetează să fie "ce risc acoperă acest test?" și devine "a rulat AI un test pentru asta?" În acest moment, oamenii tind să presupună că totul este în regulă și să înceteze să pună la îndoială calitatea.
Una dintre cele mai periculoase caracteristici ale sistemelor AI moderne este că pot prezenta chiar și cele mai evidente greșeli cu mare autenticitate. Acest lucru este de mare importanță în asigurarea calității (QA).
Chiar dacă un test AI este scris cu o înțelegere greșită a unei cerințe sau informații incomplete, rezultatul său va fi foarte precis și rafinat pentru a arăta ca și cum ar fi fost scris corect. Un test tipic nu va putea găsi rapid greșeala. Pericolul aici nu este doar în greșeala în sine, ci și în cât de ușor poate fi făcută greșeala să fie crezută.
O greșeală evidentă poate fi rapid reparată. Dar o concluzie falsă care pare credibilă este probabil să fie lansată fără a fi testată.
Acest lucru nu înseamnă că AI ar trebui evitat complet.
Soluția este să îl folosești fără a-ți abandona judecata către AI. Cele mai bune echipe de asigurare a calității (QA) văd AI ca pe un asistent, nu ca pe ceva în care să aibă încredere oarbă. În timp ce îl folosesc pentru a crește viteza, nu îi acordă încredere finală. Adică, urmează un stil de lucru în care au încredere doar în rezultatul furnizat de AI după verificare.
Să vedem cum funcționează asta în practică.
Înainte de a crea cazuri de testare, ar trebui să definiți clar principalele probleme care ar putea afecta afacerea sau utilizatorul.
Zonele legate de tranzacții financiare, chestiuni juridice (conformitate), identitate, permisiuni și încrederea clienților ar trebui să fie primele la care să acordați atenție. Care sunt erorile care apar foarte rar, dar cauzează multă pierdere? Unde trec ușor neobservate erorile?
AI poate oferi idei noi în astfel de zone. Dar depinde de oameni să decidă unde sunt mai multe riscuri.
Fiecare pas dintr-un caz de testare generat de AI poate părea corect la prima vedere. Dar adevărata întrebare este dacă testul testează de fapt rezultatul corect.
Este o idee bună să dezvoltați un obicei simplu când testați: concentrați-vă mai mult pe ceea ce dovedește testul decât pe modul în care funcționează.
Un singur strat de testare singur nu poate garanta că sistemul este complet. Testarea unității, API, integrare, end-to-end (E2E), testare exploratorie și feedback de producție expun toate diferite tipuri de riscuri.
Dacă AI testează doar un strat, echipele nu ar trebui să considere că sistemul lor este complet sigur. Fiecare strat ar trebui testat cu propria sa importanță.
Mulți se tem că AI în testare va deveni o activitate fără oameni. Dar în realitate, opusul se întâmplă.
Pe măsură ce AI preia sarcini repetitive, intervenția umană devine mai valoroasă. Identificarea riscurilor, eliminarea ambiguităților, punerea la îndoială a presupunerilor, testarea cazurilor limită complexe și întrebarea "Este sistemul sigur pentru că un test a trecut?" Toate acestea necesită inteligență umană.
Nu este vorba despre mai puțină muncă, ci despre o calitate mai bună. Cele mai bune echipe ale viitorului nu sunt cele care construiesc nenumărate teste. Sunt cele care pot lucra rapid și cu atenție, dar pun la îndoială atunci când este necesar.
Pentru că bug-urile din sisteme sunt întotdeauna vizibile. Dar supraîncrederea ne determină adesea să le ignorăm.
AI poate cu siguranță accelera procesele QA. Poate ajuta echipele să construiască teste, să reducă sarcinile repetitive și să răspundă la schimbări mai rapid.
Dar această viteză nesupravegheată poate duce la un nou tip de problemă de calitate. Când testele generate de AI ne fac să ne simțim completi, când tablourile de bord strălucitoare ne fac să credem în ele, când rapoartele elegante au prioritate față de evaluările riguroase, QA nu este cu adevărat robust. În schimb, devine ușor de păcălit.
Cele mai sigure echipe sunt cele care își amintesc faptul simplu că doar pentru că un test trece, nu este o dovadă absolută că sistemul este sigur. Este doar o indicație, iar inteligența umană trebuie încă folosită pentru a evalua acea indicație.
Deci, adevărata amenințare pe care AI o reprezintă pentru QA nu sunt bug-urile. Mai degrabă, este încrederea falsă pe care o oferă.


