CBTG teszt célja

+1 vote
asked Nov 22, 2016 in SWSV by Hulcsa (29 points)  

Üdv!

A 4. házifeladatban a CBTG résznél azt hogy az inputokat hogyan, illetve mi szerint generáljuk világos, azonban az, hogy pontosan mit is vizsgáljunk ebben a teszt szakaszban nem teljesen. Mivel random inputhoz az egész logika megírása nélkül nem tudunk elvárt eredményt generálni, gondoljuk hogy nem is ez a feladat. Az a kérdésünk hogy a program mely viselkedésének tesztelése a cél ebben a szakaszban?

1 Answer

+1 vote
answered Nov 23, 2016 by micskeiz (2,873 points)  
selected Nov 23, 2016 by Hulcsa
 
Best answer

Ezeket az eszközöket tipikusan a következőre lehet használni:

  • Generál inputokat, és valami könnyen azonosítható hiba van (exception, kódban lévő assert sérül...). Ebben az esetben érdemes megnézni, hogy ez ténylegesen hiba-e a specifikáció alapján, és issue-t nyitni.
  • Lehet általánosabb ellenőrzéseket is megfogalmazni néha, ami részlegesen ellenőriz valamit, pl. a property-k a quickcheck esetén vagy a parametrzied test assert-je az IntelliTest-ben. Érdemes elgondokozni, hogy ilyesmit meg tudtok-e most fogalmazni a tesztelendő kódhoz, és akkor a random inputokra is lehet valamit mondani.
  • Lehet segíteni ezeket az eszközöket paraméterezés módosításával vagy segédfüggvények írásával, hogy segítsetek a részletesebb és hasznosabb tesztek generálásában.
  • ...

A feladat az lenne, hogy futtassátok, nézzétek meg, hogy milyen teszteket adott, azokból használható-e valamelyik (azokat érdemes lehet átemelni), és gondoljátok végig, hogy tud-e valamilyen típusú hibák megtalálásában segíteni az eszköz, ami kiegészítheti az eddigi tesztelést. A generált teszteket érdemes elmenteni, és - ha nincs túl sok - akkor akár azokat egyesével vagy csoportosan értékelni.

De az nem cél, hogy az ellenőrzés végző kódban újraimplementáljátok a teljes logikát, és így tetszőleges bemenetre pontos elvárt választ tudjatok adni. De sok esetben ennél "gyengébb" orákulum is hasznos lehet.

...