Bachelor's Thesis

Automated hardware tests using the pytest framework

Final Thesis 1.21 MB

Author of thesis: Bc. Lukáš Tesař

Acad. year: 2024/2025

Supervisor: Ing. Jiří Matoušek, Ph.D.

Reviewer: doc. Ing. Tomáš Martínek, Ph.D.

Abstract:

The CESNET Association develops a range of high-speed network cards based on FPGA technology for its commercial partners and also for its own needs. This thesis focuses on automated testing of such cards. The network cards themselves and the existing testing environment used by CESNET for their testing are described within the scope of the topic. Subsequently, two sets of automated tests are proposed, with the first one oriented on the MAC filter present in most of CESNET's cards and the other, which is focused on the functionality of the MVB packet filter in the NIC application. These sets are then implemented, verified for functionality, and integrated into the testing environment for network cards on CESNET servers. The implemented solution emphasizes automation and the separation of individual test cases.

Keywords:

network cards, testing, automated tests, hardware, Python, pytest, CESNET, NFB, NDK, NIC

Date of defence

18.06.2025

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

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

Topics for thesis defence

  1. V textu práce uvádíte, že testování akce "mark" se aplikuje pouze na DMA kanál číslo 0. Není to škoda? Jakým způsobem by jste například odhalil potenciální chyby v rámci mapování DMA kanálů?
  2. Bylo by možné pomocí platformy pytest realizovat kromě funkčních testů i ty výkonnostní? Co by bylo nutné změnit?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. František Zbořil, Ph.D. (předseda)
RNDr. Marek Rychlý, Ph.D. (člen)
doc. Ing. Zdeněk Vašíček, Ph.D. (člen)
doc. Ing. Vítězslav Beran, Ph.D. (člen)
Ing. Ivana Burgetová, Ph.D. (člen)

Supervisor’s report
Ing. Jiří Matoušek, Ph.D.

Ačkoliv by si technická zpráva zasloužila více pozornosti a ještě alespoň jednu detailní revizi finální verze, realizační výstupy jsou zpracovány velmi kvalitně a v dnešní době jsou již produkčně používány v rámci testovací infrastruktury sdružení CESNET. Jsem také spokojen s aktivitou studenta po celou dobu řešení. Bakalářskou práci jako celek tedy hodnotím známkou B.

Evaluation criteria Verbal classification
Information about assignment

Zadání bakalářské práce vzniklo ve spolupráci se sdružením CESNET, kde se již framework pytest pro automatizované testování hardwaru používá. Student tedy nemusel tvořit kompletní řešení, ale mohl se soustředit pouze na seznámení se s používaným prostředím pro automatizované testy a na detailní zpracování vybraných testů. Náročnější tak byl pouze požadavek na integraci implementovaných testů do existující testovací infrastruktury a jejich produkční nasazení, což student zvládl, a kompletně tak zadání splnil.

Work with literature

Student získával studijní materiály buď na základě vlastní aktivity nebo na základě doporučení odborného konzultanta. Následné využití získaných studijních materiálů však již bylo zcela v jeho režii.

Activity during solution, consultations, communication

Student na bakalářské práci pracoval průběžně jak v zimním, tak v letním semestru. Výstupy své práce pravidelně konzultoval jak se mnou (technická zpráva), tak s odborným konzultantem (realizační výstupy).

Activity during completion

Realizační výstupy bakalářské práce byly dokončeny a plně integrovány do testovací infrastruktury sdružení CESNET již před termínem odevzdání bakalářské práce. V případě technické zprávy nicméně došlo ke kompletní revizi pouze její téměř finální verze.

Publication activity, awards

Realizační výstupy bakalářské práce byly nasazeny v rámci testovací infrastruktury sdružení CESNET a společně s již dříve vytvořenými testy slouží k pravidelnému automatizovanému testování hardwarových aplikací pro zpracování vysokorychlostního síťového provozu v síti CESNET3.

Points proposed by supervisor: 83

Grade proposed by supervisor: B

Jedná se o zdařilou bakalářskou práci. Student zde prokázal rozsáhlé znalosti a zkušenosti v oblasti návrhu a implementace software. Vytvořené výstupy jsou na vysoké úrovni a používané v praxi. Výhrady mám pouze ke kvalitě a srozumitelnosti textu v praktické části technické zprávy a několika typografickým prohřeškům, včetně seznamu literatury. Avšak s ohledem na velmi kvalitní realizační výstup používaný v praxi navrhuji hodnocení stupněm dobře (C).

Evaluation criteria Verbal classification Points
The difficulty of the assignment

Evaluation level: moderately difficult assignment

Cílem práce bylo navrhnout a implementovat sadu testů v prostředí pytest pro testování akceleračních karet typu SmartNIC. Zadání považuji za průměrně obtížné.

Presentation level of the technical report

Teoretická část práce je velmi dobře strukturovaná a pro čtenáře i velice dobře srozumitelná. V rámci praktické části se však kvalita textu zhoršuje a měl jsem zde problém s pochopení některých částí textu.

60
Formal preparation of a technical report

Po typografické a jazykové stránce je text na dobré úrovni. Výhrady bych měl pouze k občasným výskytům odstavců o jedné větě typu: "Tato kapitola vychází z ..." a také k velmi krátkým kapitolám druhé úrovně, které v některých případech obsahují pouze jeden odstavec (např. kap. 4.5, 4.6 nebo 6.2).

70
Realisation output

Výstupem práce jsou kódy v jazyce python popisující sadu nových testů pro akcelerační karty vyvíjené sdružením CESNET. Tyto kódy jsou plně funkční a nasazeny v praxi v rámci pravidlených testů NDK platformy.

85
Usability of results

Jedná se o práci kompilačního charakteru, která je však na velmi dobré úrovni a jejíž výstupy se aktivně používají v praxi a již pomohly identifikovat několik chyb.

The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled

Zadání bylo splněno ve všech bodech.

Extent of the technical report

Evaluation level: is within the usual extent

Rozsah technické zprávy je v obvyklém rozmezí. Teoretická část je o něco rozsáhlejší oproti praktické části.

Work with literature

Převážná část literárních zdrojů se odkazuje na python, pytest a technikcké dokumentace sdružení CESNET, což je pro tento typ práce obvyklé a zpravidla i dostačující. Výhrady bych však měl k použití odkazů typu "Soukromá konverzace s ... na platformě Slack", které určitě nepatří do seznamu literatury.

65
Topics for thesis defence:
  1. V textu práce uvádíte, že testování akce "mark" se aplikuje pouze na DMA kanál číslo 0. Není to škoda? Jakým způsobem by jste například odhalil potenciální chyby v rámci mapování DMA kanálů?
  2. Bylo by možné pomocí platformy pytest realizovat kromě funkčních testů i ty výkonnostní? Co by bylo nutné změnit?
Points proposed by reviewer: 75

Grade proposed by reviewer: C

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