5%-lt 96%-ni testikatte ühes päevas — Tänu AI CoPilot-ile...
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.
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.
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.
Vähem kui päevaga hüppas testikate 5%-lt üle 96%-le.
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:
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?