V současné době lze testovat funkčnost programu pomocí JUnit testů a kvalitu zdrojového kódu pomocí nástroje PMD. Tato bakalářská práce zkoumá možnosti testování implementace pomocí duck-testů. Duck-testy netestují funčnost programu, ale to, zda je naimplementován správně. Pomocí těchto testů lze zjistit, zda student skutečně použil jazykové konstrukce, které měl určené v zadání. Mým úkolem je vytvořit dva programy - jeden pro automatické generování duck-testů podle učitelova vzorového příkladu a druhý na jejich automatické spouštění a vyhodnocení.
Anotace v angličtině
Currently it is possible to test the functionality of program using JUnit tests and the quality of source code using PMD. This thesis examines the possibility of testing the implementation by duck-tests. Duck-tests do not test the functionality of the program but the way of implementation. While using these tests you can determine if the student actually used the language structures which was specified in the assignment. My task is to create two programs - the first to automatically generate duck-tests according to the teacher's pattern and the other to automatically launch and evaluate the tests.
testing, teaching of programming, duck typing, anotation
Rozsah průvodní práce
36 s. + i-xii s. (88 843 zn.)
Jazyk
CZ
Anotace
V současné době lze testovat funkčnost programu pomocí JUnit testů a kvalitu zdrojového kódu pomocí nástroje PMD. Tato bakalářská práce zkoumá možnosti testování implementace pomocí duck-testů. Duck-testy netestují funčnost programu, ale to, zda je naimplementován správně. Pomocí těchto testů lze zjistit, zda student skutečně použil jazykové konstrukce, které měl určené v zadání. Mým úkolem je vytvořit dva programy - jeden pro automatické generování duck-testů podle učitelova vzorového příkladu a druhý na jejich automatické spouštění a vyhodnocení.
Anotace v angličtině
Currently it is possible to test the functionality of program using JUnit tests and the quality of source code using PMD. This thesis examines the possibility of testing the implementation by duck-tests. Duck-tests do not test the functionality of the program but the way of implementation. While using these tests you can determine if the student actually used the language structures which was specified in the assignment. My task is to create two programs - the first to automatically generate duck-tests according to the teacher's pattern and the other to automatically launch and evaluate the tests.
testing, teaching of programming, duck typing, anotation
Zásady pro vypracování
Seznamte se s filosofií automatizovaných testů s důrazem na Duck-testy. Popište využití existující knihovny Duck-testů.
Připravte sadu testů pro osm úloh z předmětu KIV/OOP a připravte i rozšíření knihovny pro vyhodnocování těchto testů. Zkušenosti z přípravy popište a funkčnost testů ověřte na existujících datech z roku 2012.
Navrhněte a realizujte desktopovou aplikaci, která bude v grafickém uživatelském režimu umožňovat spouštění Duck-testů nad studentskými úlohami.
Navrhněte a realizujte desktopovou aplikaci, která bude podle připravených vzorových programů generovat sady Duck-testů.
Aplikaci otestujte na existujících datech z roku 2012 a kriticky zhodnoťte výsledky.
Zásady pro vypracování
Seznamte se s filosofií automatizovaných testů s důrazem na Duck-testy. Popište využití existující knihovny Duck-testů.
Připravte sadu testů pro osm úloh z předmětu KIV/OOP a připravte i rozšíření knihovny pro vyhodnocování těchto testů. Zkušenosti z přípravy popište a funkčnost testů ověřte na existujících datech z roku 2012.
Navrhněte a realizujte desktopovou aplikaci, která bude v grafickém uživatelském režimu umožňovat spouštění Duck-testů nad studentskými úlohami.
Navrhněte a realizujte desktopovou aplikaci, která bude podle připravených vzorových programů generovat sady Duck-testů.
Aplikaci otestujte na existujících datech z roku 2012 a kriticky zhodnoťte výsledky.