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

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

16 May 2025

5

min å lese

AI-innovasjon

Adrian Sweeney

Da jeg startet dette prosjektet og det fortsatt var en liten kodebase, visste jeg at enhetstesting ville være viktig, men som mange utviklere la jeg det til side etter å ha bygget det første settet med tester til fordel for å bygge kjernefunksjonaliteten. Hovedmålet mitt i de tidlige stadiene var å få middleware-logikken til å fungere — hjertet av appen — og bringe Minimum Viable Product (MVP) til live. Dette betydde å hoppe over en stor del av testdekningen i fremskrittets navn.

Så snart MVP fungerte, vendte jeg oppmerksomheten tilbake til testing. Når jeg så på prosjektet, estimerte jeg minst en uke eller to med å skrive tester, avhengig av kompleksiteten til hver komponent. Noen ville være enkle. Andre — spesielt der edge cases eller komplisert forgreningslogikk var involvert — ville være mye mer tidkrevende.

På dette punktet vendte jeg meg til AI. Jeg brukte "CoPilot" for å hjelpe med å skrive kode og tenkte at det kunne hjelpe med tester også.

Tidlige bommer med AI

I begynnelsen ba jeg AI om å "skrive enhetstester" uten noen reell kontekst eller begrensninger. Resultatet? Et rot. Testene fungerte ikke, de gjorde feil antagelser om koden, og hele tiltaket ble til en syklus av ødelagt testkode og frustrerende omskrivninger. AI genererte mye kode — men ikke den typen jeg kunne bruke uten seriøs refaktorering.

Å gi AI retning

Gjennombruddet kom da jeg endret tilnærmingen min. I stedet for å behandle AI som en trollmann, begynte jeg å bruke det mer som en junior utvikler. Jeg ga det én fil om gangen, forklarte kodens hensikt og sa det skulle fokusere på å skrive presise, funksjonelle tester bare for den filen.

Det endret alt.

Plutselig ble tester lettere for AI å implementere. De var riktig avgrenset, på linje med den faktiske logikken og krevde ikke timer med feilsøking. Min AI gikk gjennom fil etter fil, skrev og kjørte tester.

Resultatene

På mindre enn en dag hoppet testdekningen fra 5% til over 96%.

  • Uttalelser: 96,72%
  • Grener: 95,67%
  • Funksjoner: 92,1%
  • Linjer: 96,87%

Tester som ville ha tatt dager å skrive, ble ferdig på timer, og den roen som kommer med nesten full testdekning? Uvurderlig.

Jeg gikk fra én Test Suite og 5 tester til:

  • 20 Test Suites
  • 136 Bestått tester

Hva jeg lærte

  • AI er ikke magi — men det er en utrolig assistent. Gi det kontekst, veilede det, og du får fantastiske resultater.
  • Fokus betyr noe. Å be AI om å "teste alt" fører til kaos. Å be det teste denne filen, denne funksjonen, dette tilfellet — det fungerer.
  • Forvent feilsøking — men mye mindre enn å skrive fra bunnen av. AI gjør noen ganger feil, men den overordnede prosessen er mye raskere enn å jobbe alene.

Enten du lanserer et nytt prosjekt eller prøver å legge til tester til et eldre, kan AI være en enorm tidsbesparelse — hvis du bruker det riktig.

Bruker du AI til å skrive tester i prosjektene dine? Hva er din erfaring?

PrimeCRM

Tilbake til Kunnskapssenter