Bachelor's Thesis

Automated Testing of Smart Card Authentication in GUI

Final Thesis 2.94 MB

Author of thesis: Bc. Ondřej Mach

Acad. year: 2022/2023

Supervisor: Dr. Ing. Petr Peringer

Reviewer: Ing. Aleš Smrčka, Ph.D.

Abstract:

The aim of this thesis is to automate testing of the most common use cases of smart card authentication in Red Hat Enterprise Linux (RHEL). These include logging in with GDM, using lock-on-removal feature in GNOME shell and unlocking the system. Because these use cases include interaction with the desktop manager, conventional testing tools cannot be used. A new module was added to an existing Python library to capture the screen and control the system under test. The implementation does not depend on a specific display server. A set of common test cases, which had been previously tested manually, was implemented. The solution will be used in Red Hat to test new releases of RHEL.

Keywords:

Automated GUI testing, Linux, smart cards, authentication, GDM, OCR, Python

Date of defence

13.06.2023

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

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, např. ohledně testovacího případu pro přihlášení pomocí hesla a způsobu jeho uložení. 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 výborně / A.

Topics for thesis defence

  1. Stručně popište integrační testování. Popis v podkapitole 2.1.3 sedí spíše na systémové testování.

Language of thesis

English

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. Vladimír Janoušek, Ph.D. (předseda)
doc. Ing. Lukáš Burget, Ph.D. (člen)
prof. Ing. Jan M. Honzík, CSc. (člen)
doc. Ing. Vojtěch Mrázek, Ph.D. (člen)
Ing. Radek Kočí, Ph.D. (člen)

Supervisor’s report
Dr. Ing. Petr Peringer

Přístup studenta k práci hodnotím jako nadstandardní. Student byl aktivní, pracoval samostatně a vždy dodržoval dohodnuté termíny konzultací. Externí zadavatel práce je také spokojen s dosaženými výsledky a již je prakticky používá. Proto navrhuji celkové hodnocení stupněm výborně/A.

Evaluation criteria Verbal classification
Informace k zadání

Tato práce je zaměřena na automatizaci (dříve manuálně prováděných) testů přihlašování do Linuxu s využitím čipových karet. Jde o externí zadání z firmy Red Hat. Práce je podle mého názoru průměrně obtížná a splnila všechny požadavky zadání.

Práce s literaturou

Student si relevantní literaturu vyhledal převážně samostatně.

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

Aktivita studenta byla po celou dobu řešení nadprůměrná, průběžně informoval o postupu prací a všechny konzultace proběhly bez problémů. Externí konzultant Marek Havrila z firmy Red Hat se k aktivitě studenta vyjádřil takto: "Pan Ondřej Mach pracoval na zadaném úkolu proaktivně a svědomitě, díky čemuž byl schopen nejen analyzovat možné přístupy k řešení daného úkolu a vybrat z nich ten nejvhodnější, ale také dané řešení implementovat. Moduly a testy, které pan Mach implementoval jsou nyní plnohodnotnou součástí produkčního testování."

Aktivita při dokončování

Student dokončil práci s velkým předstihem a text byl řádně konzultován.  Jeho přístup k práci a dodržování termínů hodnotím velmi pozitivně.

Publikační činnost, ocenění

-

Points proposed by supervisor: 90

Grade proposed by supervisor: A

Reviewer’s report
Ing. Aleš Smrčka, Ph.D.

Technická zpráva je na výborné úrovni. Programové řešení je funkční, zdokumentované a podpořené automatickými testy. Řešení je navíc využitelné v praxi.

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

Evaluation level: obtížnější zadání

Zadání bakalářské práce integruje několik technologií. Student musel vyřešit několik technických překážek. Obtížnost práce je na úrovni diplomové práce.

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

Evaluation level: zadání splněno

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Technická zpráva má rozsah téměř 80 normostran.

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

Technická zpráva má logickou strukturu, je lehce čtivá a čtenáře seznamuje se použitými technologiemi, zdůvodňuje způsob jejich využití a zabývá se také vyhodnocením výsledku.

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

Až na drobné typografické nedostatky je technická zpráva na výborné úrovni.

90
Práce s literaturou

Citovaná literatura zahrnuje převážně odkazy na dokumentace použíté technologie, ale také odbornou literaturu (případové studie nebo kniha), specifikace a normy. Všechny zdroje jsou pro práci relevantní.

90
Realizační výstup

Programové řešení je realizováno jako knihovna jazyku Python umožňující automatické testy autentizace pomocí čipových karet. Zdrojové kódy jsou řádně dokumentované (pomocí dokumentačního nástroje sphinx), čitelné a otestované. Řešení bylo demonstrováno a je funkční.

90
Využitelnost výsledků

Výsledné řešení má jasné využití při testování autentizačních mechanismů v systémech vyvíjených ve firmě Red Hat.

Topics for thesis defence:
  1. Stručně popište integrační testování. Popis v podkapitole 2.1.3 sedí spíše na systémové testování.
Points proposed by reviewer: 90

Grade proposed by reviewer: A

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