Kihagyás

Köztes Riport

Dokumentum adatok

Dokumentum száma: KR-002

Tesztelt szoftver

OpenCiv - https://github.com/RyanGrieb/OpenCiv/tree/old_java

Csapattagok

  • Kiss Pista István - tesztelő
  • Metil Ibolya - tesztelő
  • II. Derivált - vezető tesztelő

Verziótörténet

Verzió Kiadás dátuma Leírás
1.0 2025.11.10. Köztes riportként leadásra kerülő jelentés

Vezetői összefoglaló

Jelen riport az OpenCiv tesztelési feladatokkal kapcsolatos haladási jelentést tartalmazza az alábbiak szerint:

A kommunikációban és az együttműködésben probléma nem merült fel, mindenki terv szerint végzi a ráosztott feladatokat és megfelelően zajlik a csapatmunka. Ugyanakkor a teszttervünkben egy radikális változást kellett rögzítenünk, mikor kiderült, hogy az általunk választott projektnek van egy TypeScript helyett Java alapú verziója, ami több funkciót és ennél fogva több tesztelhető komponenst tartalmaz. A Java verzióra állás az időbeosztásunkat módosította, de zavartalanul sikerült, a tesztterv új verziót kapott javított részletekkel.

A 2. fázisban sor került manuális tesztelésre, ahol rögzítettük a megtalált hibákat. Sor került unit tesztelésre és ezáltal lefedettség mérésre is. A unit tesztekből szintén rögzítésre kerülhetett néhány hiba, amelyek a tesztelés során derültek ki. (Hibák: "Elért eredmények" alcímnél) Ebben a fázisban a lefedettségre esett a nagyobb figyelem, ezért a 3. fázisban jobban fókuszban lesz terhelés tesztelés, de a tervezett lefedettségi értékeket sem hanyagoljuk el.

Elvégzett feladatok

Fejlesztői környezetek beállítása minden csapattagnak:

  • Dependency injection beállítás Intellij IDEA környezetben
  • JUnit beüzemelése
  • Mockito beüzemelése
  • Futáshoz szükséges módosítások

Manuális tesztelés:

  • Játékmenet megismerése
  • Szembetűnő hibák rögzítése

Szükséges technológiákkal kapcsolatos ismeretszerzések:

  • Lefedettség méréssel kapcsolatos alapok megismerése
  • JUnit 5-ös verziójának megismerése (Annotációk, beépített függvények)

Konvenciók meghatározása:

  • Mapparendszer struktúrájának megfelelő használata (teszt package-ek)

Unit tesztelés:

  • Issue-kban meghatározott package-ek, osztályok unit tesztelése JUnit 5 és Mockito segítségével

Lefedettségmérés:

  • A játékot összefogó projektek jelenlegi unit tesztjeinek száma: 245 db

Elért eredmények

Unit teszteléssel feltárt hibák

  1. A Core.Events.Type.LeftClickEvent.java fájlban a konstruktorban az x adattagnak is az y paraméter értéke van átadva.
  2. A server/game/city/City.java "setHealth()" metódusa nem felügyeli a maximum értéken való túllépést.
  3. A server/game/city/City.java "setIgnoresTileObstructions()" nem befejezett metódus és hibát idéz elő.
  4. A shared/stat/StatLine.java "getValue()" metódusa helytelen számítást végez float értékekkel. (2 tesztnél fordul elő: GardenTest, BazaarTest)

A további hibára futott tesztesetek null pointer exception-re utalnak. (AIPlayerTest, ColossusTest, GreatLibrary, SoundHandlerTest)

Manuálisan feltárt hibák

  1. Ha egy WorkerShip objektumot egy olyan mezőre léptetjük, ahol halászni tud tengeri élőlényt, a halászat megkezdése után nem tud tovább mozdulni és a halászat is megszakad.
  2. A kutatás és tanulás funkcióknak beépített számlálóik nem a valós hátralévő köröket mutatják és ha a felhasználó új kutatást vagy tanulást kezdeményez nem kerül frissítésre.
  3. A Next Turn gomb lenyomása rendeltetés szerűen működik ha a kurzorral navigálunk a gombra, viszont ha az azonos funkciójú space billentyűt nyomjuk meg kikerülhetjük a kötelező tennivalókat, amit egy körben végre kell hajtanunk játékosként.

Főbb lefedettségi eredmények

Vizsgált egység Class Method Line
Egész projekt 31% 11% 7%
Event 95% 94% 90%
Server 61% 23% 15%
Util 50% 16% 5%
Vizsgált egység Class Method Line
Egész projekt 275/870 592/5146 1286/17011
Event 46/48 182/192 252/278
Server 446/730 872/3678 1994/13058
Util 2/4 2/12 4/76

Lefedettségi tesztek sikeressége: 98.4%

Tényleges ráfordítások

Feladat Tervezett ráfordítás Tényleges ráfordítás Megjegyzés
Fejlesztői környezetek beállítása minden csapattagnak 4 óra 8 óra
Manuális tesztelés 8 óra 8 óra
Szükséges technológiákkal kapcsolatos ismeretszerzések 3 óra 5 óra
Konvenciók meghatározása 2 óra 1 óra
Unit tesztelés 12 óra 12 óra
Lefedettségmérés 4 óra 2 óra

Megjegyzés: A fenti adatok nem valósak, csak a példa miatt kerültek itt feltüntetésre. Az eredeti riport a kapcsolódó issuekat linkelte be és nem a ráfordításokat, hanem az elvégzett feladatokat részletezte. Az issuek belinkelése természetesen továbbra is lehetséges.

Előrehaladás

  • A módosult teszttervnek megfelelően történik a tesztelés végrehajtása.
  • A kockázat csökkentési módszereket megfelelően alkalmazzuk a teszttervben leírtak szerint.
  • A kommunikáció zavartalan, a teszttervben lévő csatornákat alkalmazzuk.
  • A választott tesztmegközelítéseinket és technikáinkat terv szerint alkalmazzuk.
  • A munkavégzés üteme kisebb nehézségek miatt csökkent a tervezetthez képest, de nem akadályozza a projekt sikerességét.
  • Az eddigi lefedettségi tesztelések a teszt tervezése során meghatározott módon zajlik.
  • Összességében a 2. fázist időhatáron belül megfelelően hajtuk végre, néhány lefedettségi mérés vár elvégzésre.
  • A továbbiakban nagyobb hangsúlyt fektetünk a terheléses tesztelésre és a maradék lefedettségi teendőinket fogjuk befejezni.

Teszttervtől történő eltérések

  • A kezdeti teszttervtől el kellett térnünk, mikor a Java verzióval rendelkező branch tesztelése mellett döntöttünk. Ennek oka a jobb tesztelhetőségi lehetőség, funkcionálisabb projekt és jobb munkamegosztás a csapattársak között a lehetőségekből adódva.
  • Az átállás miatt új technológiák tanulását kellett beiktatnunk a teendőink közé, ezért néhány felelősség kissé eltért a 2. fázisban a tervezettől.
  • Szintén az átállás miatt a fázisok közti időbeosztásaink munkára fordított részei megrövidültek, de a teszttervben lévő határidőket betartottuk.

Dátum: 2025.11.10.


Utolsó frissítés: 2025-11-06 11:51:02