A modern szoftverfejlesztés egyik legnagyobb kihívása az idő. A sprintek rövidek, a funkciók száma folyamatosan nő, miközben a minőségi elvárások nem csökkennek. Ebben a feszített tempóban a teszt tervezése és a tesztesetek megírása gyakran a fejlesztési folyamat szűk keresztmetszetévé válik. Egy manuális tesztelő órákat tölthet azzal, hogy egy-egy komplex user story alapján pontról pontra kidolgozza a tesztlépéseket, megfogalmazza az elvárt eredményeket és összegyűjtse a szükséges tesztadatokat.
De mi lenne, ha ezt az előkészítő munkát egy intelligens asszisztens végezné el helyettünk másodpercek alatt?
A mesterséges intelligencia (AI) és a nagy nyelvi modellek (LLM-ek) térnyerése forradalmasítja a teszttervezést. Ahogy azt az AI által generált tesztesetek: mennyire megbízhatóak valójában? A Tesztautomatizálás útmutató: mikor, hogyan és miért érdemes bevezetni? című cikkünkben bemutattuk, hogy az AI nem váltja ki a tesztelői gondolkodást, de elképesztő mértékben felgyorsítja a dokumentációs és tervezési folyamatokat. Ebben a gyakorlati útmutatóban bemutatjuk, hogyan használhatod az AI-t a mindennapokban a tesztesetek gyorsabb és jobb minőségű generálására.
1. Követelményekből teszteset: a prompt engineering QA alapjai
A teszt tervezése hagyományosan a követelményspecifikációk vagy a User Story-k átolvasásával kezdődik. Az AI segítségével ez a folyamat szinte teljesen automatizálható, feltéve, hogy megfelelő kontextust adunk a modellnek. Ezt nevezzük prompt engineeringnek a QA-ban.
Ha egy LLM-nek (mint a ChatGPT, a Claude vagy a Gemini) csak annyit mondunk: „Írj teszteket a fizetési felülethez”, az eredmény nagyon általános és sablonos lesz. Ehelyett strukturált promptokat kell alkalmaznunk. Egy jó QA prompt felépítése:
- Szerepkör: Határozzuk meg, hogy az AI senior QA mérnökként viselkedjen.
- Kontextus és követelmények: Másoljuk be a konkrét User Story-t és az elfogadási kritériumokat (Acceptance Criteria).
- Elvárt formátum: Határozzuk meg, hogyan adja át a teszteseteket (pl. Gherkin / Given-When-Then formátum, vagy lépés-elvárt eredmény táblázat).
Egy jól használható prompt minta:
“Te egy tapasztalt Senior QA Engineer vagy. Az alábbi User Story alapján generálj részletes, lépésről lépésre követhető teszteseteket. Használj Given-When-Then (Gherkin) formátumot! Különíts el pozitív és negatív forgatókönyveket.
[USER STORY BEMÁSOLÁSA]
[ACCEPTANCE CRITERIA BEMÁSOLÁSA]“
Az LLM másodpercek alatt képes a bonyolult követelményszövegekből strukturált, azonnal végrehajtható tesztlépéseket generálni, megkímélve minket a formázás és gépelés monoton munkájától.
2. Pozitív és kiterjedt negatív ágak generálása
A tesztelők emberből vannak, és mint ilyenek, kognitív torzítások befolyásolják őket. A leggyakoribb hiba, hogy a teszttervezés során túlnyomórészt a „Happy Path”-re (a pozitív ágra) koncentrálunk: arra az esetre, amikor a felhasználó mindent helyesen tölt ki, és a rendszer a várt módon működik. Az edge case-ek és a negatív ágak felkutatása viszont sokszor elmarad vagy hiányos.
Ahogy a Hol bukik el leggyakrabban a szoftvertesztelés egy projektben? 4 szisztematikus hiba, amit nem szabad elkövetnetek cikkünkben kifejtettük, a hiányos tesztlefedettség és a nem vizsgált negatív ágak a leggyakoribb okai annak, hogy a kritikus hibák átcsúsznak az éles környezetbe.
Az AI itt nyújt óriási segítséget. A nyelvi modellek nem fáradnak el, nincsenek elfogultságaik, és mechanikusan képesek végiggondolni a legextrémebb bemeneteket is. Ha megkérjük a modellt, hogy keressen negatív ágakat egy adott beviteli mezőre, olyan eseteket is felsorol, amelyekre mi magunk nem is gondolnánk: – Különleges és Unicode karakterek használata a név mezőben. – Szélsőértékek (pl. 0, negatív számok vagy túl nagy értékek a mennyiségnél). – Hálózati megszakadások szimulálása az adatok küldése közben. – Session lejárat fizetés közben.
Azzal, hogy az AI-t ötletgenerátorként (brainstorming partner) használjuk a negatív tesztekhez, nagyságrendekkel javíthatjuk a tesztlefedettséget, és minimalizálhatjuk a váratlan éles hibák kockázatát.
Ezenkívül az AI zseniálisan használható meglévő folyamatleírások átalakítására is. Ha már rendelkezésünkre áll az alkalmazás használatának lépésről lépésre (step-by-step) történő leírása – ami a pozitív tesztesetek meglétével lényegében már adott is –, a tesztelőnek csupán a kívánt negatív irányt kell megfogalmaznia az AI számára. A modell a meglévő pozitív útvonal lépéseit alapul véve pillanatok alatt képes legenerálni a negatív verzió teljes, lépésről lépésre kidolgozott tesztmenetét, megkímélve minket a forgatókönyvek kézi átírogatásának adminisztratív terhétől.
3. Tesztadatok generálása másodpercek alatt
Még a legjobban megírt teszteset is használhatatlan megfelelő adatok nélkül. A manuális tesztelők sokszor órákat töltenek szintetikus adatok, mock adatok gyártásával (pl. valósághű nevek, e-mail címek, lakcímek, telefonszámok, kártyaszámok generálásával).
Az AI segítségével a tesztadatok előállítása másodpercek kérdése. Bármilyen formátumban kérhetünk adatokat: CSV, JSON, vagy akár SQL Insert szkriptek formájában. Ráadásul az AI-jal akár egy olyan futtatható scriptet is készíttethetünk, amit a tesztelők a tesztelés előtt egyszerűen lefuttatva mindig más, egyedi és véletlenszerű tesztadatokkal dolgozhatnak – amelyek ráadásul tűpontosan az adott teszthez illeszkednek.
Példa utasítás:
„Generálj egy JSON listát 20 tesztfelhasználóról. Tartalmazzon nevet, érvényes magyar telefonszámot, véletlenszerű e-mail címet és regisztrációs dátumot. 5 felhasználónál az e-mail cím formátuma legyen érvénytelen a negatív tesztekhez!”
Ugyancsak izgalmas lehetőség a tesztautomatizálásból ismert adatvezérelt tesztelés (data-driven testing) analógiájára épülő, dinamikus teszteset-generálás. Az AI képes arra, hogy egy meglévő teszteset-sablont (template-et) feltöltsön a korábban előkészített vagy az aktuálisan generált tesztadatokkal. Ezt nem csupán egyszerű másolás-beillesztéssel teszi, hanem a mondatokat nyelvtanilag és fogalmazás-helyesen igazítja a konkrét adatokhoz. Így a tesztelők mindig a pontos adatsorokhoz illeszkedő, gördülékenyen olvasható, dinamikus tesztesetekkel dolgozhatnak.
Ez a megközelítés elengedhetetlen a flaky tesztek elkerüléséhez is. Ahogy az AI tesztautomatizálás: hype vagy valós előny? cikkünkben is kitértünk rá, a nem megfelelő vagy elavult tesztadatok az automatizált és manuális tesztek legfőbb ellenségei. Az AI-jal dinamikusan frissíthető, tiszta szintetikus adathalmazokat hozhatunk létre.
4. Tesztkarbantartás, hatásvizsgálat és útvonal-optimalizálás
Az AI nemcsak az új tesztek megírásában, hanem a már meglévő tesztkészlet életciklusának menedzselésében is komoly segítséget nyújt.
- A legrövidebb tesztelési útvonal meghatározása: Ha van egy nagyobb tesztcsomagunk, az AI képes elemezni a teszteseteket és javaslatot tenni a végrehajtásuk optimális, legrövidebb sorrendjére (útvonal-optimalizálás). Egy tapasztalt, a rendszert jól ismerő tesztelő ezt magától is összeállítja, de egy új csapattag (onboarding fázisban lévő junior vagy frissen csatlakozott QA mérnök) számára ez a képesség óriási segítség, hiszen azonnal láthatja a leglogikusabb és leggyorsabb tesztelési útvonalat.
- Tesztesetek karbantartása specifikáció-változáskor: Amikor a követelmények vagy a specifikáció módosul, a tesztelőknek hagyományosan végig kell nyálazniuk a teszteseteket, hogy megtalálják, melyik avult el. Az AI a szöveg kontextusa alapján másodpercek alatt azonosítja a módosítandó teszteket, sőt, konkrét és helyes javaslatokat tesz a módosításokra is. Ezzel a tesztesetek karbantartása rendkívül hatékonnyá és gyorssá válik.
- Regressziós hatásvizsgálat (Impact Analysis) specifikáció-bővüléskor: Új funkciók fejlesztésekor az AI képes szövegkontextus alapján beazonosítani, hogy a specifikáció bővülése mely régebbi funkciókra lehet hatással (hol okozhat változást vagy regressziós hibát). A potenciális kockázatok alapján azonnal javaslatot tesz a meglévő tesztesetek kiegészítésére vagy módosítására, így biztosítva, hogy az új fejlesztés ne törje meg a régi folyamatokat.
5. Produktivitási ugrás: 3 óra munkából 30 perc
Mit jelent mindez a gyakorlatban egy QA csapat számára? A válasz egyszerű: drasztikus hatékonyságnövekedést (QA productivity).
A hagyományos munkafolyamatban egy komplex modul tesztjeinek megírása, a negatív ágak átgondolása és az adatok előkészítése könnyen igénybe vehetett 3-4 órát. Az AI-alapú workflow-ban ez a következőképpen alakul:
- AI Generálás (5 perc): A tesztelő bemásolja a követelményeket, és legeneráltatja a teszteseteket, edge case-eket, adatokat, vagy éppen az optimális tesztelési útvonalat és karbantartási módosításokat.
- Humán Felülvizsgálat és Finomhangolás (20-25 perc): A tesztelő kritikus szemmel átnézi az AI outputját. Kijavítja a pontatlanságokat, hozzáadja a cég specifikus belső logikáját, és kiszűri a hallucinációkat.
A tesztelő szerepe így a monoton gépelésből és sablonkészítésből átalakul értékelő és szerkesztő szerepkörré. Az így megspórolt időt a csapat a magasabb szintű feladatokra fordíthatja. Ahogy a Hogyan épül fel egy jól működő tesztelési stratégia? – A szoftverminőség tervrajza cikkünkben bemutattuk, a tesztelési stratégia csúcsa az exploratív tesztelés és az UX minőségbiztosítás, amelyekre a manuális csapatoknak a repetitív adminisztráció miatt korábban alig maradt idejük. Az AI felszabadítja ezt az értékes emberi kapacitást.
Összegzés: A tesztelő új svájci bicskája
Az AI nem veszi el a munkánkat, de a kezünkbe ad egy olyan svájci bicskát, amellyel nagyságrendekkel gyorsabban és pontosabban végezhetjük el a teszttervezést. A követelmények intelligens feldolgozása, a kiterjedt negatív ágak automatikus felderítése és a szintetikus adatok gyors előállítása mind hozzájárulnak ahhoz, hogy a QA csapat ne a fejlesztés fékje, hanem a minőség motorja legyen.
A siker kulcsa azonban a képzettség. A modellek csak akkor adnak értékes választ, ha a tesztelő csapat tudja, hogyan kell őket professzionálisan promptolni és irányítani.
Ez a cikk a Tesztautomatizálás útmutató: mikor, hogyan és miért érdemes bevezetni? sorozatunk része.


