Csoport neve: Nil

Feladat sorszáma: 6

Feladat címe: Stratégiai játék






Tesztelési terv dokumentáció




Gyakorlatvezető::

Répási Tibor


Csoport tagok:


Szmetankó Gábor

EMS4D7

szmeti@chello.hu

Farkas Dániel

VGF0AV

farkasd@gmail.com

Borsody Péter

XRCMHR

borsody@iit.uni-miskolc.hu

Borsody Zsombor

AV8VOD

borsody_zs@freemail.hu

Herczeg Ádám

F8T8FT

herczeg@iit.uni-miskolc.hu

Soós Dániel

BJFFAF

soos1@iit.uni-miskolc.hu


2006.05.11.


Történet


Dátum

Verzió

Leírás

Szerző

2006.05.11.

1.0

Tesztelési terv

Szmetankó Gábor,
Farkas Dániel,
Borsody Péter,
Borsody Zsombor,
Herczeg Ádám,
Soós Dániel






1. Feladatok


A tesztelési terv fő célja, hogy részletezzük azokat a feladatokat, melyeket a tesztelés során el kell végeznünk. A tesztelés célja, hogy a már majdnem kész programban található hibákat kiderítsük, ellenőrizzük, hogy a program által ellátott funkciók a terveknek megfelelően működnek-e, a kész program képes lesz-e ellátni a feladatát, képes-e együttműködni a különböző operációsrendszerekkel, és hardverelemekkel. Fel kell deríteni a program kódolása közben elkövetett programozói hibákat. A tesztelési fázis folyamán fontos a jó kapcsolattartás a tesztelők és a program készítői, a tervezők és programozók közt. Ezt elősegítendő a tesztereket az internet segítségével toborozzuk, és rendszeres jelentéseket várunk tőlük e-mailben. Ezenkívül a játék szerverén indított on-line fórumon keresztül a tesztelők is megoszthatják egymással tapasztalataikat, kétségeiket.


 

2.Béta tesztelés 

Az első elkészült, használható béta verzió tesztelését az internet segítségével toborzott bétatesztelők segítségével tervezzük megvalósítani. Ennek elősegítésére a szerveren kívánunk létrehozni egy kommunikációs felületet, így a bétateszerek megoszthatják egymással észrevételeiket, tapasztalataikat a játékprogrammal kapcsolatban. Ennek az elvnek a segítségével kiküszöbölhetők a következő problémák:

Nagyon fontos információ, hogy a Bétateszterek a játék tesztelése előtt megkapják a játékkal szemben felállított követelmény „csomagot” amit a program készítői állítottak össze. Ezen követelmény csomagot szem előtt tartva a Bétateszterek ellenőrzik a rendszer tulajdonságait illetve a segítségükkel tovább javíthatjuk a játszhatóságot ezzel növeljük a játékélményt. A béta tesztereknek rendszeres időközönként jelentéseket kell küldeniük, az észlelt problémákról, az esetleges hibák beálltakor lévő rendszerállapotról. 

 

2.1 Különböző hardver elemek okozta problémák észrevétele

 

A játékprogramunk mint minden más hasonló stratégiai játék meghatározott hardver követelményekhez van szabva. Bizonyos esetekben azonban ezeket a hardver határokat utólag kell módosítani mivel gyakorlati működés közben tapasztalhatjuk meg igazán, hogy a játékban szereplő objektumok illetve a játék működéséhez elengedhetetlen folyamatok működéséhez milyen minimum hardver eszközt kívánunk meg. Természetesen a célunk, hogy minél több felhasználó játszhasson a programmal ezért megpróbáljuk lehetővé tenni, hogy minél kisebb teljesítményű gépekkel is élhessenek szenvedélyüknek. Fontos követelmény azonban, és nagyon kényes pont amikor megpróbáljuk megszabni ezeket a határokat, hogy a program minden körülmények között folyamatosan fusson, és dinamikus játékot tegyen lehetővé. Ebben a tesztelési fázisban nagyon nagy szerep jut a bétatesztereknek mivel a játék beállításainak variálásával megpróbálják felmérni a program „tudását”.  Elsődleges cél az, hogy a követelmény „csomagban” leírt elméleti hardver elemeket minden körülmények között leteszteljük annak érdekében, hogy a kiinduló minimum számítógép kapacitás elegendő lesz-e a játéknak vagy módosításokat kell, hogy elvégezzünk. A tesztelés több fázist, területet érint. Külön megvizsgáljuk az egyes hardver elemek viselkedését minden beállítási lehetőséget kipróbálva, illetve ezután az összes hardver elemek együttműködését.

 

2.2 Operációs rendszerek különbözőségéből adódó problémák

 

