További posztjaink


Az elmúlt két évben a csapból is a chatbotok és a generatív szöveges asszisztensek folytak. Miközben a techvilág a teljesen digitális és érintésmentes ügyfélélménytől volt hangos, a valóság a magyar kis- és középvállalkozások (KKV) szintjén egészen máshogy néz ki. Ebben a szektorban ma is személyesen, emailben és legfőképpen telefonon köttetnek és zárulnak az üzletek. A telefon nem egy elavult, lecserélendő, múlt századi csatorna, hanem a vállalkozások utolsó valódi, közvetlen ügyfélszolgálati és értékesítési bástyája – ami pont most, a mesterséges intelligencia korában kezd újra igazán emberivé válni.

2007 óta dolgozom frontend fejlesztőként. Ez idő alatt végignéztem néhány technológiai váltást, frameworkháborút és olyan trendeket, amelyekről éppen azt gondoltuk, hogy örökre megváltoztatják a szakmát. Az AI körüli hullámot eleinte hasonló fenntartásokkal figyeltem. Érdekesnek találtam, hasznosnak is, de kételkedtem benne, hogy alapvetően megváltoztatja a mindennapi munkámat. Aztán egyszer csak azon kaptam magam, hogy olyan projekteket viszek végig egyedül, amelyekhez korábban több különböző szakterület tudására lett volna szükség. Nem azért, mert egyik napról a másikra backend fejlesztő, DevOps mérnök, projektmenedzser vagy UX designer lettem. Sokkal inkább azért, mert kaptam egy csapatot. Csak éppen nem emberekből áll.
A tesztelés tele van olyan feladatokkal, amik fontosak, de nem feltétlenül igénylik minden percben az ember kreativitását: teszteset-vázlatok megírása, dokumentáció karbantartása, egy Jira ticket alapján a lefedettség átgondolása, funkciók működésének feltérképezése. Ezek pont azok a területek, ahol egy AI-asszisztens nagyon gyorsan érdemi segítséget tud adni, nem azért, hogy kiváltsa a tesztelőt, hanem azért, hogy a gondolkodási munkát ne a gépelés, a sablonok megírása vagy az utánajárás vegye el.
Egy AI-pilot elindítása nem azt jelenti, hogy egyik napról a másikra mindent átalakítunk. Azt jelenti, hogy kiválasztunk egy jól körülhatárolható, alacsony kockázatú feladatot, megnézzük, hogyan viselkedik vele az AI, és onnan építünk tovább. Ez a cikk azt a tapasztalatot osztja meg, amit mi szereztünk ezen az úton.
Nálunk a válasz egyértelmű volt: teszteset generálás és dokumentáció generálás. Ez két olyan terület, ahol a bemenet jól strukturált (egy Jira ticket, egy kódrészlet, egy már létező teszt), és az AI kimenete viszonylag könnyen ellenőrizhető egy emberi review során.
A gyakorlatban ez így néz ki:
Input forrásként három dolgot használunk: a Jira ticket leírását (ahol a feladat leírása és a követelményei vannak a legtöbb esetben), a tényleges forráskódot a fejlesztési branch-ből, illetve amennyiben létezik, a már meglévő, korábban megírt teszteseteket mintaként.
A fejlesztők és tesztelők a repót lokálisan tartják, jellemzően nem csak a master, hanem az adott feladathoz tartozó aktuális fejlesztési branch is ki van checkoutolva.
A repó Visual Studio Code-ban van megnyitva, ahol a Claude kiegészítőt használjuk: itt fogalmazzuk meg a promptokat, és itt tesszük fel a konkrét kérdéseket a kódra vagy a ticketre vonatkozóan.
A Jira közvetlenül összekötött a Claude-dal, így a ticket kontextusa elérhető anélkül, hogy mindent kézzel kellene átmásolni.
A létrehozott teszteseteket a Testomat.io-ban tároljuk, ami szintén kapcsolódik a Claude-hoz, ezáltal hozzáfér a már korábban létrehozott tesztesetekhez, és ide akár újakat is létre tud hozni.
Ez a kombináció (Jira + kód + meglévő teszt, mint input) azért működik jól, mert az AI nem a semmiből próbál teszteseteket kitalálni, hanem három, egymást kiegészítő kontextusból dolgozik.
Az AI a tesztelésben nem varázsütésre alakít át mindent, és nem is a tesztelő helyére pályázik. De hol éri meg elkezdeni, és mire jó valójában? Mi a wd-nél teszteset- és dokumentációgenerálással indítottunk pilotot: megosztjuk, mi működött, min buktunk el elsőre, és hogyan épült be néhány elem a napi rutinba.
Megosztás

