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

Files for download

    Last update: