Zadáno

Bakalářská práce č. 1 - 2018/2019

Zadání pro studijní obor: Informatika

Název: Mikroframework na bázi komponent Symfony pro publikování vědeckých projektů

Motivace:
Na KIV byla úspěšně obhájena diplomová práce "Aplikace s možností injekce chyb pro ověřování kvality testů". Jejím výsledkem je aplikace UIS (University information system), což je pseudorealistická netriviální aplikace. Na ní je navázané množství dalších artefaktů. Jsou to chybové moduly, sady testů, systém pro přípravu aplikací s injektovanými chybami apod.

Celý tento systém nazývaný TbUIS (Testbed UIS) je třeba zpřístupnit odborné veřejnosti formou webových stránek s následujícími omezujícími podmínkami:

Zadání:

  1. Seznamte se s projektem TbUIS. Dále se seznamte s existujícími možnostmi vytváření aplikací pro publikování vědeckých projektů a tyto základní možnosti porovnejte z pohledu potřeb projektu TbUIS.
  2. Analyzujte komponenty systému Symfony a způsoby řešení bezpečnostních aktualizací. Popište základní rozdíly ve verzích Php 5.6 a 7.1. a možnosti přenositelnosti kódu mezi nimi s důrazem na využití polyfilů.
  3. Navrhněte koncepci mikroframeworku na bázi komponent Symfony tak, aby umožňoval publikaci vědeckých projektů typu TbUIS.
  4. S využitím mikroframeworku vytvořte webovou aplikaci. Důraz klaďte též na robustnost kódu, jeho dokumentaci a pokrytí testy tam, kde to bude smysluplné.
  5. Naplňte obsah webové aplikace údaji o projektu TbUIS.

Cílový operační systém: není podstatný

Jazyk a technologie: Php, composer, Twig, HTML 5 + CSS3, responzivní design, Bootstrap

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

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

Bakalář: Jan Čarnogurský


Zadáno

Bakalářská práce č. 2 - 2018/2019

Zadání pro studijní obor: Informatika

Název: Generování automatizovaných funkcionálních testů

Motivace:
Na FEL ČVUT je vyvíjen nástroj Oxygen (dříve PCTgen) pro přípravu procesních testů. Výstupem programu jsou scénáře procesních testů, které jsou však na značně abstraktní úrovni. To znamená, že se jimi může orientačně řídit tester při manuálním testování aplikace. Bylo by výhodné generovat nikoli scénáře, ale přímo automatizované funkcionální testy.

Na KIV byla úspěšně obhájena bakalářská práce "Generování testovacích datasetů". Tato práce dokázala na triviální webové aplikaci, že koncept generování automatizovaných testů s využitím Oxygenu je reálný.

Dále byla na KIV úspěšně obhájena diplomová práce "Aplikace s možností injekce chyb pro ověřování kvality testů". Její výsledek UIS (University Information System) 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 stovkami funkcionálních testů. Tyto testy a jejich podpůrné knihovny jsou volně k dispozici a jsou šířeny v rámci projektu Testbed UIS. 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. Z tohoto důvodu mohou být do UIS programově injektovány softwarové chyby. Roszah a závažnost těchto chyb záleží jen na potřebách výzkumníků. Takto je možné připravit značné množství tzv. "poruchových klonů" UIS.

Cílem práce je prakticky ukázat synergický efekt z možnosti spojení Oxygenu a již existujících knihoven testů. Při běžně používaném vývoji jakékoliv webové aplikace totiž musí současně s jejím vznikem vznikat i sada funkcionálních testů a jejich podpůrné nástroje (tj. knihovna). Rovněž tak musí (měl by) být připraven diagram stavů a přechodů, který lze překreslit v Oxygenu. Dodáním dalších informací do popisu v Oxygenu lze dosáhnout stavu, kdy bude možné automaticky generovat libovolné množství funkcionálních testů programem, který bude řízen parametricky. To finálně představuje stav, kdy ze schématu činnosti aplikace připravené v Oxygen budou připraveny testovací sady jejichž automatizovaná činnost zajistí (téměř úplné) pokrytí postupným kompletním průchodem aplikací. Tím se značně zvýší protestovanost celé aplikace.

Zadání:

  1. Seznamte se s aplikacemi JUnit, Oxygen a TbUIS (Testbed University Information System), zejména se způsoby, jakými TbUIS vytváří aktivní funkcionální testy.
  2. Analyzujte výsledný XML soubor, ve kterém Oxygen ukládá schéma aplikace, a navrhněte jeho doplnění.
  3. Navrhněte modulární aplikaci, která bude s využitím dalších datových struktur generovat automatizované funkcionální testy v jazyce Java.
  4. Tuto aplikaci realizujte v programovacím jazyce Java. Důraz klaďte též na robustnost kódu a jeho dokumentaci.
  5. Výsledné automatizované testy verifikujte na UIS a dále pak na zvolené sadě poruchových klonů UIS. Výsledky přehledně zpracujte a zhodnoťte.

Cílový operační systém: není podstatný, zdrojové kódy budou napsány v Javě

Jazyk a technologie: Java, XML, JUnit, Selenium Web Driver

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

Vhodné pro: Student, který je schopen experimentální práce.

Bakalářka: Jitka Poubová

Poslední změna: 1. 10. 2018
Pavel Herout