A stratégiai játékunk tervezésénel elsődleges szempont volt, hogy olyan programot készítsünk melynek nem okoz problémát az, hogy a felhasználók különböző operációs rendszerrel rendelkeznek. A platform függetlenséget olyan „egyszerű” módon próbáltuk megoldani, hogy Java programozási nyelvben készítettük el a játékot így megtudtuk teremteni a feltételt, hogy különböző operációs rendszereken is futhasson a programunk. Ennél a módszernél kihasználtuk még a java programok azon tulajdonságát, hogy amikor lefordítjuk a java programunkat akkor az adott operációs rendszerhez „illeszkedik”. Ezzel elértük elviekben a platform függetlenséget, mivel minden alkalommal mikor elszeretnénk indítani a játékot előbb le kell fordítanunk, így a játékprogram a jelenlévő operációs rendszerhez „illeszkedik”.  Az, hogy ezt az eredményt elérjük ahhoz az adott rendszeren a megfelelő JRE környezet szükséges. A minimum JRE verziót a követelmény „csomagban” már meghatároztuk, tehát ilyen verziójú JRE illetve frissebb verziójú JRE szükségeltetik a játékprogram futtatásához. A bétateszterek tehát tesztelik a JRE-kompatibiltást is.

 

2.3 A jövőben kijövő JRE verziókkal való kompatibilitás

 

Ezzel a ponttal csak azért kell foglalkozni, mert a játék további fejlesztését szem előtt tartva számítanunk kell arra is, hogy további JRE változatok kerülnek napvilágra. Biztosítanunk kell azt is, hogy ezekkel a változatokkal is képesek leszünk futatni a játékprogramot. Elviekben ezzel a problémával nem kellene foglalkozni mert a Java egyik tulajdonsága, hogy ha a programot egy későbbi verziójú JRE segítségével letudjuk fordítani akkor ebből egyenesen következik az is hogy a jövőben kijövő frissebb verziókkal is megtudjuk ezt csinálni.

 

2.4 A programban előforduló implementációs hibák észrevétele

Az implementációs hibák valójában mármint elméletileg ne kellene, hogy felmerüljenek mert a programozás folyamata alatt ki kellene derülniük. De ez gyakorlatban ez szinte sosincs így, mivel látszólag tökéletesen fut a program sokszor vannak fennakadások. A játék programoknál egyik legjellemzőbb hiba az szokott lenni ha valamelyik funkció nem teljesen tudja ellátni a teljes feladatát. Ezen értek olyanokat, hogy például ha a játék hangerejét vagy a sebességét szeretnénk beállítani akkor valamilyen hiba folytán ez nem sikerül. Ez sokszor implementációs hibára utalhat vagy csak egyszerűen valamiféle programozási „kihagyást” jelölhet. Tehát ennél a tesztelési fázisnál is nagy szerepük van a bétatesztereknek mivel rengeteg használat után derülhetnek ki ezek a látszólag „gyermeteg” hibák.

 

3. Hálózati tesztelés

 

A hálózat tesztelése nagyon fontos pont egy stratégiai játéknál. Itt derülhetnek ki azok a problémák amik akadályozhatják a felhasználókat abban, hogy igazából kihasználják a stratégiai játékok igazi lényegét, azt hogy egyszerre több „élő” játékos küzdhessen meg egymás ellen. A hálózati tesztelés során a következő funkciókat kell leellenőrizni:



4. Mesterséges Intelligencia tesztelése

 

A mesterséges intelligencia tesztelése a bétateszterek másik kulcsfeladata. A játékban található kampány végigjátszása során szükségképpen csak gépi ellenfelekkel találkozik a játékos. Nagyon fontos, hogy a gépi ellenfél teljesítménye kiegyensúlyozott legyen. Alapkövetelményként fektettük le azt, hogy a mesterséges intelligencia megizzassza a játékost, de ne állítsa legyőzhetetlen feladat elé. A tesztelőknek figyelni kell a gép által végrehajtott hadmozdulatokat, megfigyelni a stratégiáját, ha a gép túl könnyedén kiismerhető, vagy vannak olyan körülmények, amelyekben a gép lépései előre kiszámíthatók, dokumentálni kell azokat. A gépi ellenfelek intelligenciáját oly módon is tesztelni kivánjuk, hogy két gépi játékost játszatunk egymás ellen, és figyeljük az alkalmazott stratégiákat. A végcél az lenne, hogy ugyanazon a pályán, ha kétszer egymás után indítunk gépi ellenfelekkel játékot, a mesterséges intelligencia ne ugyanazokat a lépéseket kövesse, mint a korábbi esetben.

5.Történet, játékmenet


A teszterek feladatai közé tartozik a játék folyamán kialakuló történet ellenörzése is. Felhívhatják a figyelmet az esetleges logikátlanságokra a játékmenetben. Ha a történet esetleg mégsem olyan közismert, illetve könnyedén érthető, akkor még újabb átvezető animációkkal és szöveges részekkel egészíthető ki a kampány.