Zadáno

Bakalářská práce č. 1 - 2021/2022

Zadání pro studijní obor: Informatika

Název: 2D vizualizace výsledků hierarchicky strukturovaných testů

Motivace:
Pro analýzu struktury pokrytí aplikace testy se v projektu TbUIS osvědčila dvourozměrná "rozbalovací" tabulka v HTML podporovaná možnostmi JavaScriptu. Příklad použití.
V tabulce jsou zaneseny kromě pokrytí také výsledky proběhlých testů. Je tak velmi snadno možné zobrazovat různé pohledy na testovaný systém.

Současné řešení má ovšem dva zásadní limity:

Protože se uvažuje o použití této vizualizace v předmětu KIV/OKS, kdy by uvedenou vizualizaci měli standardně používat běžní studenti, je třeba aplikaci generující HTML vizualizační soubory vytvořit znovu.

Hlavním cílem práce je vytvoření samostatné robustní aplikace v několika krocích:

  1. přepsat existující "proof of concept" program v Javě do robustní verze ve CLI formě, přičemž vstupní data zůstanou stejná, tj. JSON z SquashTM
  2. vytvoření GUI verze ze CLI verze
  3. v současné době je zobrazována závislost UC na RQM, která bude zachována, ale bude nutné umožnit zobrazit závislost UC na TC; toto zobrazení umožní přesnější zobrazení výsledků, protože současná agregace několika TC na jeden RQM výsledky zamlžuje
  4. zahrnout i zpracování obecnějších formátů vstupů než jen existujících JSON z SquashTM
  5. zobecnit na "libovolné" vstupy a rozbalovat i sloupce, takže by bylo možné vizualizovat jakoukoliv dvourozměrnou závislost, např. prodej různého zboží (rozbalovací řádky) na čase (rozbalovací sloupce rok-měsíc-den)

Zadání:

  1. Seznamte se se systémem SquashTM a jeho výstupními formáty. Dále se seznamte se způsoby zobrazování výsledků testů v projektu TbUIS a prozkoumejte i další možnosti vizualizací výsledků testů. Popište možnosti rozbalování a skrývání informací pomocí HTML a JavaScriptu.
  2. Navrhněte aplikaci, která umožní ve 2D vizualizovat jak závislosti požadavků získaných exportem ze SquashTM na případech užití, tak i výsledky proběhlých testů na případech užití. Při návrhu klaďte důraz na budoucí pravděpodobnou rozšiřitelnost aplikace i na možnost použití různých vstupních datových formátů.
  3. Navrženou aplikaci realizujte jako desktopovou aplikaci v programovacím jazyce Java. Aplikace bude spustitelná jak ve CLI, tak i v GUI režimu. Pro aplikaci vytvořte sadu automatizovaných testů s odpovídajícím pokrytím.
  4. S využitím zkušeností z předchozích bodů navrhněte a realizujte další aplikaci, která umožní 2D vizualizaci výsledků z datových zdrojů popisujících závislosti jiných (principiálně obecných) hierarchicky strukturovaných entit. Formáty těchto datových zdrojů navrhněte.
  5. Funkčnost vytvořené aplikace z bodu 3) ověřte na úplné datové sadě z předmětu KIV/OKS. Pro aplikaci z bodu 4) připravte nejméně dvě odlišné sady reprezentativních dat, pomocí nichž se prokáže její funkčnost.

Cílový operační systém: není podstatný, aplikace bude v Javě

Jazyk a technologie: HTML5, JavaScript, Java, JSON

Charakter práce: Vývojářská, praktická. Práci je možné zpracovávat na domácím PC.

Vhodné pro: Student(ka) ovládající výše zmíněné jazyky a technologie, kdy největší důraz je na JavaScript.

Bakalářka: Hana Hrkalová


Zadáno

Bakalářská práce č. 2 - 2021/2022

Zadání pro studijní obor: Informatika

Název: Softwarová podpora organizace předmětů TSP

Motivace:
Od ak. roku 2022/23 budou v magisterském studiu předměty Týmový softwarový projekt 1 a 2 (KIV/TSP1,2). Předmět KIV/TSP1 bude v LS 1. ročníku a předmět KIV/TSP2 pak v ZS 2. ročníku s obhajobou projektu v lednu.

Jedná se tedy o týmovou práci překračující hranice ročníku. Na práci se budou podílet týmy studentů dozorované různými Mentory. Zadání projektů bude od různých Zadavatelů. Projekt bude během zpracování procházet různými fázemi.

Z výše uvedených požadavků bude vhodné mít k dispozici softwarovou podporu pro řízení celého průběhu akce a to z pohledu různých rolí (viz dále). Tato aplikace bude dynamickým informačním zdrojem.

Statickým informačním zdrojem pak budou stránky předmětu na Courseware. Zde budou (staticky) zveřejněny všechny pokyny, pravidla termíny, přičemž se předpokládá jejich úprava 1x za semestr (typicky aktualizace datumů akcí). Informace uvedené na Courseware nebudou mít žádnou přímou spojitost s vytvářenou aplikací.

Protože je hlavním cílem práce vytvoření robustní webové aplikace, která bude velmi pravděpodobně v následujících letech rozšiřována, je nezbytné, aby byla také důkladně otestována. Z totoho důvodu je práce určena pro tým dvou studentů, kdy první bude zejména v roli vývojáře a druhý zejména v roli testera.

Počáteční návrh specifikace.

