Detail práce
Automatické testování projektu JavaScript Restrictor
Cílem této práce bylo navrhnout, implementovat a vyhodnotit výsledky automatických testů pro projekt JavaScript Restrictor, který je vyvíjen jako rozšíření do webových prohlížečů. Testy jsou rozděleny do tří úrovní - jednotkové, integrační a systémové. Jednotkové testy ověřují chování jednotlivých funkcí, integrační testy ověřují správné obalování koncových bodů rozhraní prohlížeče a systémové testy kontrolují, zda rozšíření nepotlačuje chtěnou funkcionalitu webových stránek. Systémové testy jsou implementovány pro paralelní spouštění na distribuovaném prostředí, čímž se podařilo dosáhnout téměř přímo úměrného snížení časové náročnosti vzhledem k počtu testovacích uzlů. Přínosem této práce je odhalení dosud neznámých chyb v rozšíření JavaScript Restrictor a poskytnutí potřebných informací, díky nimž bylo možné část zjištěných chyb již opravit.
testování, paralelní, distribuované, automatické, JavaScript, Restrictor, Selenium, automatizace, integrační testy, podvrhnutí, webový prohlížeč, Google Chrome, Mozilla Firefox, WebDriver, Grid, Selenese, systémové testy, funkční testování, uživatelského rozhraní, Jasmine, jednotkové testy, nejnavštěvovanější webové stránky, žebříček, Alexa, Cisco Umbrella, Majestic, Quantcast, TRANCO, NetMonitor, záznamy v konzoli, Levenshteinova vzdálenost, Kosinová podobnost, snímky obrazovky, porovnání
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.
- Jak velké úpravy by byly třeba, aby bylo možné spouštět Vámi vytvořené testy v rámci CI/CD? Bylo by možné proaktivně upozornit vývojáře, že jedna z TOP X stránek není funkční s aktuální verzí JavaScript Restrictor?
- Jak se vypořádáte při testování dynamického webu s rozdíly, které vznikají onou dynamičností i bez použití JSR? Můžete takové weby detekovat a odstranit z testovací množiny?
- Jaká verze prohlížeče Firefox byla použita?
Bartík Vladimír, Ing., Ph.D. (UIFS FIT VUT), člen
Hruška Tomáš, prof. Ing., CSc. (UIFS FIT VUT), člen
Janoušek Vladimír, doc. Ing., Ph.D. (UITS FIT VUT), člen
Matoušek Petr, doc. Ing., Ph.D., M.A. (UIFS FIT VUT), člen
Rychlý Marek, RNDr., Ph.D. (UIFS FIT VUT), člen
@mastersthesis{FITMT22376, author = "Martin Bedn\'{a}\v{r}", type = "Diplomov\'{a} pr\'{a}ce", title = "Automatick\'{e} testov\'{a}n\'{i} projektu JavaScript Restrictor", school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}", year = 2020, location = "Brno, CZ", language = "czech", url = "https://www.fit.vut.cz/study/thesis/22376/" }