Időmilliomos Varázs Ló, avagy variációk tesztadatokra: PICT (1. rész)

Szuperhősök testreszabása

Egy számítógépes játékban a hősöket testreszabhatjuk. A következő táblázat tartalmazza a lehetőségeinket:

Hős Izom TódorNagy ZolóSebes ÜlésVarázs Ló
FegyverNincsPéklapátBuzoGányBűzBombaMosatlan ZokniÁsó-Kapa-Nagyharang
RuhaNincsÁlca TálcaVaskádGányGúnyaIzomPóló
KépességNincsRugólábPacaCérnahangIdőmilliomosÁlomgyárosVágyokozó

A kérdés, hogy hogyan teszteljük le a testreszabás funkciót?

Időmilliomos küldetés

Ha nagyon sok időnk van, akkor vehetjük az összes kombinációt:

  • Van 4 hős, mindegyiknek választhatunk 6 féle fegyver közül. 4*6=24 kombináció
  • Az előző 24 kombináció mindegyikét kipróbálhatjuk 5 féle ruhában: 24*5 = 120 kombináció
  • A 120 kombináció mindegyikét 7 féle képességgel ruházhatjuk fel: 120*7 = 840 kombináció

Ha minden próbálgatás csak 3 perc (össze kell állítani a hőst, meg kell vizsgálni, hogy működik-e, le kell jegyezni a tapasztaltakat), akkor 42 óra alatt tudjuk letesztelni ezt a funkciót.

Ennyi időt nem szoktak adni egy ilyen funkció egyszeri letesztelésére. Mit lehet tenni?

Tesztelő 1. szuperereje: intuíció

  • Vegyünk ki néhány gyanús kombinációt. Milyen az, ha nincs ruha a hősön? Milyen az, ha a hősön se ruha, se képesség, se fegyver? Mit kezd egy Paca az Álca Tálcával?
  • Vegyünk ki néhány véletlen kombinációt, amire lesz idő.

Ha van 2-3 tesztelő, akkor ezt már elég tesztelésnek vehetjük.

Általában körülbelül ez a gyakorlat. Sajnos ezen a gyakorlaton sok hiba átszökik. Túl sok.

Tesztelő 2. szuperereje: elmélet + gyakorlat

A megfigyelések alapján a legtöbb hiba valamilyen paraméterpár következménye. Tehát esetünkben valószínűsíthető, hogy a legtöbb hiba valami olyasmiből fakad, hogy például egy fegyver nem fér össze egy képességgel vagy például egy ruha nem fér össze egy hőssel. Ezekben az esetekben a másik két paraméter „mindegy”.

Akkor érdemes lenne úgy összeállítani a teszteseteket, hogy meglegyen az összes ilyen párosítás. Oké, de ezt mégis hogyan?

Microsoft PICT

Alapozás

A nyílt forrású, ingyenes Microsoft PICT pont ilyen feladatra lett kitalálva. Lássuk a fenti példányát hogyan lehet a segítségével megoldani.

  1. Beszerzés: A Windows-on futtatható exe-t itt tudod beszerezni:
    https://github.com/microsoft/pict/releases Keresd a legutolsó pict.exe-t.
  2. Tedd egy üres mappába ezt az exe-t. Pl ide.: C:\pict
  3. Hozz létre egy szöveges állományt a bemeneti adatokkal az előbbi mappába. input.txt:
    • Hős:      Izom Tódor,Nagy Zoló,Sebes Ülés,Varázs Ló            
    • Fegyver:  Nincs,Péklapát,BuzoGány,BűzBomba,Mosatlan Zokni,Ásó-Kapa-Nagyharang 
    • Ruha:     Nincs,Álca Tálca,Vaskád,GányGúnya,IzomPóló           
    • Képesség: Nincs,Rugóláb,Paca,Cérnahang,Időmilliomos,Álomgyáros,Vágyokozó
  4. Indíts egy parancssort
  5. cd c:\pict
  6. pict input.txt

Készen vagyunk. Kaptunk 45 rekordot a képernyőre.

Megjegyzés: Windows-on a terminál a 852-es kódlapot használja, ezért érdemes a bemeneti tesztadatokat is ilyen karakterkódolással tárolni. Ezt például a Notepad++ programmal könnyen be lehet állítani (Közép-európai karakterkódolások között található a 852-es).

Kis szöszmötölés FAQ

  1. Hogyan kapjuk meg ezt az előző eredményt egy állományban?

Ehhez kis DOS ismeretre van szükség. Így:

pict input.txt > eredmeny.csv

A „>” jel az jelenti, hogy a keletkező eredményt át kell irányítani. Az „eredmeny.csv” mondja meg, hogy hova. Az eredmeny.csv tartalma ezután egy TAB-okkal elválasztott táblázat. Excelbe is beilleszthető.

  • Ki lehet számolni előre mennyi eset lesz?

Igen. Így:

pict input.txt /s

Az első érték azt mutatja, hogy hányféleképpen tudná elkészíteni a kért összeállítást, a második érték azt mutatja, hogy egy összeállítás hány rekordot tartalmaz. (Esetünkben 45 rekordról van szó és ezt 179 féleképpen tudná előállítani.)

  • Egy másik összeállítást szeretnék ugyanezekkel az adatokkal

