5%-lt 96%-ni testikatte ühes päevas — Tänu AI CoPilot-ile

5%-lt 96%-ni testikatte ühes päevas — Tänu AI CoPilot-ile...

16 May 2025

5

min lugemist

AI innovatsioon

Adrian Sweeney

Kui ma hakkasin seda projekti ja see oli veel väike koodibaas, teadsin, et ühiktestimine on oluline, kuid nagu paljud arendajad, panin selle kõrvale pärast esimese testikomplekti ehitamist põhifunktsionaalsuse ehitamise kasuks. Minu peamine eesmärk varajastes etappides oli saada middleware loogika tööle — rakenduse süda — ja elustada Minimaalne Elujõuline Toode (MVP). See tähendas suure osa testikatte vahele jätmist progressi nimel.

Niipea kui MVP töötas, pöördusin ma tagasi testimise juurde. Projekti vaadates hindasin vähemalt ühe või kahe nädala testide kirjutamist, sõltuvalt iga komponendi keerukusest. Mõned oleksid lihtsad. Teised — eriti seal, kus olid kaasatud äärjuhtumid või keeruline hargnemisloogika — oleksid palju aeganõudvamad.

Sel hetkel pöördusin AI poole. Kasutasin "CoPilot" koodi kirjutamise abiks ja mõtlesin, et see võiks aidata ka testidega.

Varajased eksimused AI-ga

Algselt palusin AI-l "kirjutada ühikteste" ilma mingi tegeliku konteksti või piiranguteta. Tulemus? Segi ajamine. Testid ei töötanud, tegid valesid eeldusi koodi kohta ja kogu ettevõtmine muutus katki läinud testkoodi ja frustreerivate ümbkirjutuste tsükliks. AI genereeris palju koodi — kuid mitte sellist tüüpi, mida ma saanuks kasutada ilma tõsise refaktoriseerimiseta.

AI-le suuna andmine

Läbimurre tuli, kui muutsin oma lähenemist. Selle asemel, et käituda AI-ga nagu nõiaga, hakkasin seda kasutama rohkem nagu juuniorarendajat. Andsin talle ühe faili korraga, seletasin koodi kavatsust ja ütlesin keskenduda täpsete, funktsionaalsete testide kirjutamisele ainult selle faili jaoks.

See muutis kõike.

Äkki muutusid testid AI jaoks lihtsamaks rakendada. Need olid õigesti piiratud, viidud vastavusse tegeliku loogikaga ega nõudnud tundide kaupa silumist. Minu AI töötas läbi faili faili järel, kirjutades ja käivitades teste.

Tulemused

Vähem kui päevaga hüppas testikate 5%-lt üle 96%-le.

  • Käsud: 96,72%
  • Harud: 95,67%
  • Funktsioonid: 92,1%
  • Read: 96,87%

Testid, mis oleksid võtnud päevi kirjutamiseks, said valmis tundidega, ja vaimne rahu, mis tuleb peaaegu täieliku testikattega? Hindamatu.

Läksin ühe Testikomplekti ja 5 testilt üle:

  • 20 Testikomplekti
  • 136 Läbitud Testi

Mida ma õppisin

  • AI ei ole maagia — kuid see on uskumatu abiline. Anna sellele kontekst, juhi seda ja sa saad suurepäraseid tulemusi.
  • Fookus on oluline. AI-lt "kõige testimist" küsida viib kaoseni. Küsida sellelt selle faili, selle funktsiooni, selle juhtumi testimist — see töötab.
  • Oota silumist — kuid palju vähem kui nullist kirjutamist. AI teeb mõnikord vigu, kuid üldprotsess on palju kiirem kui üksi töötamine.

Olenemata sellest, kas käivitate uue projekti või proovite lisada teste vanema juurde, saab AI olla tohutu aja kokkuhoid — kui kasutate seda õigesti.

Kas kasutate AI testide kirjutamiseks oma projektides? Milline on teie kogemus?

PrimeCRM

Tagasi Teadmiste Keskusesse