- O 50% rychlejší příprava testovacích dat v porovnání s konvenčními metodami přípravy testovacích dat.
- 100% pokrytí testované logiky systému.
- Zvýšená transparentnost procesu testování.
- Zajištění komplexních testů (logiky systému, zátěžové testy, testy gui).
- Zvýšená bezpečnost produkčních dat.
Koncept
Efektivity výroby testovacích dat je dosaženo aplikací koncepce „focusing the point“, což v praxi znamená:
- Snadný přístup ke všem požadovaným informacím.
- Odstínění od neproduktivní činnosti.
- Koncentrace na vlastní řešení problému.
Práce s nástrojem je velmi efektivní. V každém okamžiku má tester detailní informace o datových typech, klíčích, omezeních (constraints) a vzájemných vazbách (relations) všech vstupních a výstupních tabulek/souborů. dalším faktorem, který významně urychluje generování dat, je automatické generování klíčů, omezení, filtrů a rekordů do referenčních tabulek. Stejně tak se automaticky generují hodnoty polí, které nejsou součástí „business logiky“. QAceGen tedy nabízí značnou komparativní výhodu zejména oproti situacím, kdy se testovací data vytvářejí „manuálně“. Vazby mezi daty v mnoha případech bývají natolik komplexní, že manuální výroba testovacích dat představuje velmi zdlouhavý a náročný proces, který navíc trpí značnou chybovostí. Oproti tomu systém QAceGen umožňuje testerům soustředit se pouze na „business logiku“ a takřka veškerou „neproduktivní práci“ obstará sám.
Poznámka:„business logika“ definuje pravidla, na základě kterých pracuje daná aplikace. Jedná se tedy o zadání, které se používá jak pro vývoj, tak i pro testování aplikace. QAceGen pracuje jako „business logic driven data generator“. To znamená, že generování dat je řízeno logikou testované aplikace. „Business logic“ aplikace se rozdělí do elementárních testovacích jednotek – scénářů. scénáře jsou pak popsány v nativním jazyce dgl (data generation language). QAceGen na základě takto definovaných scénářů generuje testovací data, popřípadě testy. Pro každý scénář se tedy vygeneruje sada rekordů v souladu s danou logikou. Výsledkem takového přístupu je, že se vygenerují data, která pokrývají každou logickou větev dané business logiky. QAceGen lze označit jako „samo-dokumentovatelný“. Rozdělením „business logiky“ do testovacích scénářů vzniká logická struktura testovacího projektu, která se dokumentuje pomocí komentářů jak na úrovni celého projektu, tak na úrovni jednotlivých testovacích scénářů. Komentáře lze pak v dané logické struktuře kdykoli exportovat do textového formátu a tento dokument může pak být následně distribuován všem kompetentním účastníkům projektu k posouzení. Zmíněný mechanismus tak minimalizuje možnost „nekonzistence“ mezi skutečným stavem a dokumentací. Generování testovacích dat probíhá ve dvou úrovních:
- Data pro logický test.
- Data pro zátěžový test.
Pro logický test systém generuje data, která testují „business logiku“. V tomto případě systém generuje pouze určité minimální množství záznamů (cca tisíce), které je nezbytně nutné pro otestování všech logických větví testované aplikace. Poté, co je aplikace otestována z hlediska logiky, systém může generovat data pro zátěžový test, tzn. určí se počet záznamů, který bude testovaná aplikace za normálních podmínek zpracovávat (stovky tisíc, miliony). Zátěžový test ověřuje reálný chod testované aplikace, eventuálně simuluje extrémní zátěž, která může nastat.
Poznámka: QAcegen vždy generuje komplexní data, která zahrnují celou „business logiku“. Pokud dojde ke změně dané logiky, pak následný test testuje celou logiku, a nikoli pouze změny. Komplexní test tak může odhalit případné kolaterální efekty, které by se v případě inkrementálního testování (tj. Testují se pouze změny) nemusely projevit.
QAcegen umožňuje jednoduchý transport generovaných dat do všech zdrojových souborů a tabulek. Metadata každé tabulky/souboru jsou svázána s konkrétním zdrojovým profilem, který definuje umístění a přístup k danému zdroji (databáze/adresář). Stisknutím tlačítka „transport dat“ jsou data automaticky nasměrována do příslušných zdrojů. Pokud testovací scénář zahrnuje i verifikaci výsledků, QAceGen vytváří podrobný protokol o každém testování. Výsledky jsou vizuálně zobrazeny v grafickém prostředí a poskytují tak okamžitý přehled o výsledcích. Výsledky lze rovněž exportovat do textového formátu v dané logické struktuře projektu, spolu s celkovým vyhodnocením správných/chybových scénářů. Nezanedbatelný je i bezpečností faktor. Při přípravě testovacích dat v prostředí qacegen aplikace nevyužívá produkční data. Zmenšuje se tedy okruh lidí, kteří přichází do styku s citlivými produkčními daty.
Oblasti využití
QAceGen je možno použít pro následující oblasti testování:
- Generování dat (vývoj, školení,…).
- Testování ITO aplikací.
- „Data quality management“.
- Automatické testování gui aplikací a testování terminálových aplikací.
- Testování v prostředí heterogenních systémů.
Poznámka: ITO = input /transformation /output
ITO aplikace je taková aplikace, která bere data ze vstupních tabulek/souborů, transformuje tato data pomoci dané „business logiky“ a výsledky ukládá do výstupních tabulek/souborů. Generování dat probíhá na základě specifikace zadání, která definuje chování aplikace (business logic). Tato business logika je rozčleněna do scénářů (elementárních logických větví). Logika scénáře je popsána v jazyce dglL a QAceGen pak pro každý scénář vygeneruje sadu záznamů, které zaručují průchod touto logickou větví a její otestování. Testování ito aplikací zahrnuje navíc verifikaci výsledků, které vzniknou spuštěním testované aplikace nad generovanými daty. Do scénářů jsou kromě dgl příkazů pro generování dat přidány navíc příslušné verifikační příkazy, které zajistí ověření výsledků. Data quality management (dqm) je řešení, které qacegen nabízí pro kontrolu kvality dat. Kontrola zahrnuje sledování:
- Duplicit.
- Kardinalit.
- SCD2 (slowly changing dimensions type2 – historizace, incidence, apod).
Pomocí jednoduchých příkazů v jazyce dgl, můžeme nastavit požadovanou kontrolu pomocí pouze několika parametrů pro libovolnou tabulku nebo join. Příkazy pak generují sadu kontrolních sql příkazů, které QAceGen automaticky vyhodnocuje a výsledek zaznamená do standardního reportu, který obsahuje všechny použité příkazy včetně výsledků. Dqm testy mohou běžet buď nad celou tabulkou, nebo můžeme nastavit v procentech požadovaný vzorek dat. Testy lze spouštět i automaticky formou „batch“ souborů a jejich běh můžeme naplánovat na požadovanou dobu. Reporty lze pak posílat na určité e-mailové adresy k vyhodnocení. Díky tomuto mechanismu lze snadno a rychlé vytvořit kontroly nad desítkami až stovkami tabulek v různých databázích. V případě potřeby qacegen umožňuje snadnou a rychlou implementaci dalších dqm příkazů.
Výhody použití
- Nízké projektové náklady.
- Časová úspora.
- Dokumentované testování.
- Zvýšená bezpečnost dat.