5%:sta 96%:iin testikattavuutta päivässä — Kiitos AI CoPilot...
Kun aloitin tämän projektin ja se oli vielä pieni koodikanta, tiesin että yksikkötestaus olisi tärkeää, mutta kuten monet kehittäjät, laitoin sen sivuun ensimmäisen testisarjan rakentamisen jälkeen ydintoiminnallisuuden rakentamisen puolesta. Pääasiallinen tavoitteeni varhaisissa vaiheissa oli saada middleware-logiikka toimimaan — sovelluksen sydän — ja herättää Minimum Viable Product (MVP) henkiin. Tämä tarkoitti testikattavuuden ison osan ohittamista edistymisen nimissä.
Heti kun MVP toimi, käänsin huomioni takaisin testaukseen. Projektin katsomisessa arvioin vähintään viikon tai kaksi testien kirjoittamista, riippuen kunkin komponentin monimutkaisuudesta. Jotkut olisivat yksinkertaisia. Toiset — erityisesti siellä missä oli mukana reunatapauksia tai monimutkaista haarautumislogiikkaa — olisivat paljon aikaa vievämpiä.
Tässä vaiheessa käännyin AI:n puoleen. Käytin "CoPilotia" apuna koodin kirjoittamisessa ja ajattelin että se voisi auttaa myös testeissä.
Aluksi pyysin AI:ta "kirjoittamaan yksikkötestejä" ilman mitään todellista kontekstia tai rajoituksia. Lopputulos? Sotku. Testit eivät toimineet, ne tekivät vääriä oletuksia koodista, ja koko yritys muuttui rikkinäisen testikoodin ja turhauttavien uudelleenkirjoitusten sykliksi. AI tuotti paljon koodia — mutta ei sitä tyyppiä jota olisin voinut käyttää ilman vakavaa refaktorointia.
Läpimurto tuli kun muutin lähestymistapaani. Sen sijaan että olisin kohdellut AI:ta kuin velhoa, aloin käyttää sitä enemmän kuin nuorempaa kehittäjää. Annoin sille yhden tiedoston kerrallaan, selitin koodin tarkoituksen ja sanoin keskittyä kirjoittamaan tarkkoja, toiminnallisia testejä vain sille tiedostolle.
Se muutti kaiken.
Yhtäkkiä testit tulivat helpommiksi AI:lle toteuttaa. Ne olivat oikein rajattuja, kohdistettu todelliseen logiikkaan eivätkä vaatineet tunteja debuggausta. AI:ni kävi läpi tiedosto tiedostolta, kirjoittaen ja ajamalla testejä.
Alle päivässä testikattavuus hyppäsi 5%:sta yli 96%:iin.
Testit jotka olisivat ottaneet päiviä kirjoittaa, valmistuivat tunneissa, ja se mielenrauha joka tulee lähes täydellisen testikattavuuden kanssa? Korvaamaton.
Menin yhdestä Test Suitesta ja 5 testistä:
Riippumatta siitä käynnistätkö uutta projektia vai yrität lisätä testejä vanhempaan, AI voi olla valtava ajan säästö — jos käytät sitä oikein.
Käytätkö AI:ta testien kirjoittamiseen projekteissasi? Mikä on kokemuksesi?