Mano kelionė Kuriant AI padedamą API testavimo įrankį

Prieš kelias savaites pradėjau tyrinėti, kaip AI galėtų palaikyti automatizavimo testavimą naudojant „Antigravity“. Mano tikslas buvo paprastas – sumažinti pastangas, susijusias su API testų rašymu, priežiūra ir mastelio keitimu, kartu gerinant bendrą efektyvumą.
Pradėjau eksperimentuodamas su backend testo vykdymu, naudodamas REST Assured, o Antigravity padėjo man sukurti ir struktūrizuoti testavimo logiką. Užuot rašęs viską nuo nulio, procesui paspartinti naudojau AI raginimus. Rezultatai buvo tikrai daug žadantys – tai padėjo man judėti greičiau ir daugiau dėmesio skirti testavimo logikai, o ne pasikartojančioms kodavimo dalims.
Ši pradinė sėkmė suteikė man pasitikėjimo žengti žingsnį toliau.


Peržengimas už vykdymo ribų
Nors backend automatizavimas veikė gerai, supratau kai ką svarbaus: testų vykdymas yra tik viena problemos dalis. Tų testų valdymas, vizualizavimas ir organizavimas yra vienodai svarbūs.
Taigi nusprendžiau sukurti kažką aplinkui – priekinę programą, naudojančią Antigravity IDE, kuri galėtų palaikyti ir vizualizuoti API automatizavimą labiau struktūrizuotu būdu.
Idėja buvo ne pakeisti backend vykdymo įrankius, tokius kaip REST Assured, bet papildyti juos patogia sąsaja, kuri supaprastina bandomųjų atvejų kūrimą ir supratimą.
Kaip veikia programa
Iš pirmo žvilgsnio programa gali atrodyti kaip įprasta viso krūva sistema. Tačiau po gaubtu architektūra yra sąmoningai lengva ir paprasta.
Visa programa šiuo metu veikia kaip kliento sprendimas su minimaliu foninės sistemos dalyvavimu:
- Mažas Node.js serveris naudojamas tik statiniams failams, pvz., HTML, CSS ir JavaScript, aptarnauti
- Serverio pusėje nėra jokios verslo logikos
- API užklausos vykdomos tiesiai iš naršyklės, naudojant savąją „fetch“ API
- Visi duomenys, pvz., projektai, galutiniai taškai, antraštės ir naudingieji kroviniai, yra saugomi naršyklės „localStorage“
Paprasčiau tariant, pati naršyklė veikia ir kaip sąsaja, ir kaip vykdymo variklis.
Tai reiškia, kad vartotojui spustelėjus „Vykdyti“ arba suaktyvinus užklausą, iš jo įrenginio tiesiogiai skambinama tikslinei API, neperžengiant tradicinio užpakalinio sluoksnio.


Kodėl šis metodas veikia
Šiame vystymosi etape ši lengva architektūra pasirodė esanti labai efektyvi.
Pirma, tai pašalina sudėtingos foninės sistemos sąrankos poreikį. Nėra duomenų bazės konfigūracijos, diegimo priklausomybių ir infrastruktūros papildomų išlaidų. Tai leidžia lengvai paleisti programą ir su ja eksperimentuoti.
Antra, tai žymiai pagerina greitį. Kadangi viskas veikia naršyklėje, pakeitimus galima išbandyti akimirksniu, nelaukiant kūrimo ar diegimo.
Trečia, jis tarnauja kaip galingas prototipas. Net ir be visos užpakalinės programos, programa suteikia aiškų būdą kurti, struktūrizuoti ir vizualizuoti API bandymų atvejus.
Svarbiausia, kad tai leido man sutelkti dėmesį į tai, kas iš tikrųjų svarbu:
- Kaip kuriami bandomieji atvejai
- Kaip vartotojai sąveikauja su įrankiu
- Kaip struktūruojamos API darbo eigos
Užuot įstrigęs nustatant ir konfigūruodamas, galėčiau sutelkti dėmesį į tikrosios problemos sprendimą.
AI vaidmuo šioje kelionėje
Antigravitacija vaidino pagrindinį vaidmenį visame šiame procese.
Tai veikė kaip vystymosi partneris – padėjo man judėti greičiau ir aiškiau mąstyti.
Su AI palaikymu galėjau:
- Greitai generuokite vartotojo sąsajos komponentus
- Struktūrinių programų darbo eigos
- Sukurkite ir patobulinkite užpakalinės programos testavimo logiką naudodami „Rest Assured“.
- Sumažinkite laiką, sugaištą pasikartojančiam kodui
Tačiau vienas svarbus supratimas buvo tai, kad AI nepakeičia supratimo. Tai pagreitina kūrimą, bet man vis tiek reikėjo patvirtinti, patobulinti ir kartais pataisyti tai, ką jis sukūrė.
Daugeliu atžvilgių tai pakeitė mano vaidmenį nuo „kodo rašymo“ prie „sprendimų kūrimo“.


Iššūkiai kelyje
Kaip ir bet kuri mokymosi kelionė, ši neapsiėjo be iššūkių.
Vienas didžiausių iššūkių buvo suprasti ir patikrinti AI sukurtą kodą. Nors tai pagreitina procesą, vis tiek reikia atidžiai peržiūrėti, kad būtų užtikrintas teisingumas.
Kitas iššūkis buvo nuspręsti, kiek statyti. Dirbant su galingais įrankiais lengva viską perkomplikuoti, tačiau turėjau sąmoningai išlaikyti programą paprasta ir susikaupusią.
Taip pat turėjau pakeisti savo mąstymą – nuo mąstymo tik kaip bandytojas prie mąstymo kaip statybininkas. Dėl šio perėjimo turėjau apsvarstyti tinkamumą naudoti, struktūrą ir ilgalaikį mastelį.
Ką Išmokau
Ši patirtis buvo lūžis mano, kaip QA inžinieriaus, vaidmenyje.
Supratau, kad neapsiribojame programų testavimu – galime sukurti įrankius, kurie pagerina patį testavimo procesą.
Taip pat sužinojau, kad:
- AI yra produktyvumo didinimo priemonė, o ne pakaitalas
- Paprastos architektūros vis tiek gali suteikti reikšmingos vertės
- Tikrieji įgūdžiai yra veiksmingų sprendimų kūrimas, o ne tik kodo rašymas
Svarbiausia, kad pradėjau galvoti ne tik apie atskirus bandymo atvejus ir sutelkti dėmesį į sistemų, kurios palengvina ir efektyvina testavimą, kūrimą.
Kas toliau
Tai vis dar besivystantis projektas, ir aš planuoju padaryti daug daugiau.
Kiti veiksmai apima:
- Užpakalinės programos vykdymo integravimas su sąsaja
- Realaus laiko API bandomųjų paleidimų įgalinimas. Patvirtinimo ir ataskaitų teikimo funkcijų pridėjimas NS tobulinimas, kad būtų lengviau naudoti ir mastelį
- Dabartinė versija yra tvirtas pagrindas, ir aš džiaugiuosi galėdamas kurti ant jo.
Paskutinės mintys
Tai, kas prasidėjo kaip paprastas AI tyrinėjimas testuojant, išaugo į daug prasmingesnį dalyką. Ši kelionė padėjo man suprasti, kaip dirbtinis intelektas, automatizavimas ir programų dizainas gali susijungti, kad būtų sukurti išmanesni testavimo sprendimai. Kaip QA inžinieriai, esame unikalioje padėtyje – suprantame ir produktą, ir jo kokybę. Naudodami tokius įrankius kaip „Antigravity“, dabar turime galimybę tą supratimą paversti tikrais, naudotinais sprendimais. Toliau dalinsiuos daugiau naujienų ir žinių, kai tai vystysis.
Netrukus bus daugiau…



Post Comment
Tik prisijungę vartotojai gali komentuoti.