Hlavním cílem této práce je vytvoření nástroje v Javě, který bude využívat náhodné generátory a umožní snadné generování realistických testovacích dat, jejichž příprava a údržba je obvykle časově náročná. Náhodné hodnoty budou generovány podle pravidel, které je možné přidat do definic tříd v podobě anotací. V rámci teoretické části práce byly popsány principy a možnosti generování náhodných dat a existující nástroje umožňující generování testovacích dat. Praktická část je věnována popisu návrhu a implementace knihovny Java Objects Populator, která je výsledkem této práce. Knihovna je schopna na základě anotací generovat náhodná data pro primitivní i komplexní atributy libovolného Java objektu a případně i vytvořit graf objektů, které jsou navzájem propojeny referencemi.
Anotace v angličtině
The main goal of this thesis is to create a tool in Java that uses random generators to prepare simple realistic test data. Such a tool would simplify the preparation and maintanance of testing data which is usually a timeconsuming activity. Random values will be created according to rules defined as annotations in Java class definition. The theoretical part of this thesis describes ways and principles how to generate random values and existing tools for generating test data. The practical part covers the design and implementation of the created library Java Objects Populator which represents the result of this thesis. The library is able to generate random data for both simple and complex attributes of any Java and in some cases also to create graph structures of objects which are connected via references.
Klíčová slova
testování, náhodná data, náhodné generátory, jop
Klíčová slova v angličtině
testing, random data, random generators, jop
Rozsah průvodní práce
90 s.
Jazyk
CZ
Anotace
Hlavním cílem této práce je vytvoření nástroje v Javě, který bude využívat náhodné generátory a umožní snadné generování realistických testovacích dat, jejichž příprava a údržba je obvykle časově náročná. Náhodné hodnoty budou generovány podle pravidel, které je možné přidat do definic tříd v podobě anotací. V rámci teoretické části práce byly popsány principy a možnosti generování náhodných dat a existující nástroje umožňující generování testovacích dat. Praktická část je věnována popisu návrhu a implementace knihovny Java Objects Populator, která je výsledkem této práce. Knihovna je schopna na základě anotací generovat náhodná data pro primitivní i komplexní atributy libovolného Java objektu a případně i vytvořit graf objektů, které jsou navzájem propojeny referencemi.
Anotace v angličtině
The main goal of this thesis is to create a tool in Java that uses random generators to prepare simple realistic test data. Such a tool would simplify the preparation and maintanance of testing data which is usually a timeconsuming activity. Random values will be created according to rules defined as annotations in Java class definition. The theoretical part of this thesis describes ways and principles how to generate random values and existing tools for generating test data. The practical part covers the design and implementation of the created library Java Objects Populator which represents the result of this thesis. The library is able to generate random data for both simple and complex attributes of any Java and in some cases also to create graph structures of objects which are connected via references.
Klíčová slova
testování, náhodná data, náhodné generátory, jop
Klíčová slova v angličtině
testing, random data, random generators, jop
Zásady pro vypracování
Seznamte se s metodami generování náhodných čísel a dat.
Seznamte se s existujícími nástroji a technikami pro generování testových dat.
Navrhněte nástroj pro generování obecných testových dat pro ověřování funkčnosti a dalších charakteristik software pracující na základě anotací.
Navržený nástroj implementujte.
Otestujte navržené řešení s ohledem na kvalitu testů založených na náhodných datech.
Zásady pro vypracování
Seznamte se s metodami generování náhodných čísel a dat.
Seznamte se s existujícími nástroji a technikami pro generování testových dat.
Navrhněte nástroj pro generování obecných testových dat pro ověřování funkčnosti a dalších charakteristik software pracující na základě anotací.
Navržený nástroj implementujte.
Otestujte navržené řešení s ohledem na kvalitu testů založených na náhodných datech.