The extension of CloudCoder framework by testing the JUnit tests
Thesis title: | Rozšíření frameworku CloudCoder o možnost kontrolování JUnit testů |
---|---|
Author: | Kovář, Jan |
Thesis type: | Bakalářská práce |
Supervisor: | Pavlíčková, Jarmila |
Opponents: | Král, David |
Thesis language: | Česky |
Abstract: | Cílem bakalářské práce je rozšíření existujícího open-source frameworku s názvem CloudCoder (který byl vytvořen pomocí technologie GWT) jakožto pomůcky pro předmět 4IT101 – Programování v Javě, který je vyučován na Vysoké škole ekonomické v Praze. Rozšiřovaný framework spadá do kategorie výukového software, konkrétně se jedná o systém pro vytváření a plnění programovacích úkolů s okamžitým zjištěním výsledku. Práce popisuje požadavky, na jejichž základě byl vybrán zmíněný framework, dále samotnou architekturu celého systému. Pomocí architektury a požadavků, které nebyly implementovány v rámci původní verze CloudCoderu, bylo navrhnuto řešení v podobě několika případů užití. Nejrozsáhlejším z nesplněných požadavků je kontrola tzv. JUnit testů, tedy typ úkolu, ve kterém má student napsat jednotkové testy k otestování kódu, který napsal lektor. Pro tuto funkčnost bylo nutné vytvořit vlastní knihovnu nazvanou CodeAnalyser, která analyzuje předaný kód. Na základě této analýzy lze pak určit pokrytí kódu a fakt, zda student vytvořil validní testy testující daný kód. Samostatná kapitola je věnována implementaci, sestavení a spouštění, v které jsou uvedeny i přístupy ke zdrojovým kódům CloudCoderu i knihovny CodeAnalyser. V rámci kapitoly Testování jsou stanovena akceptační kritéria pro rozšíření frameworku. Závěrem jsou popsány přínosy a shrnuty veškeré cíle práce včetně jejich naplnění. Na úplném konci je vlastní ohodnocení celé práce. |
Keywords: | GWT; Java; Jednotkové testy; JUnit; Analýza kódu; kontrola úkolů; pokrytí kódu; výuka; výukový software |
Thesis title: | The extension of CloudCoder framework by testing the JUnit tests |
---|---|
Author: | Kovář, Jan |
Thesis type: | Bachelor thesis |
Supervisor: | Pavlíčková, Jarmila |
Opponents: | Král, David |
Thesis language: | Česky |
Abstract: | The main objective of this bachelor thesis is extending open-source framework called CloudCoder (which is created by GWT technology) as an electronic aid for the course 4IT101 – Programming in Java which is taught at the University of economics in Prague. Extended framework is categorized as an educational software, more precisely – it is a system for creating and solving programming tasks with instant evaluating. This thesis describes the architecture and main requirements by which the framework was selected. The next step is to create several use cases that aren’t part of the original solution. The most complicated use case is a testing the JUnit test. The JUnit test is a special type of task where the student is trying to create valid JUnit test for some logical code written by the lector. There was a necessity of creating an external library called CodeAnalyser which analyses the given code. Therefore it is possible (thanks to code analysis) to determine code coverage level and whether the student has created a valid test that really tests the logical code. The next chapter describes the implementing, building and launching the whole system. There are also links to source code of CloudCoder and CodeAnalyser added in this chapter. There are acceptance criteria created in the last chapter which is dedicated to the testing. The very end of the bachelor thesis is about all objectives and their fulfillness, the main benefits and personal evaluating of this thesis. |
Keywords: | Code coverage; Education; JUnit; Testing the test; Unit test; Code analysis; Educational software; GWT; Java |
Information about study
Study programme: | Aplikovaná informatika/Aplikovaná informatika |
---|---|
Type of study programme: | Bakalářský studijní program |
Assigned degree: | Bc. |
Institutions assigning academic degree: | Vysoká škola ekonomická v Praze |
Faculty: | Faculty of Informatics and Statistics |
Department: | Department of Information Technologies |
Information on submission and defense
Date of assignment: | 15. 3. 2017 |
---|---|
Date of submission: | 1. 5. 2018 |
Date of defense: | 15. 6. 2018 |
Identifier in the InSIS system: | https://insis.vse.cz/zp/65898/podrobnosti |