Tato práce si klade za cíl vytvořit prostředí pro komplexní podporu automatizace testování síťových aplikací. Testování síťových aplikací přináší svá specifika, která se nevyskytují v procesu testování jiného softwaru. Příkladem těchto specifik je zejména nutnost práce se síťovou architekturou, obsahující různá vzájemně komunikující zařízení. V tomto textu jsou nejprve nastíněny příklady aplikací pro testování ve vytvořeném prostředí a následně se věnuje popisu prostředí samotného. Popsány jsou technologie využité pro realizaci prostředí, jeho návrh, detaily implementace a také příležitosti k dalšímu rozšíření. Prostředí pro automatizované testování síťových aplikací řeší problematiku zejména řízení automatizace na platformě GitLab CI/CD, distribuci informací o běhovém prostředí samotným testům a reálné propojení fyzických zařízení na testovací síti. Vzhledem k dynamice problematiky vycházející z vývoje nových síťových aplikací a zavádění nového hardwaru do síťových architektur, je realizace prostředí zaměřena na jeho rozšířitelnost.
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.
Otázky k obhajobě
Jaké parametry by aplikace měla splňovat, aby byla testovatelná vaším řešením?
Informační technologie a umělá inteligence (MITAI)
Specializace
Softwarové inženýrství (NSEN)
Složení komise
doc. Ing. Ondřej Ryšavý, Ph.D. (předseda)
doc. RNDr. Jitka Kreslíková, CSc. (člen)
doc. Ing. Vladimír Janoušek, Ph.D. (člen)
Ing. Vladimír Bartík, Ph.D. (člen)
Ing. Šárka Květoňová, Ph.D. (člen)
Ing. Radek Hranický, Ph.D. (člen)
Této složitější diplomové práce se student zhostil s aktivním přístupem, což se odrazilo na kvalitě jak textové části, tak návrhu a implementace. Studentovi se podařilo navrhnout a implementovat rozšiřitelné testovací prostředí, které je plánováno plně integrovat ve sdružení CESNET. Díky této práci bude možné testovat hardwarově závislé bezpečnostní aplikace paralelně a průběžně bez větších omezení. Student prokázal vysokou úroveň odborných znalostí a schopností v oblasti síťové bezpečnosti a automatizace. Student pokračuje v dalším rozvoji testovacího prostředí a přispívá k jeho dalšímu zlepšování. Navrhuji souhrnné hodnocení stupněm A (výborně).
Kritérium hodnocení
Slovní hodnocení
Informace k zadání
Cílem práce bylo navrhnout a implementovat rozšiřitelné testovací prostředí pro aplikace zajišťující síťovou bezpečnost. Zadání hodnotím jako náročnější vzhledem k potřebě seznámení se s několika pokročilými nástroji, jako jsou nástroje pro automatizaci testovacího prostředí (Ansible, Pytest a Gitlab CI), generátory síťového provozu (Spirent TestCenter a Cisco TRex) a aplikace pro síťovou bezpečnost. Pro úspěšné splnění cílů práce bylo nutné nejen pochopit vlastnosti těchto nástrojů a aplikací, ale také navrhnout a rozšířit automatizaci testování s podporou dynamické konfigurace síťových prvků a průběžného plánování testovacích úkolů.
Aktivita při dokončování
Práce byla dokončena načas. Obsah a výsledky práce byly konzultovány nejen před odevzdáním ale i počas vypracování práce.
Publikační činnost, ocenění
Publikační činnost není známa a ani se neočekává.
Práce s literaturou
Student samostatně vyhledal všechny potřebné studijní materiály.
Aktivita během řešení, konzultace, komunikace
Student byl během řešení diplomové práce aktivní. Pracoval samostatně a pravidelně konzultoval výsledky práce se svým vedoucím/konzultantem. Na konzultace byl vždy připraven.
Celkově je práce na dobré úrovni a splňuje veškeré stanovené požadavky. Student Rozprým Dalimil prokázal schopnost zpracovat téma a prezentovat své závěry. Práce je adekvátní pro splnění zadání a dosahuje dobrých praktických výsledků. Na základě celkového hodnocení uděluji práci známku “A”
Kritérium hodnocení
Slovní hodnocení
Body
Rozsah splnění požadavků zadání
Stupeň hodnocení: zadání splněno
Student splnil požadavky zadání. Hlavní cíle byly dosaženy a všechny dílčí úkoly byly podrobně zpracovány. Student projevil schopnost se orientovat v problematice a aplikovat teoretické znalosti.
Rozsah technické zprávy
Stupeň hodnocení: je v obvyklém rozmezí
Celkový rozsah zprávy je přiměřený. Práce čítá bez příloh a literatury 68 stran vysázených v husté LaTeXové šabloně. Dle app.fit.vut.cz/normostrany práce vychází na 89 normostran. Je tedy v obvyklém rozmezí.
Prezentační úroveň technické zprávy
Prezentace technické zprávy je na dobré úrovni. Text je jasný, strukturovaný a srozumitelný. Student použil širokou škálu vizuálních prvků, jako jsou diagramy, grafy a ukázky kódu, které zásadně přispívají k lepšímu pochopení práce. Z celkového pohledu na sebe kapitoly přirozeně navazují a text se dobře čte.
90
Formální úprava technické zprávy
Formální úprava technické zprávy je na vysoké úrovni. Text je bez výrazných gramatických či stylistických chyb a vykazuje vysokou úroveň úpravy. Na konci řádku se ale často vyskytuje jednoslabičná přeložka a u citací by se hodilo použít menší mezeru. Dále je například na straně 64 je tok textu nešikovně přerušen novu stranou. Použité formátování je standardní a zajišťuje přehlednost a čitelnost textu.
80
Práce s literaturou
Student čerpá z celkem 25 literárních pramenů. Převážnou většinu tvoří vědecké publikace. Výběr je relevantní k řešenému tématu. Citace byly přesné a uvedené v souladu s požadovaným citačním stylem. Celkový počet literárních pramenů je průměrný. Práce s literaturou je celkově uspokojivá.
85
Realizační výstup
Realizační výstup splňuje všechny požadavky a demonstruje studentovu schopnost aplikovat teoretické poznatky do praxe. Výstupem je komplexní podpora automatizace testování síťových aplikací. Charakter práce vyžadoval efektivní zajištění komunikace mezi několika zařízeními. Pro automatizaci byla využita platforma GitLab CI/CD, která byla rozšířena o další komponenty. Realizace je provedena s podporou rozšířitelnosti a modularity. Součástí jsou i ukázkové testy.
90
Využitelnost výsledků
Výsledky práce jsou přínosné a jsou dobře prakticky využitelné. Praktická využitelnost vychází ze spolupráce se sdružením CESNET. Student umožnil automatizované testování síťových aplikací, které často vykazují specifické potřeby pro testování. Řešení je připraveno pro použití a bylo vyzkoušeno na infrastruktuře CESNET.
Náročnost zadání
Stupeň hodnocení: průměrně obtížné zadání
Zadané téma hodnotím jako průměrně obtížné. Požadovaný rozsah práce byl odpovídající zvolenému tématu a obsahoval potřebné prvky pro splnění zadání. Úkoly byly jasně stanovené, ale jejich realizace vyžadovala samostatnou práci a analytické myšlení.