No 5% līdz 96% testu pārklājums dienā — Pateicoties AI CoPilot

No 5% līdz 96% testu pārklājums dienā — Pateicoties AI CoPilot...

16 May 2025

5

min lasīšana

AI inovācijas

Adrian Sweeney

Kad sāku šo projektu un tas joprojām bija maza koda bāze, es zināju, ka vienību testēšana būs svarīga, bet tāpat kā daudzi izstrādātāji, es to atliku malā pēc pirmā testu komplekta izveides galvenās funkcionalitātes veidošanas labā. Mans galvenais mērķis agrīnos posmos bija likt middleware loģikai darboties — lietotnes sirds — un atdzīvināt Minimāli Dzīvotspējīgo Produktu (MVP). Tas nozīmēja liela testu pārklājuma daļas izlaišanu progresa vārdā.

Tiklīdz MVP strādāja, es pavērsu uzmanību atpakaļ pie testēšanas. Skatoties uz projektu, es novērtēju vismaz nedēļu vai divas testu rakstīšanai, atkarībā no katras komponentes sarežģītības. Daži būtu vienkārši. Citi — īpaši tur, kur iesaistīti robežgadījumi vai sarežģīta sazarošanās loģika — būtu daudz laikietilpīgāki.

Šajā brīdī es pievērsos MI. Es izmantoju "CoPilot" palīdzībai koda rakstīšanā un domāju, ka tas varētu palīdzēt arī ar testiem.

Agrīnie kļūdaini mēģinājumi ar MI

Sākumā es lūdzu MI "uzrakstīt vienību testus" bez jebkāda reāla konteksta vai ierobežojumiem. Rezultāts? Haoss. Testi nestrādāja, tie veica nepareizus pieņēmumus par kodu, un viss pasākums pārvērtās salauztā testu koda un nomācošu pārrakstīšanu ciklā. MI ģenerēja daudz koda — bet ne to veidu, kuru es varētu izmantot bez nopietnas refaktorēšanas.

MI virziena dotuma sniegšana

Caururums radās, kad es mainīju savu pieeju. Tā vietā, lai izturētos pret MI kā pret burvi, es sāku to izmantot vairāk kā jaunāko izstrādātāju. Es tam dodu pa vienam failam vienlaicīgi, izskaidroju koda nolūku un teicu koncentrēties uz precīzu, funkcionālu testu rakstīšanu tikai šim failam.

Tas mainīja visu.

Pēkšņi testi kļuva vieglāki MI īstenošanai. Tie bija pareizi ierobežoti, saskaņoti ar faktisko loģiku un neprasīja stundu skaitei ilgu atkļūdošanu. Mans MI strādāja cauri failam pēc faila, rakstot un palaižot testus.

Rezultāti

Mazāk nekā dienā testu pārklājums palēcās no 5% līdz vairāk nekā 96%.

  • Paziņojumi: 96,72%
  • Zari: 95,67%
  • Funkcijas: 92,1%
  • Rindas: 96,87%

Testi, kas prasītu dienas rakstīšanai, tika pabeigti stundās, un garīgais miers, kas nāk ar gandrīz pilnīgu testu pārklājumu? Nenovērtējams.

Es pārgāju no viena Testu komplekta un 5 testiem uz:

  • 20 Testu komplektiem
  • 136 Izturētiem testiem

Ko es iemācījos

  • MI nav burvība — bet tā ir neticams asistents. Sniedziet tai kontekstu, vadiet to, un jūs iegūsiet lieliskus rezultātus.
  • Fokuss ir svarīgs. Lūgt MI "testēt visu" ved pie haosa. Lūgt to testēt šo failu, šo funkciju, šo gadījumu — tas darbojas.
  • Gaidiet atkļūdošanu — bet daudz mazāk nekā rakstīšanu no nulles. MI dažreiz dara kļūdas, bet kopējais process ir daudz ātrāks nekā darbs vienam.

Neatkarīgi no tā, vai jūs palaižat jaunu projektu vai mēģināt pievienot testus vecākam, MI var būt milzīga laika ietaupīšana — ja jūs to izmantojat pareizi.

Vai jūs izmantojat MI testu rakstīšanai savos projektos? Kāda ir jūsu pieredze?

PrimeCRM

Atpakaļ uz Zināšanu Centru