Från 5% till 96% testtäckning på en dag — Tack vare AI CoPilot

Från 5% till 96% testtäckning på en dag — Tack vare AI CoPilot...

16 May 2025

5

min läsning

AI-innovation

Adrian Sweeney

När jag startade detta projekt och det fortfarande var en liten kodbas visste jag att enhetstestning skulle vara viktigt, men som många utvecklare skjöt jag undan det efter att ha byggt den första testsviten till förmån för att bygga ut kärnfunktionaliteten. Mitt huvudmål tidigt var att få middleware-logiken att fungera — hjärtat i appen — och ge liv åt Minimum Viable Product (MVP). Det innebar att hoppa över en stor del av testtäckningen i framstegets namn.

När MVP:n fungerade vände jag uppmärksamheten tillbaka till testning. När jag tittade på projektet uppskattade jag minst en vecka eller två av att skriva tester, beroende på komplexiteten hos varje komponent. Vissa skulle vara enkla. Andra — särskilt där kantfall eller komplicerad förgreningslogik var inblandad — skulle vara mycket mer tidskrävande.

Vid den punkten vände jag mig till AI. Jag hade använt en "CoPilot" för att hjälpa till att skriva kod, och jag tänkte att den också kunde hjälpa till med tester.

Tidiga felsteg med AI

Först bad jag AI:n att "skriva enhetstester" utan någon verklig kontext eller begränsningar. Resultatet? En röra. Testerna fungerade inte, de gjorde felaktiga antaganden om koden, och hela ansträngningen förvandlades till en loop av trasig testkod och frustrerande omskrivningar. AI:n genererade mycket kod — men inte den typ jag kunde använda utan seriös refaktorering.

Att ge AI riktning

Genombrottet kom när jag ändrade min approach. Istället för att behandla AI:n som en trollkarl började jag använda den mer som en junior-utvecklare. Jag gav den en fil i taget, förklarade kodens avsikt, och sa åt den att fokusera på att skriva korrekta, funktionella tester endast för den filen.

Det förändrade allt.

Plötsligt var testerna lättare för AI:n att implementera. De var korrekt avgränsade, i linje med den faktiska logiken, och krävde inte timmar av felsökning. Min AI arbetade sig igenom fil för fil, skrev och körde tester.

Resultaten

På mindre än en dag hoppade testtäckningen från 5% till över 96%.

  • Statements: 96,72%
  • Branches: 95,67%
  • Funktioner: 92,1%
  • Rader: 96,87%

Tester som skulle ha tagit dagar att skriva slutfördes på timmar, och sinnesfriden som kommer med nästan fullständig testtäckning? Ovärderlig.

Jag gick från en Testsvit och 5 tester till:

  • 20 Testsviter
  • 136 Godkända tester

Vad jag lärde mig

  • AI är inte magiskt — men det är en otrolig assistent. Ge den kontext, vägled den, och du får fantastiska resultat.
  • Fokus spelar roll. Att be AI:n att "testa allt" leder till kaos. Att be den testa denna fil, denna funktion, detta fall — det fungerar.
  • Förvänta dig att felsöka — men mycket mindre än att skriva från grunden. AI:n gör ibland misstag, men den övergripande processen är mycket snabbare än att gå solo.

Oavsett om du startar ett nytt projekt eller försöker fylla i tester på ett äldre kan AI vara en enorm tidsbesparing — om du använder den väl.

Använder du AI för att skriva tester i dina projekt? Vad har din erfarenhet varit?

PrimeCRM

Tillbaka till Kunskapscentrum