Z 5% na 96% pokrytie testov za deň — Vďaka AI CoPilot

Z 5% na 96% pokrytie testov za deň — Vďaka AI CoPilot...

16 May 2025

5

min čítania

AI inovácie

Adrian Sweeney

Keď som začínal tento projekt a bol to stále malá kódová základňa, vedel som, že unit testovanie bude dôležité, ale ako mnoho vývojárov, odložil som ho na stranu po vytvorení prvej sady testov v prospech budovania hlavnej funkčnosti. Mojím hlavným cieľom v začiatkoch bolo rozbehnúť middleware logiku — srdce aplikácie — a oživiť Minimálne Životaschopný Produkt (MVP). To znamenalo preskočenie veľkej časti pokrytia testami v mene pokroku.

Hneď ako MVP fungoval, obrátil som pozornosť späť k testovaniu. Keď som sa pozrel na projekt, odhadol som minimálne týždeň alebo dva písania testov, v závislosti od zložitosti každého komponentu. Niektoré by boli jednoduché. Iné — najmä tam, kde boli zapojené okrajové prípady alebo komplikovaná logika vetvenia — by boli oveľa náročnejšie na čas.

V tomto bode som sa obrátil na AI. Používal som "CoPilot" na pomoc s písaním kódu a myslel som si, že by mi mohol pomôcť aj s testami.

Skoré omyly s AI

Spočiatku som požiadal AI o "napísanie unit testov" bez akéhokoľvek skutočného kontextu alebo obmedzení. Výsledok? Neporiadok. Testy nefungovali, robili nesprávne predpoklady o kóde a celé úsilie sa zmenilo na cyklus rozbitého testovania kódu a frustrujúcich prepísaní. AI vygeneroval veľa kódu — ale nie takého typu, ktorý by som mohol použiť bez vážnej refaktorizácie.

Dávanie smeru AI

Prelom prišiel, keď som zmenil svoj prístup. Namiesto toho, aby som sa na AI díval ako na čarodejníka, začal som ho používať viac ako juniorského vývojára. Dával som mu jeden súbor naraz, vysvetľoval zámer kódu a hovoril mu, aby sa sústredil na písanie presných, funkčných testov len pre ten súbor.

To zmenilo všetko.

Náhle sa testy stali pre AI ľahšími na implementáciu. Boli správne ohraničené, zosúladené so skutočnou logikou a nevyžadovali hodiny ladenia. Môj AI prešiel súbor za súborom, písal a spúšťal testy.

Výsledky

Za menej ako deň sa pokrytie testami zvýšilo z 5% na viac ako 96%.

  • Inštrukcie: 96,72%
  • Vetvy: 95,67%
  • Funkcie: 92,1%
  • Riadky: 96,87%

Testy, ktoré by trvali dni napísať, boli dokončené za hodiny a duševný pokoj, ktorý prichádza s takmer úplným pokrytím testami? Neoceniteľný.

Prešiel som od jednej Testovacej Sady a 5 testov k:

  • 20 Testovacích Sád
  • 136 Úspešných testov

Čo som sa naučil

  • AI nie je mágia — ale je to neuveriteľný asistent. Dajte mu kontext, veďte ho a dostanete skvelé výsledky.
  • Zameranie záleží. Pýtať sa AI, aby "testoval všetko" vedie k chaosu. Pýtať sa ho, aby testoval tento súbor, túto funkciu, tento prípad — to funguje.
  • Očakávajte ladenie — ale oveľa menej než písanie od nuly. AI niekedy robí chyby, ale celkový proces je oveľa rýchlejší než pracovať samostatne.

Či už spúšťate nový projekt alebo sa snažíte doplniť testy do staršieho, AI môže byť obrovskou úsporou času — ak ho použijete správne.

Používate AI na písanie testov vo svojich projektoch? Aké sú vaše skúsenosti?

PrimeCRM

Späť do Centra Poznatkov