Roman Hesteric / 27. 05. 2008, 09:24
Séria článkov o open-source nástroji na automatizované testovanie webových aplikácií - Canoo WebTest. Štruktúra a syntax. WebTest rekordér.
Štruktúra demo projektu vytvorená utilitou WebTest-u z predchádzajúcej kapitoly zobrazená vo vývojovom prostredí Eclipse vyzerá nasledovne.
Prvý testovací projekt v Eclipse - perspektíva XML:
Projekt WebTest obsahuje viac ako 100 testovacích krokov, ktoré sú dokonale popísané v dokumentácii, ktorú môžete stiahnuť počas inštalácie, alebo je k dispozícii vždy aktuálna verzia – manuál na webe
Testovacie kroky sú rozdelené do niekoľkých kategórií:
<invoke ... />
<clickLink... />
...
<setInputField... />
<setRadioButton... />
<setCheckBox... />
<clickButton... />
...
<verifyTitle... />
<verifyXPath... />
<verifyInputField .. />
...
<pdfDecryptDocument... />
<pdfVerifyField... />
<pdfVerifyText... />
...
<excelFindRow... />
<excelVerifyCellValue... />
...
<emailSetConfig... />
<emailStoreMessageId... />
...
Testovacie kroky WebTest-u majú jednoduchú syntax – ktorá je natoľko intuitívna, že je ľahko zrozumiteľná aj začínajúcim používateľom. V prípade potreby je používateľom k dispozícii archív mailing-listu na adrese: [http://lists.canoo.com/mailman/listinfo/webtest/]
WebTest rekordér je „nahrávač“ testovacích krokov do syntaxe WebTestu, alebo jazyka Groovy. Je k dispozícii ako plug-in pre prehliadač Mozilla FireFox. Vykonané kroky sa použijú v xml testovacích skriptoch, alebo testovacom kóde Groovy a slúžia na vytvorenie prvej kostry budúceho testovacieho scenára. Počas nahrávania je možné zachytenie nasledujúcich testovacích krokov:
a verifikačných krokov:
a využitie XPath Explorera:
Používanie WebTest rekordéra by som však obmedzil len na vytvorenie prvej kostry celého testovacieho scenára. Ako výborný začiatok. Každý takto získaný skript je ešte potrebné upraviť, aby sa dal v budúcnosti ľahko udržiavať spolu so zmenami testovanej aplikácie.
Ukážka nahrávania testovacej sekvencie pomocou FireFox pluginu-WebTest Rekordér:
Ukážka využitia XPath Explorera vo WebTest Recorder-i (XPath na vyhľadanie buttona Submit na hlavnej stránke Canoo Webtestu – XPath: //input[@type='submit'] ):
V tejto časti sa zameriam na použitie WebTest v praxi. Spomeniem zopár doporučení autorov WebTest-u a popíšem rôzne spôsoby nasadenia testov v praxi. Keďže každá aplikácia je „živý organizmus“, aj testovacie skripty na testovanie jej funkčnosti musia „žiť“ spolu s ňou. Pred začiatkom vytvárania testovacej infraštruktúry je dobré pamätať na nasledujúce doporučenia, ktoré vám umožnia ľahšiu údržbu testovacích skriptov v budúcnosti.
1. Špecifikujte, čo očakávate od testu, zadajte ciele testu.
Predstavte si obsah nasledujúcej webovej stránky:
a nasledujúce testovacie kroky:
Každý z uvedených krokov WebTestu klikne na link, ale každý z týchto krokov testuje inú funkcionalitu. Linka „Einkaufskorb“ – zobrazí obsah nákupného košíka, „Ajax“ zase zobrazí obrázok tovaru, atď. Je preto potrebné pred začiatkom určiť, čo očakávame od jednotlivých kliknutí testovacieho robota na linky. Od kliknutia na „Nákupný košík“ budeme zrejme očakávať zobrazenie položiek, ktoré doň boli vložené predtým, od kliknutia na „Ajax“ zasa očakávame zobrazenie obrázka tovaru vo novom okne okne browsera.
2. Rozlišujte medzi normálnym a chybovým správaním sa aplikácie
Pri webových aplikáciách je niekedy zložité povedať, čo je normálne a čo chybové správanie. Ak napríklad portál pre výpočet ceny poistného nesprávne vypočíta poistné pre dieťa do 5 rokov - je to chyba, rovnako, ako situácia, keď pod náporom veľa požiadaviek generovaných počas stres-testov „spadne“ celý server. Je však potrebné rozlišovať medzi oboma popísanými prípadmi. V mojej praxi sa osvedčil spôsob, kedy sme do každej, nie chybovej stránky vkladali neviditeľný text, napríklad „page OK“ a po každom submite na server sme kontrolovali v jeho odpovedi existenciu tohto textu [verifyText]. Samozrejme, chybové stránky tento text neobsahovali. Odhalenie chybového správania aplikácie bolo preto jednoduchšie.
3. Pri písaní testovacích skriptov používajte pravidlá softvérového inžinierstva
Pri písanie testovacích skriptov využívajte tzv. štruktúrované testy, v ktorých používajte:
Na tvorbu aj v budúcnosti udržateľných testov je nevyhnutné rozumné použitie jazyka XPath. Ako príklad dobrého a zlého spôsobu použitia XPath môžu slúžiť nasledujúce príklady:
správne: //*[@id='total']
nesprávne: /html/body/div[2]/table[3]/tbody/tr[6]/td[4]
Absolútna XPath [/html/body/div[2]/table[3]/tbody/tr[6]/td[4]] môže totiž pri budúcich zmenách dizajnu stránok spôsobovať úplnú nefunkčnosť testov a bude zákonite viesť k nutnosti úprav testovacích skriptov.
Nabudúce:
Copyright © 2002 - 2013 inet.sk, s. r. o. | Všetky práva vyhradené | Neprešlo jazykovou úpravou | ISSN 1336-1899
Využívame kvalitný webhosting za rozumnú cenu od Inet.sk