QAce logo firmy CZ EN

GUI Master - Efektivní testování GUI

GUI (Graphical User Interface) aplikace představují v současné době rozsáhlou část SW systémů u většiny firem. Ať už se jedná o web aplikace, či klientské aplikace podnikových systémů, eventuálně další specializované systémy. Se zaváděním nových aplikací, případně úpravou stávajících aplikací vyvstává otázka efektivního způsobu testování těchto aplikací.

Testování GUI

GUI aplikace jsou z hlediska testování specifické, neboť tyto úlohy zahrnují kromě vstupu dat i celou řadu dalších operací na “obrazovkách:

Ve velké většině případů převládá “ruční“ způsob testování, tzn. testování pomocí uživatelů. Nevýhodou tohoto způsobu testování je jednak pracnost, ale i velká psychická náročnost (opakující sekvence obrazovek a jejich plnění údaji).

Stejným problémem zůstává i dokumentace provedených testů. Každý test by měl být podrobně dokumentován a výsledek testů by měl zaznamenán do reportu, který je výstupem testování. Pokud se dokumentace o testování vytváří ručně, jedná se opět o poměrně časově náročný proces (testování může zahrnovat řadově desítky testovacích scénářů), který navíc, jako každý manuální proces, je náchylný k chybovosti.

GUI Master

GUI Master je aplikace určená pro automatizované GUI testování. Tato aplikace pracuje na principu vyhledávání zadaných bitmapových vzorů na obrazovce. Pomocí nalezených bitmap pak GUI Master řídí svůj postup při testován:

GUI Master je tedy nejen “chytrý klikač“, který umí inteligentně řídit vstup dat do obrazovkových formulářů (respektive sběr dat z obrazovek do souborů), ale dovede také reagovat na stav obrazovek a podle toho řídit svůj další postup.

Koncepce systému GUI Master považuje každou GUI aplikaci za sadu bitmapových vstupů, které jsou vyhodnocovány pomocí speciální sady algoritmů. To ve finále umožňuje naprostou platformovou nezávislost testované GUI aplikaci. S pomocí systému GUI Master lze tedy testovat celou řadu formulářových aplikací postavených na nejrůznějších vývojových nástrojích včetně WEB aplikací a terminálových aplikací.

Mimo operací na obrazovkách může GUI Master také spouštět povely z příkazové řádky, tzn. může provádět a vyhodnocovat různou plejádu dalších operací (telnet,ftp, api ev. různé utility či systémové příkazy).

Aplikace řídí svou činnost pomocí parametrizovatelných maker, které umožňují například:

V poslední verzi aplikace existuje cca 20 předpřipravených maker. GUI Master má implementovaný svůj vlastní jazyk (syntaxe podobná jazyku C), pomocí kterého jsou makra naprogramovaná. Díky tomu lze flexibilně přidávat další makra, eventuálně rozšiřovat možnosti stávajících maker a to takřka neomezeně.

GUI Master Editor

Dalším nutným předpokladem pro automatizované GUI testování je rychlá a uživatelsky příjemná příprava GUI testů. Pro tyto účely byla připravena komponenta GUI Master Editor, která umožňuje rychlé a komfortní nastavení “klikacích“ maker pro GUI testování.

Sadu takto připravených maker (např. přihlášení do systému) lze pak začlenit do bloku jako samostatné makro, a toto makro pak dále využívat. V každé fázi přípravy lze pak tato samostatná či bloková makra spouštět a testovat tak jejich správnou funkčnost.

Pomocí komponenty „Smart Action List“ lze naprostou většinu maker nastavit stisknutím jediného tlačítka. Na základě vybraných vstupních parametrů (výběr se provádí pomocí myši) komponenta „Smart Action List“ nabídne seznam pouze těch maker, která dle vstupních parametrů přicházejí v úvahu a po výběru makra provede sama nastavení vstupních parametrů makra.

Jak vstupní parametry, tak i makra jsou v GUI Master Editoru zobrazovány v grafické formě pomocí stromové struktury.

GUI Master Launcher

Významným faktorem při testování je i otázka organizace testů, jejich vyhodnocení a průkazné reportování výsledků. Při reálném testování, kdy může být definováno až několik desítek testovacích scénářů, je tedy důležité mít mechanismy, které dovedou uživateli efektivně pomáhat.

GUI Master Launcher je komponenta, která je určena pro provádění následujících operací: