Z 5% na 96% pokrytie testov za deň — Vďaka AI CoPilot...
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.
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.
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.
Za menej ako deň sa pokrytie testami zvýšilo z 5% na viac ako 96%.
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:
Č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?