facebook-pixel

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ó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ó

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:      IzomTódor,NagyZoló,SebesÜlés,VarázsLó            

Fegyver:   Nincs,Péklapát,BuzoGány,BűzBomba,MosatlanZokni,Ásó-Kapa-Nagyharang   

Ruha:     Nincs,ÁlcaTálca,Vaskád,GányGúnya,IzomPóló           

Képesség: Nincs,Rugóláb,Paca,Cérnahang,Időmilliomos,Álomgyáros,Vágyokozó

  • Indíts egy parancssort
  • cd c:\pict
  • 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

Facebook
LinkedIn
Twitter

Nem szeretnél lemaradni az új bejegyzésekről?

Tartalomjegyzék

Egyéb
Erdei Krisztián

AI-t tesztelnél? Mutatunk egy módszert!

Az AI alkalmazások létrehozásában, szakértőként felhívjuk az ügyfelek figyelmét az ehhez kapcsolódó sajátosságokra. Mivel a szoftvertermékek speciálisak, a minőségbiztosításuk is az. Az AI alkalmazások teszteléséről,

Egyéb
Erdei Krisztián

Szoftvertesztelés a mesterséges intelligenciával

Mit nyerhetünk és mire vigyázzunk? A mesterséges intelligencia napjainkban egyre meghatározóbb szerepet tölt be a szoftvertesztelés területén. Az elmúlt egy év során jelentős változások történtek

Érdekel a tesztelés világa?

Dolgozz velünk hazai és nemzetközi projekteken

egy csoport ember ül egy asztalnál laptopokkal

Várj, ne maradj le legújabb szakmai cikkeinkről

Iratkozz fel hírlevelünkre és minden hónapban elküldjük a legizgalmasabb cikkeket

egy laptop számítógépet tartó szemüveges férfi
egy süti csokireszelékkel
Tájékoztatjuk, hogy a honlap felhasználói élmény fokozásának érdekében sütiket alkalmazunk. A honlapunk használatával ön a tájékoztatásunkat tudomásul veszi.