Zadání:

  1. Seznamte se s komerčně úspěšnými Php frameworky. Dále se seznamte s požadavky kladenými na organizaci předmětů KIV/TSP 1,2. Prostudujte též alespoň jeden nástroj pro řízení projektů.
  2. Navrhněte webovou aplikaci pro softwarovou podporu organizace předmětů TSP. V návrhu klaďte důraz na modularitu, responzivitu, testovatelnost a možnosti budoucích rozšíření.
  3. Podle návrhu vytvořte s pomocí zvoleného frameworku webovou aplikaci. Při realizaci zohledňujte průběžné návrhy na zvyšování její kvality.
  4. Vytvořenou aplikaci důkladně zdokumentujte a ověřte její funkcionalitu připravenými testy.

Cílový operační systém: webová aplikace

Jazyk a technologie: HTML5, Php, případně Php frameworky

Charakter práce: Vývojářská, praktická. Práci je možné zpracovávat na domácím PC.

Vhodné pro: Student, který výborně ovládá webové technologie.

Bakalář: Jan Hinterholzinger


Zadáno

Bakalářská práce č. 3 - 2021/2022

Zadání pro studijní obor: Informatika

Název: Komplexní testy webové aplikace

Motivace:
Od ak. roku 2022/23 budou v magisterském studiu předměty Týmový softwarový projekt 1 a 2 (KIV/TSP1,2). Předmět KIV/TSP1 bude v LS 1. ročníku a předmět KIV/TSP2 pak v ZS 2. ročníku s obhajobou projektu v lednu.

Jedná se tedy o týmovou práci překračující hranice ročníku. Na práci se budou podílet týmy studentů dozorované různými Mentory. Zadání projektů bude od různých Zadavatelů. Projekt bude během zpracování procházet různými fázemi.

Z výše uvedených požadavků bude vhodné mít k dispozici softwarovou podporu pro řízení celého průběhu akce a to z pohledu různých rolí (viz dále). Tato aplikace bude dynamickým informačním zdrojem.

Statickým informačním zdrojem pak budou stránky předmětu na Courseware. Zde budou (staticky) zveřejněny všechny pokyny, pravidla termíny, přičemž se předpokládá jejich úprava 1x za semestr (typicky aktualizace datumů akcí). Informace uvedené na Courseware nebudou mít žádnou přímou spojitost s vytvářenou aplikací.

Protože je hlavním cílem práce vytvoření robustní webové aplikace, která bude velmi pravděpodobně v následujících letech rozšiřována, je nezbytné, aby byla také důkladně otestována. Z totoho důvodu je práce určena pro tým dvou studentů, kdy první bude zejména v roli vývojáře a druhý zejména v roli testera.

Počáteční návrh specifikace.

Zadání:

  1. Seznamte se s možnostmi, které poskytují Php frameworky pro zvyšování kvality vytvářených aplikací, např. logování, jednotkové testy, integrační testy apod. Prověřte též možnosti CI pro jeden zvolený framework.
  2. Navrhněte testovací plán pro webovou aplikaci "Softwarová podpora organizace předmětů TSP" s využitím případů užití a seznamu požadavků. Vyberte vhodné nástroje pro automatizované testování.
  3. Na základě testovacího plánu realizujte všechny typy navržených testů, přičemž klaďte důraz na automatizaci testů a na optimální pokrytí zejména pomocí jednotkových, funkcionálních a end-to-end testů.
  4. Během vývoje testované aplikace průběžně ověřujte její kvalitu a o této činnosti veďte prokazatelné záznamy pomocí vhodného nástroje.

Cílový operační systém: webová aplikace

Jazyk a technologie: HTML5, Php, Selenium, Mololog, PHPUnit

Charakter práce: Testerská, praktická. Práci je možné zpracovávat na domácím PC.

Vhodné pro: Student, který se výborně orientuje v prostředí testování.

Bakalář: David Kůta


Bakalářská práce č. 4 - 2021/2022

Zadání pro studijní obor: Informatika

Název: Zátěžové testy aplikace UIS

Motivace:
Na KIV je řešen projekt TbUIS (Testbed UIS) jehož stěžejní částí je webová aplikace UIS (University Information System). Ta představuje pseudorealistickou webovou aplikaci střední složitosti. Funkčnost této aplikace byla důkladně ověřena při jejím vývoji řádově tisícem funkcionálních testů. Tyto testy a jejich podpůrná knihovna jsou volně k dispozici a jsou šířeny v rámci projektu TbUIS. Hlavním důvodem, proč byla aplikace UIS vyvíjena, je její předpokládané použití pro výzkum nových testovacích metod, které však mohou reprezentovat i jiné typy testů, než již provedené funkcionální testy.

Bakalářská práce bude představovat experimenty z UIS a bude navazovat na již obhájenou BP Zátěžové testy webové aplikace.

Uvedená práce se použije jako generátor sofistikované sady vstupních dat, která budou následně využívána pro testování řízené daty.

Hlavním cílem práce je v Robot Frameworku vytvoření sady testů řízených daty a rozsáhlé experimenty s těmito testy na celé existující škále poruchových klonů.

Zadání:

  1. Seznamte se...
  2. Navrhněte...
  3. Realizujte...
  4. Vytvořenou aplikaci ověřte...

Cílový operační systém: není podstatný, testy budou v Robot Frameworku

Jazyk a technologie: Robot Framework, Java případně Python

Charakter práce: Vývojářská, experimentální. Práci je v první fázi možné zpracovávat na domácím PC. Ve druhé fázi budou probíhat rozsáhlé sady experimentů na klastru školních počítačů.

Vhodné pro: Student(ka) se zálibou v testování a v experimentování.

Bakalář(ka):

Poslední změna: 29. 9. 2021
Pavel Herout