AI teszteszköz: TestCraft vizsgálata 1. rész

Bevezető

A szoftvertesztelés területén az elmúlt években jelentős változásokat hozott a mesterséges intelligencia térhódítása. Egyre több eszköz jelenik meg a piacon, amelyek az AI technológiát ígérik megoldásként különböző tesztelési kihívásokra. De vajon ezek az eszközök tényleg beváltják a hozzájuk fűzött reményeket? Képesek-e hatékonyan segíteni a tesztelők mindennapi munkáját?

Új cikksorozatunkban górcső alá vesszük a legígéretesebb AI-alapú tesztelési eszközöket. Minden eszközt alaposan megvizsgálunk, gyakorlati szempontból értékelünk, és őszinte véleményt formálunk a használhatóságukról, hatékonyságukról és valós értékükről a tesztelési folyamatban.

Ebben a cikkben a TestCraft platformot vesszük nagyító alá. Ez az eszköz azt ígéri, hogy az AI segítségével leegyszerűsíti és felgyorsítja a tesztesetek létrehozását és karbantartását. A cikkben részletesen bemutatjuk az eszköz képességeit, kipróbáljuk a gyakorlatban, és megosztjuk tapasztalatainkat, hogy pontosabb képet kaphassatok arról, mire lehet számítani az eszköz használata során.

A cikk hosszúsága miatt a cikket két részletben mutatjuk be

Mit igér a TestCraft?

A TestCraft egy ingyenes és nyílt forráskódú böngésző kiegészítő, amely a szoftvertesztelési munkát hivatott támogatni.

A weboldala: https://home.testcraft.app/
A dokumentáció alapján képes:

  • Egy felhasználó által kijelölt képernyő területen megtalálni, hogy milyen felületi objektumok vannak.
  • A megtalált objektumokra teszteket írni.
  • Az általunk kiválasztott generált tesztesetekből automatizálni Playwright, Cypress, vagy Selenium eszközökre Javascript, Typescript, Java, C#, vagy Python nyelven.

Az eszköz alapból használja az openAI gpt-4o-mini modeljét, de lehetőség van saját szerveren futó model használatára is.

A vizsgálat kritériumai

Egy AI támogatott teszteszköz vizsgálati kritériumait nem egyszerű feladat meghatározni. A vizsgálat célja kettős: egyrészt az eszköz gyakorlati használhatóságának felmérése, másrészt a hagyományos tesztelési módszerekkel való összehasonlítása. Nyilván a végső cél az, hogy el tudjuk dönteni, hogy használható-e tényleges munka támogatására, vagy „többe kerül a leves, mint a hús”, és a technológia még nem áll ott, hogy valós projekten is megállja a helyét. Ennek eldöntése érdekében a kínált funkciókat össze kell vetni a jelenleg használt eljárásokkal és minőségi, valamint időbeli összehasonlítást végezni a kettő között.

Minőségi szempontok

A minőség gyakran szubjektív megítélés alá esik. Az AI által generált tesztek minőségének a megállapítása bizonyos szempontból szubjektív lesz, ugyanakkor igyekszünk néhány mérhető értékre is kitérni.

Technikai szempont

Az esetek többségében technikailag nem mindegy, hogy milyen fejlesztői keretrendszert használtak az oldal létrehozása során, így minden esetben érdemes többféle alkalmazást is megvizsgálni.

Tesztelés szakmai szempontok

Megvizsgáljuk, hogy milyen követelménylefedettséggel dolgozik az eszköz. Mennyi jó, mennyi rossz tesztesetet generál. Generál-e negatív utas esetet. Van-e olyan, amikor egy követelményt nem fed le teljesen. 

Megnézzük azt is, hogy a generált tesztek mennyire olvashatók, mennyire strukturáltak, mennyire használhatók fel újra.

AI „jósága”

Vannak olyan mutatók, amikkel egy-egy AI megoldást szoktak mérni. A könnyebb emészthetőség érdekében ezeket a mutatókat nem tüntetjük fel és nem számoljuk ki. Ehhez egy külön, AI metrikákat magyarázó cikkre lenne szükség. Azokat a következtetéseket, amik a mért eredmények alapján meg lehet tenni, a mutatók nélkül is le tudjuk vonni.

Használt oldalak

Két, eltérő technológiájú és komplexitású oldalon vizsgáljuk meg az eszközt.

Egyszerűbb oldal

Az alábbi oldalon található egy regisztrációs űrlap:

https://parabank.parasoft.com/parabank/register.htm

Ennél az oldalnál nincs szükség további információra. Könnyedén kitalálható a felületről a működése a felületi elemek ismeretében.

A továbbiakban, mint az „egyszerű oldal” hivatkozunk rá.

