Kihagyás

Tesztterv

Dokumentumra vonatkozó adatok

Dokumentum száma: TT-001-EXMPL

A tervet készítette:

  • Kiss Pista István, tesztelő
  • Fekete Péter, tesztelő
  • Metil Ibolya, tesztelő

Verziótörténet

Verzió Kiadás dátuma Leírás
1.0 2024.06.30 A dokumentum kezdeti kiadása

A tesztelési feladat kontextusa

Jelen dokumentum a XXXX/YYYY tanév tesztelés alapjai kurzus XX csapat által választott Unlucky projektjének teszttervét tartalmazza. Az Unlucky alkalmazás RNG-n (random number generator) alapuló, lépésváltásos harcrendszerrel rendelkező LibGDX Android RPG játék. Az RNG-t általában nem szeretik a játékokban, viszont ennek a játéknak az egész témája az RNG-re épül. A csatában a támadásoktól kezdve a varázslatos tárgyakon át a mozgásig minden RNG-n alapul.

A játékos különféle témájú térképeken harcol különböző szörnyekkel. Jelenleg három elérhető világ áll rendelkezésre, mindegyik 10+ szinttel. Ezeken a térképeken a játékosnak szörnyeket kell legyőznie, és meg kell találnia egy csillaglapkát a szint teljesítéséhez. A szörnyek tárgyakat dobhatnak, amelyek javíthatják a játékos erejét, vagy a játékos el is adhatja azokat.

A harcrendszer körökre osztott mechanikán alapul. A játékos négy véletlenszerűen generált lépést kap, amelyek minden színe más-más típusú lépésnek felel meg. A játékos hozzáférhet speciális mozdulatokhoz is, amelyeket a menüben választhat ki. A speciális mozdulatok bónusz hatást gyakorolnak a játékos támadásaira, vagy befolyásolják az ellenséget. A játékosnak lehetősége van arra is, hogy nagyon alacsony eséllyel elmenekülhessen a csatából.

A tesztelés célja a projekt minőségi fejlődésének elősegítése az előforduló hibák felkutatásával és a játékélmény megvizsgálásával. A kitűzött cél teljesítéséhez statikus és használhatósági teszteket alkalmazunk.

Az alkalmazás 2018.07.03-án kiadott 1.0 verziója kerül tesztelésre.

A statikus tesztek alapja az Unlucky core és desktop moduljainak forráskódja, ezeken az egységeken statikus forráskódelemzést hajtunk végre.

A használhatósági teszt bázisa a Desktop verzió felhasználói felülete, a végfelhasználói élmény kerül tesztelésre. Külön dokumentáció nem áll rendelkezésre, a projekt oldalán lévő README fájlokban található screenshootok adnak némi eligazítást.

Feltételezések és korlátozások

Azzal a feltételezéssel élünk, hogy az Unlucky projekt release oldalán közzétett csomagok telepíthetők, működnek. A fejlesztő a működő kód mellett annak forráskódját is közzétette, valamint a README fájlban olvashatók a fordításhoz szükséges feltételek. Itt azzal a további feltételezéssel élünk, hogy a szükséges verziók elérhetők, letölthetők, a gradle konfigurációk korrekt beállítást tartalmaznak.

A tesztelés során csak a desktop verziót teszteljük, az Androidos felület nem kerül tesztelésre.

Érdekelt felek

  • Tesztelő csapat: a teszt tervezését és lebonyolítását végzik
  • Tesztelésbe bevont önkéntesek: a játékélmény tesztelésében vesznek részt, véleményük kérdőívek segítségével kerül kiértékelésre
  • Gyakorlatvezető: meghatározza a követelményeket és értékeli a teljesítéseket
  • Fejlesztő: amennyiben visszajelzést kap a teszt eredményéről, lehetőséget kap a játékélmény fejlesztését szolgáló ötletek kidolgozására

Kommunikáció

A tesztelési projekt megvalósítása során a hivatalos kommunikációhoz az informatikai intézet által biztosított e-mail címeket használjuk, ezen keresztük kommunikálunk a gyakorlatvezetővel.

Hivatalos kommunikációs csatornának tekintjük ezenkívül a gyakorlathoz tartozó Coospace színtér fórumát, de ezen keresztül csak a publikus információk kerülnek megosztásra. Privát információk közléséhez kizárólag az intézet által biztosított e-mail címeket használjuk.

A projektkommunikáció történhet személyesen, vagy online meetingeken keresztül, amelyhez a Discord XXXX csatornát használjuk. A meetingekről minden esetben memo készül.

Kockázatmenedzsment

Kockázat