Két módszer van. Az előbbi kérdésnél látható mennyiféleképpen tudja előállítani a kért összeállítást. Vagy megmondod hányadik ilyen összeállítást szeretnéd: Pl. 14.-et:

pict input.txt /r:14 > eredmeny.csv

Vagy kérsz egy véletlenszerűt:

pict input.txt /r > eredmeny.csv

Megjegyzés: Hogy mennyi rekord lesz az attól is függ, hogy a variáció előállító algoritmus honnan indul. Így előfordulhat, hogy bizonyos eredmények kevesebb, vagy több rekordot fognak tartalmazni az alapesetben generált 45 rekordnál.

  • Csak paraméterpárokra lehet ilyet csinálni?

Nem csak paraméterpárokra, hanem paraméterhármasokra is, vagy bármilyen számú paraméter együttállásra tudunk készíteni tesztadatsorokat. Maximum a paraméterek száma. Ez esetünkben 4. Ha 4 paraméterre állítunk elő tesztadatsorokat, akkor lényegében az összes paraméterkombinációt megkapjuk:

pict input.txt /o:4 > eredmeny.csv

3-ra:

pict input.txt /o:3 > eredmeny.csv

Összefoglaló

Természetesen nem minden esetben lesz elég a 45 eset. Vagy lehet, hogy ezekből lesz olyan, ami nem kell, viszont mindenképpen szeretnénk belevenni, hogy a hősöknek semmilyük sincs. Szóval a tesztelői megérzés és kockázatok felmérése nem hagyható el. Ugyanakkor, mint látni fogjuk, a PICT-be bele lehet írni, hogy ezeket is vegye figyelembe.

A PICT remek eszköz. A manuális tesztelőknek és a tesztautomatizálóknak is. Csak az alapoknál tartunk és máris remek tesztadat összeállításokat tudunk gyártani a segítségével. Ez a szerény, egyszerű kis program ennél jóval többet tud. A következő részekben szeretném megmutatni a PICT nagyszerűségét. Tartsatok továbbra is velem! 😊

Előzetes

Mi van akkor, ha Izom Tódor-ra mindenképpen kell ruha? Az is megoldható, hogy ha nincs ruha, nincs fegyver sem? Ha ebben a tesztkörben csak Varázs Ló-vat akarjuk tesztelni Rugóláb képességgel, akkor mit tudunk tenni? Arra is van megoldás, ha 1 hősnek 3 különböző képességet kell választani? Hogyan lehet multiplayer teszteléshez 2 hőst egyidejűleg előállítani?

Nagyon jó kérdések! (Hiszen én írtam ide 😊) Ezekre a következő részben találjátok meg a választ!

Addig is jó tesztadatot mindenkinek!

Hajrá! 😊

Megosztás

Kérsz értesítést a legújabb cikkekről?

Kapcsolódó cikkek

Tesztautomatizálás egy pénzügyi webalkalmazásban

A projektről Egy pénzügyi szervezet hitelfelvételhez kapcsolódó webalkalmazásának tesztautomatizálását támogattuk. Az alkalmazás összetett, több rendszeren átívelő üzleti folyamatokat kezelt, amelyek ellenőrzését korábban elsősorban manuális tesztelők végezték. A Passed feladata egy olyan automatizált tesztelési keretrendszer kialakítása volt, amely támogatja a manuális tesztelőcsapat munkáját, csökkenti az ismétlődő ellenőrzésekre fordított erőforrásigényt, és az alkalmazás működési sajátosságai mellett is

Black Friday terheléses tesztelés: hogyan készüljünk fel a csúcsforgalomra?

Az év legforgalmasabb kereskedelmi napjain egy webshop látogatottsága a szokásos többszörösére ugorhat, ráadásul a forgalom nem egyenletesen oszlik el: egy hírlevél kiküldése vagy egy akció indulása percek alatt is okozhat hirtelen csúcsot. A Black Friday előtti terheléses tesztelés megmutatja, hogyan viselkedik a rendszer a várt csúcsforgalom alatt. Ez tehát nem pusztán technikai finomhangolás, hanem a

AI agentek tesztelése: hogyan ellenőrizzünk egy autonóm rendszert?

Az AI következő (jelenlegi) hulláma már nem csak válaszol, hanem cselekszik. Az AI agentek (önállóan, több lépésben feladatot végrehajtó mesterséges intelligencia rendszerek) jegyet nyitnak az ügyfélszolgálati rendszerben, e-mailt küldenek, adatot módosítanak, visszatérítést vagy megrendelést indítanak. Az AI agent tesztelés ezért egészen más kérdést tesz fel, mint egy chatbot ellenőrzése: nem azt, hogy jó-e a válasz,

Scroll to Top

Elérhető tesztelőink

Nézze meg szakértőink profiljait, tapasztalatát és kompetenciáit, és találja meg a projektjéhez illő szakembert.

2006 — 2026

20 ÉVES A PASSED!

20 éve a szoftverminőség szolgálatában.

Két évtized szakértelem, fejlődés és elkötelezettség a szoftvertesztelés mellett.

PASSED

Töltse le tesztelőink szakmai profilját

Adja meg elérhetőségét egyszer és férjen hozzá valamennyi elérhető profilhoz.