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, |
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:
különböző hardver eszközök okozta problémák észrevétele( elviekben a hardver követelményekben meghatároztuk a minimum gépigényt. Ezzel szemben mivel, hogy a gyakorlatban tehát a tesztelési folyamat után derülhetnek ki a „rejtett” problémák a hardver követelményekkel kapcsolatban.Ezért ez nagyon fontos szempont a program gyakorlati használhatósága miatt.)
operációs rendszerek különbözőségéből eredő problémák( mivel ezt a játékot úgy terveztük meg, hogy a platform függetlenséget tartottuk szem előtt, ezért elviekben nem okozhat gondot ha a játékprogramot különböző operációs rendszeren futtatjuk.)
a jövőben kijövő JRE verziókkal való kompatibilitás( Ez fontos követelmény. Elvileg a Java nyelv alapelveiből következik, hogy ez a kompatibilitás fennáll.)
a programban előforduló implementációs hibák észrevétele( a játék közben előforduló „gyerekes”hibák észlelése. Ez és az előzőekben felsorolt problémák a későbbiekben részletesen kifejtésre kerülnek.)
A követelmény fázisban felállított elvárásoknak megfelel-e a program. Működik-e minden funkciója, elérhetőek-e a menüpontok, stb.
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:
pingelés ( itt a hálózatban résztvevő gépek közötti kommunikációt annak megbízhatóságát ellenőrizzük. Csomagok küldése történik a kommunikáló gépek közt és figyeljük a kapcsolat megbízhatóságát, azt, hogy miközben más műveletekre ad parancsot a felhasználó, a hálózati kommunikáció közben ne történjen adatvesztés )
válaszidő mérése, figyelése (a gépek közötti reagálási időket figyeljük, ezzel a játék élvezhetőségét szeretnénk biztosítani hálózati üzemmód esetén.)
szerver tesztelése ( a megbízhatósági és a csatlakozási lehetőségek ellenőrzése, képes-e ellátni a felhasználó igényeket)
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.