Bachelor's Thesis

Automated Testing Environment

Final Thesis 3.32 MB

Author of thesis: Bc. Aleksandr Verevkin

Acad. year: 2022/2023

Supervisor: doc. Mgr. Kamil Malinka, Ph.D.

Reviewer: Ing. Filip Januš

Abstract:

This work deals with the task of setting up and deploying an environment for software testing. The main objective is to simplify and automate this process. The chosen problem is intended to be solved with the help of existing tools for workflow automation. Specifically, with the Apache Airflow, a workflow management platform for data engineering pipelines. The contribution of this work is in the study of existing workflow automation tools and the creation of a framework for automatic deployment of infrastructure.

Keywords:

Automated software testing, testing environment, automation, automation tools, infrastructure, workflow, pipeline, framework, Apache Airflow, DAG.

Date of defence

16.06.2023

Result of the defence

Defended (thesis was successfully defended)

znamkaCznamka

Grading

C

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 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 C.

Language of thesis

English

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Dr. Ing. Dušan Kolář (předseda)
doc. Dr. Ing. Otto Fučík (člen)
Ing. František Grézl, Ph.D. (člen)
Ing. Ivana Burgetová, Ph.D. (člen)
Ing. Martin Hrubý, Ph.D. (člen)

Supervisor’s report
doc. Mgr. Kamil Malinka, Ph.D.

Jedná se dobře zvládnutou aplikační práci, kde student splnil všechny body zadání v dobré kvalitě. Realizační výstup je ve velmi dobré kvalitě, hodnocení sráží textová část práce. Pozitivně hodnotím zpracování práce v angličtině.

Evaluation criteria Verbal classification
Informace k zadání

Jedná se o firemní zadání, jehož cílem je vytvoření testovacího prostředí, které má umožnit jeho automatizované nasazení v cloudovém prostředí a zajistit jeho konfigurovatelnost dle potřeb testovaného produktu. Implementace měla využít Apache Airflow, nicméně součásti práce je i srovnání s obdobnými technologiemi. Jedná se o průměrně obtížné implementační zadání. Realizační výstup je na velmi dobré úrovni, která byla i pozitivně hodnocena zapojenou firmou. Textová část je nižší kvality.

Práce s literaturou

Reference jsou malého rozsahu. Student použil primárně dostupnou technickou dokumentaci. Práce obsahuje jen málo teoretické opory k problematice testování.

Aktivita během řešení, konzultace, komunikace

Student se mnou pravidelně komunikoval pouze během prvního půlroku. Pak již byla aktivita menší, nicméně nadále probíhali technické konzultace se specialistou z firmy.

Aktivita při dokončování

Implementační práce byly dostatečně konzultovány se specialistou a vše bylo rozumně dopracováno. Textová práce se dodělávala na poslední chvíli a nebyl moc velký prostor pro zapracování mých komentářů, takže je spíše ve formě technické dokumentace.

Publikační činnost, ocenění
Points proposed by supervisor: 75

Grade proposed by supervisor: C

Reviewer’s report
Ing. Filip Januš

Technická zpráva se dá kvalitativně rozdělit na dvě části. První část pojednávající o teorii a srovnání různých technologii je na relativně dobré úrovni. Což ovšem neplatí pro část popisující technické řešení, kde chybí vizualizace a text je místy nesnadno pochopitelný. Práce je psaná v anglickém jazyce což hodnotím pozitivně. Technické řešení práce je na dobré úrovni a je funkční. Ačkoliv je práce funkční a použitelná celkově ji hodnotím jakou dobrou C, vzhledem k nižší náročnosti zadání a kvalitě technické zprávy.

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: méně obtížné zadání

Student pracoval na tvorbě frameworku pro automatické nasazení testovací infrastruktury v cloudu. Téma práce považuji z teoretického pohledu jako průměrné a ze stránky technické(implementační) jako snadnější. Nejobtížnější část práce bylo studium množství nástrojů, prostředí skriptů a jejich integrace do jednoho frameworku.

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Všechny body zadání byly splněny v dostatečné míře.

 

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Technická zpráva splňuje rozsah.

Prezentační úroveň technické zprávy

Technická zpráva je rozdělena na dvě části. Teoretická část je psána povětšinou přehledně a srozumitelně až na drobné nedostatky. Druhá tj. praktická část práce pojednávající o samotné práci studenta je hůře čitelná a místy se čtenář špatně orientuje, což je mimo jiné zapříčiněno absencí vysvětlujících obrázků, či zjednodušených diagramů. Mimo nesnadno pochopitelného diagramu v příloze A. Kapitola 6 pojednávající o návrhu je značně strohá a téma návrhu je ne zcela vhodně integrováno do kapitoly implementace, což nepřidává práci na čitelnosti.

 

65
Formální úprava technické zprávy

Práce je psána v anglickém jazyce na dobré úrovni pouze s drobnými chybami. Za které považuji např. obrázky, které nejsou vůbec odkazovány v textu a bitmapové obrázky.

 

85
Práce s literaturou

Student aktivně pracoval s dostupnou literaturou a dokumentaci k nástrojům, které studoval, což byla důležitá část jeho práce. Velká část zdrojů se sestává z dokumentací a online zdrojů, což je dáno povahou daného tématu. Nicméně práce by si zasloužila aktivnější přístup k hledání relevantní literatury a to zejména v oblasti literatury relevantní k metodice testování.

 

65
Realizační výstup

Vzhledem k povaze práce nebylo nutné obsáhlé programové řešení problému. Student pouze využil volně dostupného softwaru pro správu pracovního procesu. V něm definoval proces a vhodně použil již existující skripty realizující nasazení a instalaci clusteru a testovaného produktu. Výsledný produkt se zdá být funkční a v praxi použitelný, nicméně v aktuálním stavu podporuje pouze lokální běh což může být limitující.

 

70
Využitelnost výsledků

Práce byla vypracována ve spolupráci s firmou RedHat, kde by se navržený a implementovaný framework měl využívat v rámci testování. Práce by měla značně zefektivnit testování a to tak, že již nebude nutné jednotlivé skripty spouštět manuálně, ale studentem definovaný proces by měl zajistit automatické řetězení nezbytných úloh.

 

Points proposed by reviewer: 70

Grade proposed by reviewer: C

Responsibility: Mgr. et Mgr. Hana Odstrčilová