Bachelor's Thesis

Optimization and testing of the frontend on the Smart City platform

Final Thesis 3.28 MB

Author of thesis: Bc. Ján Špaček

Acad. year: 2023/2024

Supervisor: Ing. Petr John

Reviewer: Ing. Jiří Hynek, Ph.D.

Abstract:

The primary objective of this thesis is to develop and implement an automated testing environment for user interface and performance testing on the ACADA platform in collaboration with Logimic company. Additionally, this thesis aims to identify and propose performance enhancements for the ACADA platform. To achieve these goals, the thesis thoroughly analyzes the current state of testing at Logimic, selects the most suitable testing framework, implements a comprehensive testing suite using Cypress, and establishes standards for test structure and workflow. The result of this thesis is a robust testing suite that allows early identification of issues in the development process. By leveraging the capabilities of Cypress, the testing suite ensures a faster and more efficient testing workflow and also contributes to improved user satisfaction by ensuring the platform is reliable and responsive.

Keywords:

Internet of Things, Smart City, automated testing, performance testing, testing framework, Cypress, Logimic, application interface

Date of defence

11.06.2024

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. Vyhodnoťte nároky na udržitelnost Vašeho řešení v rámci průběžného vývoje klientské aplikace ve firmě Logimic?
  2. Co poskyutje původní aplikace?
  3. Byla Vám poskytnuta analýza existujících nedostatků nebo jste ji provedl Vy?

Language of thesis

English

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. František Zbořil, Ph.D. (předseda)
Ing. Libor Polčák, Ph.D. (člen)
doc. Mgr. Lukáš Holík, Ph.D. (člen)
doc. Ing. Vítězslav Beran, Ph.D. (člen)
Ing. Radek Hranický, Ph.D. (člen)

Supervisor’s report
Ing. Petr John

Student pracoval samostatně a pečlivě a vypracoval komplexní řešení. Toto řešení účinně umožňuje automatické testování celé platformy, což napomáhá prevenci regresí funkcionality. Navíc automaticky vyhodnocuje výkonnost platformy, čímž pomáhá předcházet regresím výkonu. Vzhledem k praktické použitelnosti a vysoké kvalitě řešení navrhuji hodnocení stupněm A.

Evaluation criteria Verbal classification
Informace k zadání

Zadání vzniklo ve spolupráci se společností Logimic. Práce měla dva hlavní cíle. Prvním z nich bylo vytvořit metodiku automatizovaného testování pro frontend platformy Smart City a testování výkonnosti této platformy. To zahrnovalo definování výkonnostních metrik a výběr vhodných nástrojů pro vyhodnocování a udržování výkonnostních standardů. Druhým cílem bylo analyzovat danou platformu, identifikovat výkonnostní nedostatky a doporučit možná řešení. Student musel nejprve prozkoumat teorii týkající se jak konceptu chytrých měst, tak internetu věcí. Pro splnění obou cílů pak student provedl analýzu architektury platformy společnosti Logimic, což zahrnovalo různé možnosti nasazení, jako je běh na cloudové platformě AWS a nasazení pomocí technologií jako Docker a Nginx. Kromě toho student zhodnotil dostupné nástroje pro testování frontendů a posoudil jejich kompatibilitu a použitelnost s frameworkem Angular. Student také prozkoumal možnosti integrace nástrojů pro analýzu výkonu, jako je Google Lighthouse, do vybraných frameworků (konkrétně framework Cypress). Student poté vytvořil frontendové testy pro mobilní i desktopovou platformu v nejpoužívanějších pohledech aplikace Smart City a ve spolupráci se společností Logimic nastavil automatizované testovací prostředí pro vyhodnocování end-to-end testů a provádění výkonnostní analýzy. Nakonec student vyhodnotil dopad doporučených zlepšení výkonu platformy Smart City.

Práce s literaturou

Student prostudoval doporučenou literaturu a aktivně vyhledával další zdroje.

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

Student komunikoval během celého akademického roku. Konzultace probíhaly online přibližně každé dva týdny s vedoucím práce a se členy vývojového týmu společnosti Logimic. Student řádně plnil zadané úkoly a práce postupovala dobrým tempem.

Aktivita při dokončování

Práce byla dokončena s dostatečným předstihem, aby mohla být předložena společnosti Logimic a řádně konzultována.

Publikační činnost, ocenění

Points proposed by supervisor: 95
Display more

Grade proposed by supervisor: A

Reviewer’s report
Ing. Jiří Hynek, Ph.D.

Až na některé výše zmíněné nedostatky týkající se zejména technické zprávy bylo vytvořeno použitelné řešení. Oceňuji, že se student rozhodl psát práci v anglickém jazyce. Navrhuji hodnocení stupněm B.

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

Evaluation level: průměrně obtížné zadání

Cílem práce bylo navrhnout a implementovat řešení pro automatické testování klientské části platformy firmy Logimic určené pro sledování a správu chytrých zařízení. Student se musel seznámit s danou platformou (TypeScript, Angular), dále prostudovat technologie určené pro automatizované testování (Cypress) a možnosti průběžné integrace (Github Actions). Zadání hodnotím jako průměrně obtížné.

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

Práce je rozumně členěna na teoretickou a praktickou část. Vytkl bych, že analýza neobsahuje popis požadavků na výsledné řešení. Kapitola týkající se implementace nepopisuje dostatečně, jak byla IoT platforma rozšířena. Kapitola popisující testování zmiňuje pouze vybrané testy, nicméně chybí ucelený pohled.

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

Práce je psána v anglickém jazyce na přijatelné úrovni. Vytkl bych zejména místy nekvalitní pestrobarevné a mnohdy nečitelné ilustrace. Dále obsahuje některé typografické chyby (např. špatné pomlčky).

70
Realizační výstup

Výstupem je rozšíření klientské aplikace IoT platformy firmy Logimic. Součástí řešení je sada testů, která testuje základní pohledy aplikace. Architektura využívající průběžné testování byla testována na zařízení Raspberry Pi. Výsledky hodnotím kladně.

85
Využitelnost výsledků

Výstupy jsou potenciálně využitelné pro automatizované testování klientské aplikace IoT platformy firmy Logimic.

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

Evaluation level: zadání splněno

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Práce s literaturou

Student cituje nadprůměrné množství zdrojů. Sekce 4.3 nicméně mohla obsahovat větší množství referencí.

90
Topics for thesis defence:
  1. Vyhodnoťte nároky na udržitelnost Vašeho řešení v rámci průběžného vývoje klientské aplikace ve firmě Logimic.
Points proposed by reviewer: 85
Display more

Grade proposed by reviewer: B