Fra 5% til 96% testdækning på en dag — Takket være AI CoPilot

Fra 5% til 96% testdækning på en dag — Takket være AI CoPilot...

16 May 2025

5

min læsning

AI-innovation

Adrian Sweeney

Da jeg startede dette projekt, og det stadig var en lille kodebase, vidste jeg, at unit testing ville være vigtigt, men som mange udviklere lagde jeg det til side efter at have bygget det første sæt tests til fordel for at bygge kernefunktionaliteten. Mit hovedmål i de tidlige stadier var at få middleware-logikken til at fungere — hjerte af app'en — og bringe Minimum Viable Product (MVP) til live. Det betød at springe en stor del af testdækningen over i progressens navn.

Så snart MVP'en fungerede, vendte jeg min opmærksomhed tilbage til testing. Da jeg kiggede på projektet, estimerede jeg mindst en uge eller to med at skrive tests, afhængigt af kompleksiteten af hver komponent. Nogle ville være simple. Andre — især hvor der var involveret edge cases eller kompliceret forgreningslogik — ville være meget mere tidskrævende.

På dette tidspunkt vendte jeg mig til AI. Jeg brugte "CoPilot" til at hjælpe med at skrive kode og tænkte, at det også kunne hjælpe med tests.

Tidlige bommerter med AI

Til at begynde med bad jeg AI om at "skrive unit tests" uden nogen rigtig kontekst eller begrænsninger. Resultatet? Et rod. Tests fungerede ikke, de lavede forkerte antagelser om koden, og hele bestræbelsen blev til en cyklus af ødelagt testkode og frustrerende omskrivninger. AI genererede en masse kode — men ikke den type, jeg kunne bruge uden seriøs refaktorering.

At give AI retning

Gennembruddet kom, da jeg ændrede min tilgang. I stedet for at behandle AI som en tryllekunstner, begyndte jeg at bruge det mere som en junior udvikler. Jeg gav det en fil ad gangen, forklarede kodens hensigt og fortalte det at fokusere på at skrive præcise, funktionelle tests kun for den fil.

Det ændrede alt.

Pludselig blev tests lettere for AI at implementere. De var korrekt afgrænset, på linje med den faktiske logik og krævede ikke timer med debugging. Min AI arbejdede sig gennem fil efter fil, skrev og kørte tests.

Resultaterne

På mindre end en dag sprang testdækningen fra 5% til over 96%.

  • Statements: 96,72%
  • Branches: 95,67%
  • Functions: 92,1%
  • Lines: 96,87%

Tests, der ville have taget dage at skrive, blev færdige på timer, og den fred i sindet, der kommer med næsten fuld testdækning? Uvurderlig.

Jeg gik fra én Test Suite og 5 tests til:

  • 20 Test Suites
  • 136 Bestået Tests

Hvad jeg lærte

  • AI er ikke magi — men det er en utrolig assistent. Giv det kontekst, guid det, og du får fantastiske resultater.
  • Fokus betyder noget. At bede AI om at "teste alt" fører til kaos. At bede det teste denne fil, denne funktion, dette tilfælde — det virker.
  • Forvent debugging — men meget mindre end at skrive fra bunden. AI laver nogle gange fejl, men den overordnede proces er meget hurtigere end at arbejde alene.

Uanset om du lancerer et nyt projekt eller forsøger at tilføje tests til et ældre, kan AI være en enorm tidsbesparelse — hvis du bruger det korrekt.

Bruger du AI til at skrive tests i dine projekter? Hvad er din oplevelse?

PrimeCRM

Tilbage til Videnscenter