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

Bevezető

Az előző részben egyrészt felvázoltuk a vizsgálat szempontjait és azt, hogy ezeket milyen értékkel fogjuk reprezentálni, másrészt megkezdtük a TestCraft platform részletes vizsgálatát. Értékeltük az eszköz képességeit egy egyszerűbb regisztrációs űrlapon, ahol azt tapasztaltuk, hogy bár az AI gyorsan generál teszteseteket, ezek minősége és lefedettsége még emberi felülvizsgálatot és kiegészítést igényel. Az eszköz használatával azonban a tesztelési idő jelentősen, körülbelül a harmadára-felére csökkenthető.

Ebben a részben folytatjuk vizsgálatunkat, ezúttal egy összetettebb felületen, a Bárdi autó webshopjának kereső rendszerén teszteljük az eszköz képességeit. Emellett részletesen elemezzük a TestCraft automatizálási funkcióit is, különös tekintettel a Playwright-Python környezetben történő használatra. A cikk végén összegezzük tapasztalatainkat, és átfogó értékelést adunk az eszköz gyakorlati alkalmazhatóságáról a mindennapi tesztelési munkában.

Bonyolultabb oldal vizsgálata

Objektumok megtalálása

A teljes oldal kijelölése után:

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

A megtalálás sikeressége (ha beleszámítjuk a homályos „talán 2”-t): 26,6%

Generált tesztek

Az alábbi tesztek lettek generálva:

Színjelölések:

Tesztek validsága: 53%

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

  • A tesztek 1-2 sorosak. Nem tartalmaznak lépéseket.
  • Nem létező objektumra is van teszt.
  • Nem a működés szerint zajlik a tesztesetek nagy része.
  • Nem számolt azzal, hogy belépés szükséges a funkciók zöméhez.
  • Kihagyott tabokat, amelyeken legördülők is vannak és kereshető alkatrészek. (Ez abból a szempontból nem gond, hogy annak nem feltétlenül láthatja a Front End kódját, viszont magát a tabfület látnia kell.)
  • A tesztekben írt információ nagyon kevés. Az AI valószínűleg a Front End kódból próbálja kitalálni a működést, így az tervez adott tesztekkel, de nem tudja, hogy annak mik a pontos szabályai. 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.
  • Nem tudja, hogy a szekcióknak mi a feladata (amire nem is írt tesztet) a keresés során.

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

A generált tesztek közül 3 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:

  • A 8 db kihagyott szekcióra külön szűrési teszteset. (8db)
  • Ugyanezen szekciókra db-s összevetés hogy feldob-e mindent, amit kell.(8db)
  • Bejelentkezés nélküli funkciók tesztje.(tabfülek, cikkszám kereső) (6db)
  • + A többi tabfülön található keresések, melyet nem számolok bele a lefedettségbe, mert nem biztos hogy megfelelő információja volt ezekről, de egy szakembernél ez egyértelmű lenne, így mindenképp megemlítem (kb. 20db teszteset).

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

Befektetett idő

A generálás kb. 5 másodpercig tartott.

Annak ellenére, hogy az esetek nincsenek lépésszinten kidolgozva, mint szakember esetén, az emberi befektetett időt  kb. 6-7 ó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. 5 órára jön ki. (ez azért sok, mert eleve sok a rossz generált eset).

Röviden:

  • AI: 5 másodperc
  • Szakember: 6-7 óra
  • AI+korrekció: 5 óra  ✔

Automata tesztek

Egyszerű oldal

Igaz, kritériumként nem szerepelt, de rögtön az elején szembetűnő, hogy az összes generált tesztből (15db) csak 7 db-t generált le. Semmilyen visszajelzést nem kaptam, hogy a többi miért maradhatott le. (Valószínűnek tartom, hogy túl sok AI tokenbe került volna a teljes szövegmennyiség futtatása.)

A kód nagyon szépen formázott. Jól használható lehet ahhoz, hogy kiindulási alapként felhasználja egy automata szakember. A lokátorok Page Object Model szerint vannak rendezve, igaz egy állományban vannak az interakciót végző függvényekkel. ( De ez nem probléma, hisz ez bevett szokás volt régebben. Ezeket már inkább külön állományokba szervezzük.)

A generált kódban kommentekkel van jelölve mely kódrészlet mely fájlhoz tartozik, így szinte csak copy-paste-re van szükség a futtatásukhoz. Egy komplexebb automata keretrendszerben persze ennél sokkal strukturáltabban kell szervezni az adatokat és függvényeket. Nem mondanám rossznak, de ez önmagában még nem elég egy komolyabb projektmunkához. Itt mindenképp szükség van további  szervezésre.

Példák:

  • Üzleti adatok külön szervezése
  • Config adatok külön szervezése
  • Felhasználói kulcsszavak/függvények külön állományba rendezése

A generált lokátorok kb. 60-70%-ban használhatóak. A maradékba bele kellett nyúlni. Itt kiemelném, hogy előfordult nem létező lokátor is (mint ahogy nem létező objektum is 🙂 ).

A feladatban két várakozás van. Amikor megvárjuk, hogy betöltsön az oldal, a másiknál pedig megvárjuk, hogy megjelenjen egy üzenet, ha kitöltöttük és submit-oltuk az adatlapot.
Ebből előbbit alapból lekezeli a Playwright eszköz, így a generálásnál csak utóbbira kellett volna odafigyelni. Azonban ezt nem sikerült teljesíteni egy releváns teszt esetén sem. Sajnos úgy tűnik, hogy az AI nem figyel a várakozásokra, pedig ez tipikusan egy nehéz része az automatizálásnak.
Mindenképpen szakemberre van szükség ezen lépéseknél.

