Z 5% na 96% pokrytí testů za den — Díky AI CoPilot...
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.
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.
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.
Za méně než den pokrytí testy vyskočilo z 5% na více než 96%.
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:
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?