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

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