Continuous integration for open source web applications on GitHub

Thesis title: Continuous integration pro open source webové aplikace na GitHubu
Author: Soule, Kamil
Thesis type: Diplomová práce
Supervisor: Kliegr, Tomáš
Opponents: Zeman, Václav
Thesis language: Česky
Abstract:
Tato diplomová práce nabízí ucelený pohled na problematiku testování grafického webového rozhraní v rámci průběžné integrace. Zaměřuje se na open source projekty vystavené na GitHubu, které pro své nasazení využívají Docker kontejnery. Součástí práce je přehled bezplatných cloudových serverů pro integraci open source projektů. Dále práce obsahuje přehled nástrojů pro vytváření automatizovaných testů, které jsou založeny na knihovně Selenium WebDriver. Zvláštní pozornost je věnována nástrojům podporujících tvorbu testovacích scénářů dle agilní metodiky behaviour driven development. Další část práce popisuje návrh bezplatného technického řešení, které umožňuje začlenit testování grafického webového rozhraní do procesu průběžné integrace pro open source projekty. Navržené řešení využívá cloudový integrační server Travis CI a samostatný web s reporty a dalšími informacemi o proběhlých integracích. Pro definici automatizovaných testůvyužívá nástroj Robot framework a pro spouštění testů Docker obraz, který je zveřejněn na Docker Hubu. Použití navrženého řešení je demonstrováno pomocí jeho implementace a nasazení pro open source projekt EasyMiner. Tento projekt je vyvíjený na KIZI VŠE. Součástí implementace je vytvoření sady testovacích scénářů dle metodiky behaviour driven development.
Keywords: Docker; Travis CI; Selenium; Behaviour driven development; Průběžná integrace; Robot framework; open source
Thesis title: Continuous integration for open source web applications on GitHub
Author: Soule, Kamil
Thesis type: Diploma thesis
Supervisor: Kliegr, Tomáš
Opponents: Zeman, Václav
Thesis language: Česky
Abstract:
This diploma thesis provides a comprehensive view on graphical web user interface testing during continuous integration. It focuses on open source projects published on GitHub that use Docker containers for their deployment. First part of the work is an overview of free cloud servers for the integration of open source projects. In addition, the work includes an overview of automated testing tools that are based on the Selenium WebDriver library. Attention is paid to tools supporting the development of test scenarios according to the agile methodology called behaviour driven development. Another part of the thesis describes the design of technical solution that allows integration of graphical web interface testing into the process of continuous integration for open source projects. The proposed solution uses Travis CI as cloud integration server and a standalone website to store reports and other information on past integrations. Automated tests are defined using the Robot framework and executed using a Docker image, which is published on Docker Hub. The use of the proposed solution is demonstrated by its implementation and deployment for the open source project EasyMiner. This project is developed at the University of Economics Prague in DIKE department. The implementation includes the creation of a test suite with scenarios according to the behaviour driven development methodology.
Keywords: Docker; Travis CI; Selenium; Behaviour driven development; Robot framework; open source; Continuous integration

Information about study

Study programme: Aplikovaná informatika/Informační systémy a technologie
Type of study programme: Magisterský studijní program
Assigned degree: Ing.
Institutions assigning academic degree: Vysoká škola ekonomická v Praze
Faculty: Faculty of Informatics and Statistics
Department: Department of Information and Knowledge Engineering

Information on submission and defense

Date of assignment: 24. 2. 2017
Date of submission: 4. 12. 2017
Date of defense: 30. 1. 2018
Identifier in the InSIS system: https://insis.vse.cz/zp/61016/podrobnosti

Files for download

    Last update: