De la 5% la 96% acoperire de teste într-o zi — Mulțumită AI CoPilot

De la 5% la 96% acoperire de teste într-o zi — Mulțumită AI CoPilot...

16 May 2025

5

min citire

Inovația AI

Adrian Sweeney

Când am început acest proiect și încă era o bază de cod mică, știam că testarea unitară va fi importantă, dar ca mulți dezvoltatori, am lăsat-o deoparte după construirea primului set de teste în favoarea construirii funcționalității de bază. Obiectivul meu principal din etapele incipiente a fost să fac logica middleware să funcționeze — centrul aplicației — și să aduc la viață Produsul Minim Viabil (MVP). Asta însemna să omit o mare parte din acoperirea testelor în numele progresului.

Odată ce MVP-ul a funcționat, mi-am îndreptat atenția înapoi către testare. Privind proiectul, am estimat cel puțin o săptămână sau două de scris teste, în funcție de complexitatea fiecărei componente. Unele ar fi fost simple. Altele — în special acolo unde erau implicate cazuri limită sau logică de ramificare complicată — ar fi fost mult mai solicitante în timp.

În acest moment m-am întors către AI. Foloseam "CoPilot" pentru a mă ajuta să scriu cod și am gândit că m-ar putea ajuta și cu testele.

Ratări timpurii cu AI

La început, am cerut AI să "scrie teste unitare" fără niciun context real sau constrângeri. Rezultatul? O harababură. Testele nu funcționau, făceau presupuneri greșite despre cod, și întreaga întreprindere s-a transformat într-un ciclu de cod de testare defect și rescriiri frustrante. AI a generat mult cod — dar nu tipul pe care l-aș fi putut folosi fără refactorizare serioasă.

Oferind direcție AI

Progresul a venit când mi-am schimbat abordarea. În loc să tratez AI ca pe un magician, am început să-l folosesc mai mult ca pe un dezvoltator junior. Îi dădeam câte un fișier pe rând, explicam intenția codului și îi spuneam să se concentreze pe scrierea de teste precise, funcționale doar pentru acel fișier.

Asta a schimbat totul.

Dintr-o dată, testele au devenit mai ușor de implementat pentru AI. Erau corect delimitate, aliniate cu logica reală și nu necesitau ore de depanare. AI-ul meu a trecut prin fișier după fișier, scriind și rulând teste.

Rezultatele

În mai puțin de o zi, acoperirea testelor a sărit de la 5% la peste 96%.

  • Instrucțiuni: 96,72%
  • Ramuri: 95,67%
  • Funcții: 92,1%
  • Linii: 96,87%

Testele care ar fi luat zile să scriu au fost finalizate în ore, iar liniștea sufletească care vine cu acoperire aproape completă de teste? Neprețuită.

Am trecut de la o Suită de Teste și 5 teste la:

  • 20 Suites de Teste
  • 136 Teste Trecute

Ce am învățat

  • AI nu este magie — dar este un asistent incredibil. Oferă-i context, ghidează-l, și vei obține rezultate excelente.
  • Focusul contează. A cere AI să "testeze totul" duce la haos. A-l cere să testeze acest fișier, această funcție, acest caz — asta funcționează.
  • Așteaptă-te la depanare — dar mult mai puțin decât scrierea de la zero. AI face uneori greșeli, dar procesul general este mult mai rapid decât să lucrezi singur.

Indiferent dacă lansezi un proiect nou sau încerci să adaugi teste la unul mai vechi, AI poate fi o economie imensă de timp — dacă îl folosești corect.

Folosești AI pentru a scrie teste în proiectele tale? Care este experiența ta?

PrimeCRM

Înapoi la Centrul de Cunoștințe