Zadáno

Diplomová práce č. 1 - 2017/2018

Zadání pro studijní obor: Softwarové inženýrství

Název: Aplikace s možností injekce chyb pro ověřování kvality testů

Motivace:
Pro nejrůznější výzkumy v testování je zapotřebí mít relativně složitou aplikaci, ve které budou zaneseny předem známé chyby. Tak bude možné ověřit, zda jsou různé vyvíjené testovací metody na tento typ chyb účinné, či nikoliv. Ověřování nebude součástí práce. Jednoduchý vzor jsou úlohy z KIV/OKS (http://oks.kiv.zcu.cz).
Aplikace bude existovat ve webové i desktopové verzi. Musí mít alespoň pět různých stavů (obrazovek) s možnostmi vzájemných přechodů, tj. ne jen sekvenčně. Datový zdroj budou soubory (XML, JSON, CSV, …) do kterých bude existovat i možnost exportu výsledků. Aplikace bude využívat databázi. Složitost či smysluplnost samotné aplikace není podstatná. Optimální je aplikace řešící triviální úlohy z běžného života, kde funkční chyby (viz dále) musí být zcela zjevné.
Aplikace bude vzorově napsána, tj. budou dodrženy všechny zásady SW inženýrství -- strukturování kódu, čistota kódu, úplná dokumentace, pokrytí jednotkovými testy, UML diagramy, ERA model apod. Toto je důležité jak pro další rozvoj, tak i pro pokusy o jiné testovací metody, či automatické generování testů.
Protože se očekává využití v mezinárodní komunitě, musí být zdrojové kódy kompletně v angličtině.
Do aplikace bude volitelně zaneseno několik předem známých minoritních chyb různých úrovní závažnosti. Ty by měly být při používání aplikace odhalovány při funkčním testování. Ideální stav by byl, pokud by tyto chyby mohly být zaneseny dle volby uživatele, např. sestavením různých předpřipravených částí kódů (s chybami i bez nich). Jednou (výchozí) variantou bude “bezchybná” aplikace, tj. aplikace, ve které nebudou zaneseny žádné umělé chyby.
Práci bude předcházet rešerše o tom, zda podobná aplikace již existuje.

Zadání:

  1. Seznamte se s aplikacemi, které jsou využívány pro ověřování správnosti testovacích metod nebo jako zdroj pro automatické generování testů. Dále se seznamte s typickými funkčními chybami v softwarových aplikacích. Pozornost věnujte i možnostem stavby aplikace z dílčích entit.
  2. Navrhněte přiměřeně složitou aplikaci využívající SŘBD, která bude existovat v desktopové i webové verzi. Datové vstupy i výstupy budou soubory v různých formátech.
  3. Navrženou aplikaci implementujte a důsledně dbejte na dodržení všech zásad softwarového inženýrství.
  4. Připravte entity aplikace, v nichž budou úmysleně zaneseny některé z typických funkčních chyb. A dále implementujte způsob, jak staticky nahradit původní (bezchybné) entity aplikace odpovídajícími chybovými entitami.
  5. Připravte scénáře a sadu funkčních testů, které budou jednoznačně identifikovat zanesené chyby z chybových entit aplikace.

Cílový operační systém: není podstatný, aplikace bude v desktopové podobě v Javě a ve webové podobě v JSP

Jazyk a technologie: XML, JSON, SQL, Java, JSP a další

Charakter práce: Analytická a programátorská a testovací. Řešit lze na vlastním PC.

Vhodné pro: Studenta, který je schopen dotáhnout práci do fungující podoby.

Diplomant: Jiří Matyáš


Poslední změna: 15.6. 2017
Pavel Herout