Bonyolultabb oldal

Tekintettel arra, hogy valószínűleg a frontend kód, illetve annak szövegezése (label, címke, hint) képezi az alapját az AI által használt információknak, így az esetleges hibás működést olyan weboldallal lehetne legjobban előhozni, aminél ezekből nem feltétlenül kideríthető a helyes működés.

Erre az alábbi oldalon található kereső felületet fogjuk használni: https://www.bardiauto.hu/webshop/cikkszam/kereso

Itt járműalkatrészeket lehet vásárolni. A kereső felület pedig ebben nyújt segítséget. Alapból a cikkszám kereső fül az aktív, de van további 4 „füle” a keresőnek: alvázszám, személy, teher, motor. Értelemszerűen az alvázszám füllel alvázszám alapján megtalált típushoz lehet alkatrészeket keresni, a személy, teher és motor füllel személyautó, teherautó vagy motor adható meg, majd további legördülőkkel kereshetőek hozzájuk alkatrészek. Ezek fontos információk lesznek az összevetésnél.

A továbbiakban, mint a „bonyolult oldal” hivatkozunk rá

Felületi objektumok meghatározása képernyő kijelöléssel

Ez a funkció csak közvetve vizsgálható, mert alapból a generált tesztek azok, amikből kiderül, hogy pontosan milyen elemet hagyott ki az eszköz vagy vett észre.

Kritérium

  • Azt várjuk el, hogy minden objektumot megtaláljon a kijelölt területen, az egyszerű és a bonyolultabb oldalon is.

Tesztírás a megtalált objektumokra

Ennél a funkciónál érdemes az eredményt összevetni azzal, hogy egy manuális tesztelő milyen teszteket írna a felületre.

Továbbá érdemes megjegyezni az ehhez szükséges időt is, mert biztosan lesz átfedés a gépi és emberi esetek között, így megtudjuk, hogy mennyi időt nyertünk a géppel és mennyi idő megy el az esetleges korrekciókra.

Kritériumok

  • Generált esetek „valid”-sága százalékosan. (Nem valid 0%, félig valid 50%, valid 100% súlyozással)
  • Minőségben való eltérés AI és ember által írt tesztesetekben.
  • Lefedettségben való eltérés AI és ember által írt tesztesetekben.

Időben való eltérés AI és ember által írt tesztesetekben. (generálás + emberi korrekció)

Kiválasztott esetek automatizálása

Mivel a TestCraft által nyújtott automatizálási eszköz-nyelv mátrix eléggé széleskörű, így a vizsgálatot a manapság népszerű Playwright-Python párosra korlátozzuk.

Talán ennél a funkciókörnél a legnehezebb az összevetés, hiszen ahány tesztelt alkalmazás, annyiféle problémába lehet belefutni automatizálás során.

Lássunk néhányat:

  • Dinamikus ID-al felruházott objektumok egyéb információk nélkül. Ebben az esetben nagyon nehéz jó lokátorokat írni az objektumokra.
  • Semmilyen információ nincs arra, hogy az oldal készen áll-e a következő interakcióra. Ebben az esetben egy túl korai kattintás fals hibához vezethet.
  • Olyan objektumok lekezelése, melyek csak néha jelennek meg.

Az alapos vizsgálat elengedhetetlen feltétele, hogy a fentiek tükrében az eszközt „nehezített pályán” is megvizsgáljuk. Így ebben az esetben egyéb oldalrészleteket is meg fogunk nézni.

A kritériumok ezeknek megfelelően

  • Generált kód formázottsága
  • Generált kód szervezettsége
  • Lokátorok minősége
  • Objektumokra való várakozás kezelése
  • Alkalmanként megjelenő objektumok lekezelése

Időbeni különbség emberi automatizmushoz képest + korrekciós idő

Egyszerű oldal vizsgálata

Objektumok megtalálása

Kijelöljük a regisztrációs űrlapot:

Egyszerű oldal: regisztrációs űrlap

A területen található és megtalált objektumok:

Amennyiben eltekintünk a nem létező objektumtól, a megtalálási siker: 93,3%

Generált tesztek

Az alábbi tesztek lettek generálva:

Színjelölések:

Tesztek validsága: 80%

Minőségben való eltérés manuális tesztíráshoz viszonyítva:

  • A tesztek 1-2 sorosak. Nem tartalmaznak lépéseket.
  • A tesztekben írt információ nagyon kevés. Az AI valószínűleg a Front End HTML kódból próbálja kitalálni a működést, így ezek az információk teszteseteket eredményeznek, de látszik, hogy valójában nem tudja, hogy ezen elemek között milyen ügyféllogika húzódik meg.
    pl.: Invalid adatmegadásra generált összevont tesztet, de nem tudja azt, hogy vajon mi számít invalid adatnak az egyes mezőknél. Ezt manuálisan kell pótolnia a szakembernek.

