sudofeed

dev · · 21:10 · 2 min de citit

Lasă AI-ul să dea click, nu să noteze: O abordare hibridă pentru testarea end-to-end

Acest articol explorează o abordare hibridă pentru testarea end-to-end, unde modelele AI gestionează acțiuni precum click-urile și tastarea, în timp ce localizatorii tradiționali bazați pe cod se ocupă de aserțiuni și verificări. Autorul susține că această strategie valorifică AI-ul pentru interacțiuni dinamice cu interfața utilizator, predispuse la erori la reproiectări, păstrând în același timp determinismul și eficiența costurilor codului pentru verificări stabile.

Articolul prezintă o strategie nouă pentru testarea end-to-end (E2E) care pledează pentru o diviziune a muncii între modelele AI și localizatorii tradiționali bazați pe cod. Ideea centrală este de a lăsa AI-ul să gestioneze 'click-urile' – acțiunile de interacțiune cu interfața utilizator a aplicației, cum ar fi tastarea în câmpuri sau apăsarea butoanelor. Acest lucru este deosebit de benefic, deoarece aceste acțiuni sunt adesea primele care eșuează atunci când interfața utilizator suferă reproiectări. Prin înregistrarea acestor acțiuni conduse de AI, rulările ulterioare ale testelor le pot reda eficient, minimizând nevoia de apeluri repetate la modele AI și reducând costurile.

Implementarea tehnică implică un runner de teste TypeScript, Playwright, care suportă o structură hibridă de pași. Funcția `agent.act()` permite ca un obiectiv să fie transmis în limbaj natural unui model AI, care apoi conduce interacțiunea aplicației. Pentru verificare, framework-ul distinge între `agent.assert()`, care folosește AI pentru a judeca ecranul, și verificările standard bazate pe `screen.getByRole()` sau localizatori, care rămân deterministe și conduse de cod. O caracteristică cheie este cache-ul de redare, care înregistrează acțiunile AI reușite și rezultatele acestora. La rulările ulterioare, dacă interfața utilizator nu s-a schimbat semnificativ, aceste acțiuni înregistrate sunt redate direct din cache, ocolind complet modelul AI și accelerând semnificativ execuția și reducând costurile.

Implicațiile acestei abordări hibride sunt substanțiale pentru industria testării. Abordează critica comună conform căreia testele AI sunt non-deterministe și costisitoare, introducând un mecanism de redare eficient din punct de vedere al costurilor pentru acțiuni. Autorul susține că AI-ul ar trebui rezervat pentru verificarea rezultatelor dificil de exprimat prin localizatori, cum ar fi judecarea calității răspunsului unui chatbot, în timp ce codul ar trebui să gestioneze verificări precise și deterministe. Această diviziune își propune să creeze suite de teste E2E mai robuste, ușor de întreținut și eficiente din punct de vedere al costurilor, în special în mediile de dezvoltare în evoluție rapidă, unde schimbările UI sunt frecvente.

$ sursa --originală

dev.to

Rezumat realizat de Sudofeed pe baza articolului original. Drepturile asupra conținutului aparțin sursei originale.

citește originalul ↗