Nem tudom lefedni a függvényeket

0 votes
asked May 13, 2018 in Rendszermodellezés A00 by richardkiss (26 points)  

A feladatra írt tesztesetekkel már csak a következő függvényeket nem tudom lefedni:

https://drive.google.com/open?id=1QRy8l4OnVn3QP4rCvKDJJ3fLJcXdrcma

Amit észrevettem, hogy ezek közül mindegyiknek a törzse egy "return true;" ból áll, egy olyan függvényt sem tudtam lefedni, amiben csak egy "return true;" van. (A statechart-ban a state nevek egyeznek a bennük levő region-ök neveivel, ez sajnos kicsit zavaró)

1 Answer

0 votes
answered May 14, 2018 by dkmisu (630 points)  

A feladat ennél picit összetettebb. Először is azt kéne megnézni, hogy a megadott függvények mikor hívódhatnak meg. Erre ajánlom a yakindu dokumentációját. Elképzelhető ugyanis olyan kód, amit legenerál, de soha nem hívja meg. Például biztos ilyen az a függvény, ami a fő régióból való kilépéskor futna le, egészen egyszerűen azért, mert a sakkóra a végtelenségig működik, nincs lehetőség leállítani a futását, így kis em léphet a mindent felölelő régióból. A többi is lehet hasonló.

Ahogy látom a choice-oknál van probléma. Nézd meg, hogy milyen esetekben hívódnának meg a függvények, és próbáld meg megmagyarázni, hogy miért nem fedik a tesztek. Ha ügyes vagy, akkor kb 95% körüli fedést tudsz elérni, míg ha a kódból kiszeded a soha nem futó kódokat, akkor 100%-ot.

...