Lefedettség (szubjektív megítéléssel)

A generált tesztek közül 8 db az, amely

  • valid
  • értékelhető tesztesetként
  • a tesztelt funkcionalitás tapasztalat alapján megfelelő kockázatú funkciót fed le

Átböngészve a generált teszteket, az alábbiakat hiányolom hasonló kontextusban:

  • Minden kihagyott kötelező mezőre külön teszteset hibaüzenet ellenőrzéssel (10db)
  • Oldalcím alatti szöveg ellenőrzése. (1db)
  • Már létező felhasználóval történő sikertelen regisztráció (1db)

Ez azt jelenti, hogy a lefedettség 40%.

Befektetett idő

AI esetén nem kell külön magyarázni az idő rövidségét. A generálás kb. 3 másodpercig tartott.

Annak ellenére, hogy az esetek nincsenek lépésszinten kidolgozva, az emberi befektetett időt ugyanennyi tesztre kb. 2-3 órának saccolom egy tényleges projekten megszakítás nélküli munka esetén. (Abból kiindulva, hogy az ember próbálgat, specifikációt elemez, különböző eszközöket vesz igénybe közben, stb stb..)

Ha az AI által generált eseteket veszem alapul és megnézem, hogy azt egy szakember átnézi, valamint lépésszinten kidolgozza, akkor mint korrekciós idő, kb. 1-1,5 órára jön ki.

Röviden:

  • AI: 3 másodperc
  • Szakember: 2-3 óra
  • AI+korrekció: 1-1,5 óra  ✔

Félúton

Idáig jutottunk. Egyelőre azt láttuk, hogy a kiválasztott AI eszköz segítségével, ha rendes munkát akarunk végezni, a harmadára, felére csökkent a munkaidőnk. Ez jól hangzik, de egyrészt ez csak egy egyszerűbb oldalra vonatkozik, másrészt az automatizálási képességét még nem vizsgáltuk meg. A következő héten megnézzük ugyanezeket a bonyolultabb oldal esetében is és megvizsgáljuk az automatizálási képességeket és az eszközről az összefoglaló következtetésünket is ott tesszük majd közzé.

Addig is: Jó tesztelést! Hajrá! 🙂

Megosztás

Íratkozzon fel hírlevelünkre!

Kapcsolódó cikkek

Mi a különbség a szoftvertesztelés és a minőségbiztosítás között?

Bevezető A szoftverfejlesztés világában gyakran keveredik két fogalom: szoftvertesztelés és minőségbiztosítás (Quality Assurance, QA). Sok projektben szinonimaként használják őket, pedig valójában másról van szó. A különbség nem pusztán elméleti: a félreértések rossz folyamatokhoz, hiányos szerepkörökhöz és felesleges költségekhez vezethetnek. Ebben a cikkben áttekintjük, mit takar a két fogalom, hogyan viszonyulnak egymáshoz, és miért fontos, hogy

Az ERP bevezetések valódi költségei – és hogyan előzi meg a tesztelés a kudarcot

Bevezető Minden vállalati vezető, aki valaha ERP bevezetési projekt közelében járt, pontosan tudja azt az érzést, amikor a projekt költségei hónapról hónapra nőnek, a határidők csúsznak, és lassan úgy tűnik, mintha az egész vállalkozás egy feneketlen kútba dobná a pénzt. Az Enterprise Resource Planning rendszerek bevezetése talán a nagyvállalatok legnagyobb informatikai kihívása, és a statisztikák

Miért nem engedhetik meg a nagyvállalatok a professzionális szoftvertesztelés kihagyását?

Miért nem engedhetik meg a nagyvállalatok a professzionális szoftvertesztelés kihagyását?

Bevezető A mai digitális világban minden nagyvállalat vezetője előtt ott áll a kérdés: mennyire megbízhatók azok a szoftverrendszerek, amelyekre a cég napi működése épül? Sokszor úgy gondoljuk, hogy a szoftvertesztelési szolgáltatások csak egy újabb költségsor a már amúgy is feszített költségvetésben. Ez a felfogás azonban olyan súlyos hibának bizonyulhat, amely akár a vállalat létét is

Scroll to Top
Passed
Adatvédelmi áttekintés

Ez a weboldal sütiket használ, hogy a lehető legjobb felhasználói élményt nyújthassuk. A cookie-k információit tárolja a böngészőjében, és olyan funkciókat lát el, mint a felismerés, amikor visszatér a weboldalunkra, és segítjük a csapatunkat abban, hogy megértsék, hogy a weboldal mely részei érdekesek és hasznosak. Adatkezelési tájékoztató