bakalářská práce

Testovací dvojník pro zařízení a soubory

Text práce 999.92 kB

Autor práce: Bc. Daniel Záležák

Ak. rok: 2024/2025

Vedoucí: Ing. Aleš Smrčka, Ph.D.

Oponent: Dr. Ing. Petr Peringer

Abstrakt:

Táto práca rieši problematiku testovania softvéru. V istých prípadoch nie je možné zhotoviť vhodné prostredie na otestovanie daného softvéru. Cieľom tejto práce je vytvoriť testovacieho dvojníka, ktorý dokáže nasimulovať vhodné prostredie. Hlavným zameraním tohto testovacieho dvojníka je práca so špeciálnymi a bežnými súbormi. Zvolený problém je riešený vytvorením vlastnej zdieľanej knižnice a mechanizmu LD_PRELOAD, ktorý umožňuje nahradiť volania knižnice GNU C na systémoch GNU/Linux. Testovací dvojník je navrhnutý na testovanie diagnostického  softvéru sos od Red Hat. Je sa však využiteľný aj na testovanie iných aplikácií.

Klíčová slova:

Testovací dvojník, LD_PRELOAD, zdieľaná knižnica, testovanie softvéru, špeciálne súbory

Termín obhajoby

18.06.2025

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaDznamka

Klasifikace

D

Průběh obhajoby

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

Otázky k obhajobě

  1. Lze vaší metodou testovat SUID programy?
  2. Jak byste řešil přemapování více souborů?
  3. Nebylo by lepší pro přemapování použít nějaký konfigurační soubor?

Jazyk práce

slovenština

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

doc. Ing. František Zbořil, CSc. (předseda)
Ing. Aleš Smrčka, Ph.D. (člen)
Ing. Jan Pluskal, Ph.D. (člen)
doc. Ing. Michal Španěl, Ph.D. (člen)
Ing. Josef Strnadel, Ph.D. (člen)

Posudek vedoucího
Ing. Aleš Smrčka, Ph.D.

Daniel Záležák splnil všechna očekávání, řešil a konzultoval průběžně a dosáhl použitelného výsledku.

Kritérium hodnocení Slovní hodnocení
Informace k zadání

Zadání bakalářské práce vzniklo na základě požadavků firmy Red Hat Czech za účelem zjednodušení testování diagnostického softwaru sos. Cíl se podařilo splnit, přičemž nástroj implementovaný v rámci bakalářské práce je použitelný nad rámec požadavků firmy Red Hat.

Práce s literaturou

Studentovi byla doporučena literatura a dokumentace k použité technologii. Další literární prameny si vybral sám.

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

Student konzultoval průběžně, dodržoval dohodnuté termíny a úkoly a řídil se dle daných rad. V průběhu řešení nebylo potřeba zasahovat.

Aktivita při dokončování

Programová část byla dokončena v dostatečném předstihu, technická zpráva by si však zasloužila více času. Měl jsem však možnost ovlivnit její finální podobu a student zapracoval mé hlavní připomínky.

Publikační činnost, ocenění
Výsledný počet bodů navržený vedoucím: 79

Známka navržená vedoucím: C

Posudek oponenta
Dr. Ing. Petr Peringer

Student vytvořil malou sdílenou knihovnu pro zachycení některých systémových volání v knihovně glibc a několik základních testovacích příkladů. Výsledek je funkční, ale obsahuje řadu programátorských chyb. Zpracování textu práce je také podprůměrné. Proto navrhuji celkové hodnocení stupněm D.

Kritérium hodnocení Slovní hodnocení Body
Náročnost zadání

Stupeň hodnocení: průměrně obtížné zadání

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

Struktura a rozsah textu jsou vyhovující. Seznamy obrázků a tabulek na str. 2 a 3 jsou zbytečné. V obr 2.6 na str. 14 chybí vrstva knihoven. Vysvětlení některých pojmů je nepřesné (např. str. 15 nahoře: má být SW přerušení) nebo zcela chybné (str. 18 - pevné odkazy nevytváří kopii původního souboru).  Na obr 3.3 (a dalších) je chybně přehozen popis u vstupních a výstupních hran bloku PLT. Zvolená "testovací" metoda pro analýzu v kapitole 4.1. není nejlepší -- statická analýza zdrojových textů nebo analýza obsahu PLT tabulek by byla úplnější. Použití 2 proměnných prostředí nepovažuji za vhodné.

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

Typografie je na dobré úrovni s několika výhradami: autor systematicky používá zcela nevhodné tučné zvýrazňování textu, některé obrázky jsou příliš velké (viz str. 11 a 14). V textu jsou také nevhodné jednořádkové odstavce (např. str 14 dole). Tabulka 4.1 na str. 30 nedává smysl. Jazykovou stránku slovenského textu nehodnotím.

75
Realizační výstup

Zdrojové kódy mají přes 700 řádků, což není mnoho. Kód knihovny je dobře komentovaný ale nemá odpovídající kvalitu -- autor používá strdup() ale neuvolňuje takto dynamicky alokovanou paměť (chyba typu memory leak při každém volání funkce). Navíc je stejný kód pro zpracování proměnných prostředí zcela zbytečně duplikován v každé funkci.

55
Využitelnost výsledků

Výsledek této práce by se po opravě chyb a doplnění dalších potřebných funkcí mohl uplatnit v praxi.

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

Stupeň hodnocení: zadání splněno

Rozsah technické zprávy

Stupeň hodnocení: je v obvyklém rozmezí

Text práce má cca 40 vysazených stran, což je vyhovující.

Práce s literaturou

V textu jsou zcela nesmyslně umístěné citace (za odstavcem), navíc autor cituje stejnou literaturu zbytečně často (viz např. str 7). V seznamu literatury je několik zbytečných položek: [27] a [28] je stejná kniha, minimálně 4 položky ohledně typů souborů v UNIXu je možné zredukovat na jednu, atd.

65
Otázky k obhajobě:
  1. Lze vaší metodou testovat SUID programy?
  2. Jak byste řešil přemapování více souborů?
Výsledný počet bodů navržený oponentem: 65

Známka navržená oponentem: D

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová