Teszteléses szorgalmi házi feladat (Cucumber)

Ahogy az előadáson is elhangzott, a szorgalmi feladat a kötelező házi feladat során elkészített saját sakkóra automata funkcionális tesztelése.

A kötelező házi feladat folytatásaként lehetőség van egy Extra / IMSc feladat elkészítésére. Kezdetben érdemes a feladathoz készült segédletet elolvasni. Figyelem, ez a segédlet nem azonos a kötelező házi feladat segédletével!

Feladat: A feladathoz tartozó kiinduló projekt az alábbi linken érhető el: itt. A feladat a korábban elkészített kötelező házi feladat további, funkcionális tesztelése.
A teszteseteket a sakkóra interfészén beadott inputokból (gombnyomások), adott idejű várakozásokból, és kimenetek (kijelzők, sípjel) ellenőrzéséből felépített szekvenciákként (teszteset, scenario) kell specifikálni. Minden ilyen teszteset végén (és ahol jelentősége van, akár közben is) kötelező kimenetet vizsgálni. A teszteknek természetesen sikeresen le kell futniuk.
A teszkészlet tervezésekor erősen ajánlott a saját állapotgép szerkezetét figyelembe venni, minél nagyobb tesztfedettségre törekedni. Az állapotátmenet szintű fedettséget (némi pontatlansággal) a Yakindu állapotgépből generált forráskódot feldolgozó automatizált fedettségmérő eszközökkel (EclEmma) ki kell mutatni. Teljes pontszámot az a megoldás érdemelhet, amelyik teljes átmenetfedést ad.
(A feladat során a generált kód minél nagyobb százalékú fedését érjük el, pontosabban a ChessClockStatemachine.java állomány, ezen belül az állapotátmeneteket megvalósító check_, react_, effect_ ill. az állapotok be- ill. kilépésekor végrehajtott enterSequence_, exitSequence_ kezdetű függvények teljes fedése a cél.)

Beadás: A házi feladat feltöltése a HF portálon keresztül történik. A portálon az Extra / IMSc feladat ponthoz kell feltölteni egy .zip fájlt, amiben csak és kizárólag a chessclock.feature állomány a tesztkészlettel, valamint egy rövid dokumentáció (.pdf) található. A dokumentáció tartalmazza a tesztkészlet áttekintő leírását, tervezési szempontjait, és az elért kódfedettséget igazoló képernyőmentéseket (EclEmma Coverage nézet). A beadás határideje a 14. oktatási hét vége (2019.05.19. 23:59).

Pontozás: Mivel a feladat a kötelező házi feladat folytatása, a feladat csak akkor értékelhető, ha a hallgatónak a leadás pillanatában van elfogadott kötelező házi feladata. A feladatra 10 bónusz pontot lehet kapni, aminek a jeles ponthatára fölé eső része IMSc pontra váltható. A pont megszerzésének feltétele egy, a pótlási héten tartandó szóbeli védésen való megjelenés. A feladat értékelésének alapja a tesztelt modell helyessége, az elért kódfedettség, a dokumentáció minősége, és a megoldás dokumentáció alapján való reprodukálhatósága, továbbá a védésen nyújtott szóbeli teljesítmény. A nem, vagy hiányosan, vagy kirívóan igénytelenül dokumentált megoldás 0 pontot ér. Figyelem: A bónusz pontok csak az elégséges elérése után számítanak bele a jegybe.

Védés: A pont megszerzésének feltétele egy, a pótlási héten tartandó szóbeli védésen való megjelenés. Az erre való jelentkezésről később adunk tájékoztatást.

Pótlás: A feladat szorgalmi feladat, ezért késedelmes, vagy utólagos leadásra nincsen lehetőség.

Feltételek:

  • Leadási határidő a 14. hét vége (2019.05.19. 23:59, meghosszabbítva: 2019.05.22. 23:59), a HF portálon keresztül
  • Leadandó egy .zip állományban:
    • A chessclock.feature állomány a tesztkészlettel
    • Dokumentáció (PDF) a tesztkészlet áttekintő leírásával, tervezési szempontjaival, és az elért kódfedettség igazolására képernyőmentésekkel (EclEmma Coverage nézet)
  • Szóbeli védés a pótlási héten.
  • A kötelező számonkérések teljesítése esetén jegyjavításra (ill. jeles szint felett IMSc pont szerzésére) maximálisan elérhető 10 pont.