Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Bc. Martin Kovalski
Acad. year: 2022/2023
Supervisor: Ing. Jiří Hynek, Ph.D.
Reviewer: Ing. Petr John
The IoT environment involves a large number of sensors that produce vast amounts of data. This data needs to be processed and displayed to users. Various clients (web or mobile applications) are created for this purpose. In order to get the data to these clients, application interfaces are needed. The aim of this work is to test an existing REST-like application interface that allows data transfer from the cloud to client applications and to provide endpoint developers of this API with a tool that will allow them to test emerging endpoints in the future. To this end, an application has been created to facilitate the management and creation of tests. These tests are then run using the Codeception testing framework. The resulting application allows you to test a REST API that has an OpenAPI specification created and that uses a PostgreSQL database to run.
testing, application interface, REST, smart cities, Internet of Things, Nette, PostgreSQL, API, Codeception, OpenAPI specification, endpoints, tests
Date of defence
14.06.2023
Result of the defence
Defended (thesis was successfully defended)
Grading
A
Process of defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.
Topics for thesis defence
Language of thesis
Czech
Faculty
Fakulta informačních technologií
Department
Department of Information Systems
Study programme
Information Technology (BIT)
Composition of Committee
doc. Dr. Ing. Dušan Kolář (předseda) doc. Ing. Peter Chudý, Ph.D., MBA (člen) RNDr. Marek Rychlý, Ph.D. (člen) Ing. Vojtěch Mrázek, Ph.D. (člen) doc. Ing. Ondřej Lengál, Ph.D. (člen)
Supervisor’s reportIng. Jiří Hynek, Ph.D.
Student ke své práci přistupoval svědomitě, dokázal pracovat samostatně a vytvořil použitelné řešení, díky kterému přispěl k zvýšení robustnosti API v systému firmy Logimic. Navrhuji hodnocení stupněm A.
Zadání vzniklo ve spolupráci s firmou Logimic. Cílem bylo implementovat testovací prostředí pro aplikační rozhraní mezi klientskou a serverovou částí platformy firmy Logimic. Mimo jiné bylo úkolem analyzovat současné koncové body rozhraní a navrhnout vhodnou sadu testů. Student prostudoval dostupná řešení (rámec Codeception) pro automatizované testování rozhraní na základě specifikace OpenAPI a tvorbu webového prostředí pro spouštění testů (PHP/Nette/PostreSQL). Zadání hodnotím jako průměrně obtížné. Bylo splněno ve všech jeho bodech.
Student prostudoval doporučenou literaturu a aktivně si vyhledával další zdroje týkající se zejména oblasti automatizovaného testování a použitých technologií.
Student komunikoval během celého akademického roku. Konzultace probíhaly online s vedoucím práce a Ing. Františkem Mikulů z firmy Logimic. Student řádně plnil zadané úkoly, nicméně v některých případech práce postupovala pomaleji.
Praktická část práce byla dokončena včas a mohla být demonstrována ve firmě Logimic. Poslední kapitoly technické zprávy byly dokončovány na poslední chvíli, nicméně byly konzultovány.
Výsledky budou využity v rámci vývojových nástrojů firmy Logimic.
Grade proposed by supervisor: A
Reviewer’s reportIng. Petr John
Pan Kovalski podrobně nastudoval problematiku od chytrých měst a chytrých zařízení přes různé typy aplikačních rozhraní až po jejich testování a implementoval řešení schopné testovat REST aplikační rozhraní popsané pomocí OpenAPI v3. Navrhuji hodnocení stupněm A.
Evaluation level: průměrně obtížné zadání
Cílem práce vytvořit nástroj pro testování aplikačního rozhraní konkrétní platformy. Pro tento účel musel student nastudovat řadu témat, jako je například internet věcí, chytrých měst nebo problematiku automatizovaného testování aplikačních rozhraní. Také bylo potřeba se zorientovat v existujícím systému firmy Logimic. Zadání odpovídá náročnosti pro bakalářskou práci.
Evaluation level: zadání splněno
Zadání bylo splněno ve všech ohledech.
Evaluation level: je v obvyklém rozmezí
Technická zpráva je v obvyklém rozmezí pro bakalářskou práci.
Prezentační úroveň technické zprávy je na dobré úrovni, student nejdříve představuje problematiku internetu věcí a chytrých měst, používanou architekturu a popisuje data, která se v IoT a chytrých městech vyskytují a časté problémy existujících řešení. Dále popisuje přístupy jak k obecnému testování, tak testování zaměřené na aplikační rozhraní a popisuje různé typy aplikačních rozhraní, popisuje specifikaci OpenAPI v3 a nástroje, které je možné použít k automatickému testování rozhraní typu REST. Nakonec popisuje návrh, vlastní implementaci, testování a doporučení na úpravu testovaného API. Všechny části jsou jasně strukturované a srozumitelné, návaznost kapitol je také v pořádku.
Typografická i jazyková stránka práce je velmi dobrá.
Seznam použité literatury je rozsáhlý, student cituje celkem 56 zdrojů, vhodně kombinuje online zdroje s knihami a tištěnými zdroji. Zdroje jsou relevantní a pokrývají řešenou problematiku.
Realizační výstup působí dobrým dojmem, celkově se jedná o jednu aplikaci, kterou je možné ovládat buď pomocí příkazové řádky, nebo pomocí webového rozhraní. Aplikace je zaměřena na testování API pomocí OpenAPI v3 specifikace. Řešení je technicky pěkné a využívá moderní technologie. Pro zjednodušení nasazení aplikace je řešení rozšířeno o podporu virtualizačního nástroje docker. Přínosnou možností je i využití nástroje z příkazové řádky. Webová aplikace obsahuje menší problémy - pole pro výběr souboru nezobrazují cestu ke zvolenému souboru, testové sady není možné přejmenovat.
Technická zpráva zmiňuje nasazení pro testování reálné aplikace, které ještě nebylo provedeno.
Grade proposed by reviewer: A
Responsibility: Mgr. et Mgr. Hana Odstrčilová