Egy pilot annyit ér, amennyire tervezhető és mérhető. Érdemes előre rögzíteni néhány alapvető elemet:
Eszközök. Válasszunk ki egy konkrét AI-eszközt és integrációs pontokat (nálunk ez a Claude a VS Code-on belül, Jira és a Testomat.io), és a pilot ideje alatt ne váltogassunk eszközt, így a tapasztalatok összehasonlíthatók maradnak.
Felelősségek. Tisztázzuk, ki fogalmazza meg a promptokat, ki vizsgálja át az AI által generált teszteseteket, és ki dönt arról, hogy egy generált elem bekerülhet-e a végleges teszt állományba. Ezt érdemes egy tapasztalt minőség biztosító kollégára bízni az elején, amíg nem forrja ki magát a folyamat, és nincsenek véglegesített promtjaink és egységesített skilljeink! Az emberi review lépés nem opcionális, ez a minőségbiztosítás egyik kulcseleme.
Időkeret. Egy pár hetes, jól lehatárolt időszak (pl. egy-két sprint) elég ahhoz, hogy érdemi mintát lehessen gyűjteni anélkül, hogy a csapat túlságosan elköteleződne egy még nem bevált munkamódra.
Mérési pontok. Érdemes már a pilot elején meghatározni, mit fogunk nézni a végén.
pl.: Mennyi időt spóroltunk? Hány generált tesztesetet kellett emberi beavatkozással módosítani? Hol bukott el az AI rendszeresen? Milyen pontossággal sikerült behatárolnia a teszteseteket? Ez csak pár példa, de az ezekhez hasonló kérdések kulcsfontosságúak lehetnek egy ilyen pilot projekt esetében.

Néhány dolog, ami nálunk nem működött elsőre:
Túl kevés kontextus a promptban. Ha csak a Jira ticketet adtuk meg a kód nélkül, az AI gyakran túl általános, a konkrét implementációtól elszakadó teszteseteket generált. Amint bekerült a tényleges kódrészlet figyelembe vétele is a promptba, a tesztesetek sokkal pontosabbak és relevánsabbak lettek.
A generált tesztesetek formátuma nem igazodott a Testomat.io elvárt struktúrájához. Az első körben sok manuális utánigazítás kellett, mire a generált kimenet formátuma illeszkedett ahhoz, ahogyan nálunk a teszteseteket tároljuk és kezeljük.
Ezek nem AI-specifikus problémák, hanem tipikus "új eszköz bevezetése" tapasztalatok, de érdemes előre számolni velük, hogy a csapat ne veszítse el a lendületet az első buktatóknál. Az első pár próbálkozás egészen biztosan nem fogja azt a kimenetelt hozni, amit elképzeltünk, (hacsak nem promtolunk tökéletesen), viszont erre a problémára létezik az ún. Reverse Promt Engineering technika, amit mi is sokszor alkalmazunk.
Ennek a lényege, hogy amikor nem egyből kapod meg a jó választ, hanem 4-5 lépésben, kérdésekkel és javításokkal terelgeted az AI-t, a folyamat végén megkéred, hogy írjon egy olyan promtot, amivel a kívánt eredményt egyetlen kéréssel elérted volna. Ez persze tokenekbe kerül, de csak egyszer, hiszen ha megvan a kívánt promt, ami egy kérésből teljesíti a korábbi 4-5 kérést, nem kell köbbet korrigálni.
Nálunk mára néhány elem beépült a napi rutinba. Elsőnek a Claude kiegészítő VS Code-ban. Amikor valaki egy Jira tickethez tesztesetet készít, vagy egy meglévő automatizált teszt mögötti logikát szeretné dokumentálni, vagy egy dokumentáció nélküli folyamatot szeretne megismerni, rendkívül hasznos partner. Önmagában már ez is sokat segít a tesztelésben. A teljes folyamatot viszont apránként érdemes kidolgozni, átgondolni, majd kis csoportokban tesztelni. Egy AI diven tesztelési flow sok kérdést vet fel, és sok lehetőséget lekell kezelni, ezért erre nincs egyértelmű recept, projekt és leginkább komplexitás függő.
A következő lépések, amiket mi is látunk magunk előtt:
A pilot tapasztalatait dokumentálni.
Tovább finomítani, mely tesztelési feladatokra érdemes AI-t bevonni, és melyekre nem (pl. ahol az emberi domain tudás vagy az üzleti kontextus ismerete nélkülözhetetlen).
Az emberi review lépést megtartani. A cél nem az, hogy az AI helyettesítse a tesztelőt, hanem hogy a tesztelő ideje a valóban kritikus gondolkodásra szabaduljon fel.
Egy AI-pilot sikere nem azon mérhető, hogy mennyire volt tökéletes az első próbálkozás, hanem azon, hogy a csapat képes volt-e tanulni belőle, és fokozatosan, megalapozottan beépíteni a napi munkába.