Kockázatcsökkentési lehetőségek:

  • Projekt felénél és a végénél nem vagy csak nagyon kevés feladatot ütemeztünk be, hogy az esetleges problémákból okozott lemaradásokat bepótolhassuk
  • Backup eszközt használunk meghibásodás esetére
  • Gyakori mentéseket készítünk
  • Gyakori meetingeket tartubj a félreértések elkerülése érdekében
  • Lokális buffer gyakori ürítésére (push) figyelünk

Megjegyzés: A kockázatokat érintő események alacsony számossága miatt a projektkockázatok és a termékkockázatok ugyanazon kockázati mátrixban kerültek feltüntetésre.

Tesztmegközelítés

Tesztszintek

A statikus tesztelés esetén modulszinten, míg a használhatósági teszt esetében rendszerteszt szinten végezzük a tesztelést.

Teszttípusok

Kétféle tesztelést végzünk a statikus tesztelést (statikus kódelemzést), illetőleg a feketedoboz tesztelésnek megfelelő használhatósági tesztelést. Mindkét esetben nemfuncionális tesztelést végzünk.

Teszttechnikák

A statikus tesztelés végrehajtása érdekében a forráskód vizsgálatát végezzük alkalmas toolok segítségével, míg a használhatósági teszteléshez használati eset alapú teszteket használunk, amelyhez különböző szcenáriókat definiálunk egy-egy kérdőívvel. A tesztelés végeztével a szcenáriókon végigmegyünk különböző korú és érdeklődési körű önkéntesekkel, majd a kérdőívben megadott válaszaikat kiértékeljük.

Teszttermékek

  • A tesztterv
  • A használhatósági teszteléshez tartozó szcenáriók
  • A kérdőívek és a rájuk érkezett válaszok
  • Az összesített eredmények feldolgozása és a belőlük levont következtetések
  • Statikus kódelemzés szkópjaként választott feature set
  • Kiemelt, elemzett szabálysértésekről szóló riport
  • Általános szabálysértésekről szóló riport
  • Szabálysértések listája szerializált formában (pl. XML)
  • A köztes és végső riportok

Belépési és kilépési feltételek

A statikus tesztelés belépési feltételei:

  • A tesztterv jóváhagyása
  • Java futtatókörnyezet és működő Gradle rendelkezésre állása
  • Valamely text editor (pl. integrált GitLab editor, Visual Studio Code markdown pluginokkal stb.) rendelkezésre állása
  • Ha a szoftver nem fordul out-of-the-box módon: egy olyan fork készítése a repositoryból, mely fordítható
  • Eclipse vagy Jetbrains IDE felállítása, a SpotBugs (Eclipse) plugin beüzemelése

A statikus tesztelés kilépési feltételei:

  • Legalább 10, de lehetőleg több kielemzett szabálysértés vizsgálata, majd ezekről a felsorolt riportok elkészítése.

A használhatósági tesztelés belépési feltételei:

  • A tesztterv jóváhagyása
  • A játékot sikeresen futtattuk
  • A szcenáriók és a hozzájuk tartozó kérdőívek elkészültek
  • A tesztelésben résztvevő önkéntes csoportok felállása

A használhatósági tesztelés kilépési feltételei:

  • Minimum 5 szcenárió és a hozzájuk tartozó kérdőív kitöltése
  • Minimum 20 felhasználó kitöltötte a kérdőíveket
  • Az eredményeket feldolgoztuk, a leszállítandókat elkészítettük

Tesztkörnyezet

A használhatósági teszteléshez az alábbi eszközök rendelkezésre állását kell biztosítani:

  • Átlagos desktop (Windows/MacOS/Linux), nincs specifikus hardver követelmény
  • Java 8 környezet
  • Gradle
  • Google Forms

A statikus teszteléshez a következő eszközök rendelkezésre állása szükséges:

  • Átlagos desktop (Windows/MacOS/Linux), nincs specifikus hardver követelmény
  • Java 8
  • Gradle
  • Eclipse vagy Jetbrains IDE
  • SpotBugs, esetleg IntelliJ IDEA beépített kódelemzője
  • CheckStyle

Ütemterv

A projekt ütemezését az alábbi Gantt-diagram tartalmazza.

Ütemezés

Felelősségek kiosztása

Név Felelősség
Kiss Pista István XXXXXXX
Fekete Péter YYYYYYY
Metil Ibolya ZZZZZZZ

Jóváhagyó

A dokumentumot a mai nappal jóváhagytam:

Dátum: 2024.06.30 Jóváhagyó: Dr. Gyakorlatvezető Henrik


Utolsó frissítés: 2024-09-01 14:17:29