Z 5% na 96% pokrytí testů za den — Díky AI CoPilot

Z 5% na 96% pokrytí testů za den — Díky AI CoPilot...

16 May 2025

5

min čtení

AI inovace

Adrian Sweeney

Když jsem začínal tento projekt a stále to byla malá kódová základna, věděl jsem, že unit testování bude důležité, ale jako mnoho vývojářů jsem ho odložil stranou po vytvoření první sady testů ve prospěch budování hlavní funkcionality. Mým hlavním cílem v počátcích bylo rozjet middleware logiku — srdce aplikace — a oživit Minimální Životaschopný Produkt (MVP). To znamenalo přeskočit velkou část pokrytí testy ve jménu pokroku.

Jakmile MVP fungovalo, obrátil jsem pozornost zpět k testování. Při pohledu na projekt jsem odhadl nejméně týden nebo dva psaní testů, v závislosti na složitosti každé komponenty. Některé by byly jednoduché. Jiné — zejména tam, kde byly zapojeny hraniční případy nebo složitá větvená logika — by byly mnohem náročnější na čas.

V tomto bodě jsem se obrátil na AI. Používal jsem "CoPilot" k pomoci s psaním kódu a myslel jsem, že by mi mohlo pomoci i s testy.

Rané omyly s AI

Zpočátku jsem požádal AI, aby "napsalo unit testy" bez jakéhokoliv skutečného kontextu nebo omezení. Výsledek? Nepořádek. Testy nefungovaly, dělaly nesprávné předpoklady o kódu a celé úsilí se změnilo v cyklus rozbitého testovacího kódu a frustrujících přepisů. AI vygenerovalo hodně kódu — ale ne takového typu, který bych mohl použít bez vážného refaktoringu.

Dávání směru AI

Průlom přišel, když jsem změnil svůj přístup. Místo zacházení s AI jako s kouzelníkem jsem ho začal používat spíše jako junior vývojáře. Dával jsem mu jeden soubor najednou, vysvětloval záměr kódu a říkal mu, aby se zaměřil na psaní přesných, funkčních testů pouze pro ten soubor.

To změnilo všechno.

Najednou se testy staly pro AI snazšími k implementaci. Byly správně ohraničené, sladěné se skutečnou logikou a nevyžadovaly hodiny debugování. Moje AI prošlo soubor za souborem, psalo a spouštělo testy.

Výsledky

Za méně než den pokrytí testy vyskočilo z 5% na více než 96%.

  • Instrukce: 96,72%
  • Větve: 95,67%
  • Funkce: 92,1%
  • Řádky: 96,87%

Testy, které by trvaly dny napsat, byly dokončeny za hodiny, a duševní klid, který přichází s téměř úplným pokrytím testy? Neocenitelný.

Přešel jsem od jedné Test Suite a 5 testů k:

  • 20 Test Suites
  • 136 Úspěšných testů

Co jsem se naučil

  • AI není magie — ale je to neuvěřitelný asistent. Dejte mu kontext, veďte ho, a dostanete skvělé výsledky.
  • Zaměření má význam. Žádat AI, aby "testovalo všechno" vede k chaosu. Žádat ho, aby testovalo tento soubor, tuto funkci, tento případ — to funguje.
  • Očekávejte debugování — ale mnohem méně než psaní od nuly. AI někdy dělá chyby, ale celkový proces je mnohem rychlejší než práce sama.

Ať už spouštíte nový projekt nebo se snažíte přidat testy do staršího, AI může být obrovskou úsporou času — pokud ho používáte správně.

Používáte AI pro psaní testů ve svých projektech? Jaké jsou vaše zkušenosti?

PrimeCRM

Zpět do Centra Znalostí