Mivel a példaoldal nem tartalmaz ilyet, kerestem egy site-ot ahol van dialog, ami néha megjelenik.
Ahogy várható volt, a TestCraft az aktuális oldalra írta a kódot és nem tudta, hogy ez nem mindig jelenik meg. Ez esetben is szakember segítségére van szükség.

Időbeni különbség és korrekciós idő

A generálás kb. 10 másodpercig tartott.
A lokátorok kigyűjtése, a kód megírása 0-ról, valamint annak formázása egy szakembernek becsléseim szerint kb. 8 óra.

A generált kód hibáinak javítása, törlések, módosítások, lokátorok csiszolgatása, időzítések hozzáépítése kb. 4 óra. Ez persze nagyban függ az oldal nehézségétől és a generált kód használhatóságától.
Röviden:

  • AI: 10 másodperc
  • Szakember: 8 óra
  • AI+korrekció: 4 óra  ✔

Bonyolult oldal

Ezúttal darabszámra számolva minden teszthez lett generálva automata kód.

A kód ezúttal is nagyon szépen formázott. Jól használható lehet ahhoz, hogy kiindulási alapként felhasználja egy automata szakember, hasonlóan az egyszerű oldalhoz.

Tulajdonképpen ugyanazok sorolhatóak fel itt is, mint az egyszerű oldalnál. A szétszervezés némileg hiányos.

Példák erre:

  • Üzleti adatok kiszervezése
  • Config adatok kiszervezése
  • Felhasználói kulcsszavak/függvények külön állományba rendezése

A generált lokátorok egyike sem jó. Vagy nem létező objektumra mutatnak, vagy nem egyértelműen azonosítanak.

Sajnos azt látom, hogy az AI továbbra sem figyel a várakozásokra, pedig ez tipikusan egy nehéz része az automatizálásnak.
Mindenképp szakemberre van szükség ezek pótlására.

Egyszerű oldal esetén is másik site-ra volt szükség ennek tesztelésére és már ott is megbukott a tesztje ezen pontnak, így nincs értelme külön vizsgálni újra.
Szakember segítségére van szükség továbbra is.

Időbeni különbség és korrekciós idő

A generálás kb. 20 másodpercig tartott.
A lokátorok kigyűjtése, a kód megírása 0-ról, valamint annak formázása egy szakembernek becsléseim szerint kb. 16 óra.

A generált kód hibáinak javítása, törlések, módosítások, lokátorok csiszolgatása, időzítések hozzáépítése kb. 10 óra. (Sajnos ezúttal rosszabb minőségű a kód.)
Röviden:

  • AI: 20 másodperc
  • Szakember: 16 óra
  • AI+korrekció: 10 óra    ✔

Összegzés

A fenti eredményekből kiderül, hogy habár a TestCraft sokat tud segíteni a tesztelés során, sajnos sok időt kell szánni arra is, hogy a munkáját ellenőrizni tudjuk.
Röviden a két vizsgálatból kiindulva kb. 37%-kal kerül kevesebb időbe a manuális tesztesetírás, valamint 44%-kal kevesebb időbe az automata kód implementálás. Ezen értékeknek persze elég széles szórása lehet, függően a tesztelt alkalmazástól.
Amitől függhet:

  • A tesztelt alkalmazás felhasználóbarátsága (főleg a szövegezések)
  • A tesztelt alkalmazás Front End kódjának minősége
  • A tesztelt alkalmazás stabilitása

Záró gondolatok és a Mikulás létezésének a bizonyítéka

TestCraft vagy ChatGPT?!

Ez a cikk a TestCraft eszköz használhatóságáról szólt, de a vizsgálat során kiderült, hogy valójában ez inkább magának a chatGPT-nek, és a hasonló AI LLM-nek a megmérettetése.
Ugyanis miközben a kritériumokat ellenőriztem, megpróbáltam rájönni, hogy a generálás hogyan zajlik. Ebből az derült ki számomra, hogy nagy eséllyel ez az eszköz csak egy felhasználói felület, ami kimásolja egy adott oldal aktuális DOM kódját és előre meghatározott sablon alapján ír egy promptot a ChatGPT-hez és a választ visszaformázza a felhasználó számára. Ezt bizonyítja az is, hogy ha megszerkesztek egy generált tesztet, akkor azt is ugyanúgy legenerálja, akár oly módon is, amit az eszköz alapból nem is tudna. Például megkértem arra, hogy generáljon Robot Framework kódot ahhoz hogy létezik-e a Mikulás, (mindezt magyarul). Simán le is generálta robot framework kóddal, „True” válasszal. Némileg megnyugtató, hogy az AI fixen hisz a Mikulásban.

Az eszköz ezt a működést nem is rejti véka alá, ugyanis beállítható mögé saját szerveren futó AI LLM  is. Ez esetben az fogja kezelni ezen kérdés hívásokat.

Ez alapján pedig érdemes elgondolkozni azon, hogy hasznos-e az eszköz ahhoz képest, mint ha közvetlenül mi kérdeznénk AI-tól szövegesen. Ugyanis az eszköz nem reklámozta és nem is engedi, hogy a saját maga által „ígért” automata eszközök és nyelvek kombinációja helyett más kódot generáljunk, de a ChatGPT meg tudja ezt csinálni ugyanilyen minőségben azokkal is. 

A TestCraft helyett a ChatGPT teljesen jól tud működni. Márcsak egy jó prompt kell… Megvizsgálunk még néhány eszközt, de ezt a prompt-olást még elővesszük.

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ó