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¶
- A Core.Events.Type.LeftClickEvent.java fájlban a konstruktorban az x adattagnak is az y paraméter értéke van átadva.
- A server/game/city/City.java "setHealth()" metódusa nem felügyeli a maximum értéken való túllépést.
- A server/game/city/City.java "setIgnoresTileObstructions()" nem befejezett metódus és hibát idéz elő.
- 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¶
- 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.
- 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.
- 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.