Archív Inet.sk Pôvodný autor: Roman Hesteric
13. 05. 2008 o 00:00 4050x

Testovanie webových aplikácií použitím Canoo WebTest, časť II.

Séria článkov o open-source nástroji na automatizované testovanie webových aplikácií - Canoo WebTest. Začíname s testovaním.
Testovanie webových aplikácií použitím Canoo WebTest, časť II.

Na konci prvej časti série článkov o automatizovanom testovaní webových aplikácií som sľúbil, že v ďalšej časti popíšem model based, data driven testovanie, scripted automation a začneme s testovaním webových aplikácií pomocou Canoo WebTest.

b. Model based testing

model based testing
Model based testing je spôsob testovania aplikácie vychádzajúci z modelu, ktorý popisuje funkcionality testovaného systému SUT – system under test . Model je však len abstraktná prezentácia vlastností a správania SUT. Testovacie prípady - Test Cases - odvodené od tohto modelu sú na tej istej úrovni abstrakcie ako model. Tieto abstraktné testovacie prípady sú známe pod menom abstract test suite. Abstract test suite nemôže byť priamo vykonaná ako skutočný test nad SUT, na to je potrebný executable test suite, ktorý je odvodený od abstract test suite, a už dokáže komunikovať so SUT. Tento mechanizmus je zabezpečený mapovaním abstraktných test case na konkrétne test case, ktoré sú už schopné priamej komunikácie s SUT.


Výhodou odvodenia testov od modelu a nie od zdrojového kódu SUT – je, že model-based-testing je black-box-testing – testovanie čiernej skrinky pri ktorom test posiela do čiernej skrinky vstupné hodnoty a kontroluje tie výstupné. To tvorí základ pre vytvorenie automatického testovacieho prostredia pre testovanie webových aplikácií. Stačí ak si predstavíme model, ktorý popisuje vlastnosti SUT, konkrétne vlastnosti webovej aplikácie, čiže v jej abstraktnej forme sú to aktívne HTML prvky webovej stránky. tlačítka [buttons], vstupné polia [inputs], výberové polia [select], JavaScripty, atď. Od tohto abstraktného modelu odvodený test suit a od neho odvodený test step [executable] – ktorý už konkrétne implementuje napríklad kroky ako clickButton , alebo setInputField , alebo setSelectField . Z týchto „puzzle“- krokov je potom možné poskladať celý test case.
 

c. Data driven testing

 

Automatizované testy prehrávajú sekvencie akcií-testovacích krokov, ktoré boli zachytené nejakým rekordérom krokov, alebo naprogramované programátorom testov. Test sa vždy týka určitej oblasti aplikácie a my môžeme povedať, že ak prejde sekvencia testovacích krokov od začiatku do konca bez chyby, test je v poriadku.


Ale je to naozaj tak? Alebo môžeme povedať, že test dopadol dobre len pre dáta, ktoré boli použité pri konkrétnej testovacej sekvencii-scenára a teda pre dá ta, ktoré boli zachytené v čase nahrávania/vytvárania testovacej sekvencie. Aby sme mohli obsiahnuť väčší záber nášho testu, potrebujeme spustiť rovnakú sekvenciu testovacích krokov, ale vždy s inými dátami. Ak aj celá táto sekvencia prebehne bez chýb - potom môžme povedať s oveľa väčšou istotou, že je test v poriadku a aplikácia sa chová tak, ako očakávame. Používanie rôznych údajov na rovnaký "testovací workflow" umožňuje Data driven testing.


Data driven testing teda znamená, že testovací skript vo forme formálneho zápisu testovacích krokov za svojho behu číta dáta z externého úložiska dát [súbor, alebo databáza ] a tieto dáta používa vo forme premenných v testovacom skripte. Testovací script je potom prehľadný a táto separácia dát a funkcionality testu prispieva k celkovému sprehľadneniu testov.


Postup vykonávania data driven testu je nasledovný. Testovacie kroky sa vykonávajú v cykloch. Počet cyklov je zhodný s počtom riadkov, ktoré obsahujú testovacie data – napríklad vo forme Excellovskej tabuľky:

 

  • Získanie dát z úložiska – jeden riadok
  • Použitie získaných dát [napr.: vyplnenie formulára na webe a jeho submit na server ]
  • Kontrola výsledkov – response od servera
  • Pokračovanie získania dát z úložiska – ďalší riadok

 

Ukážka dát uložených v súbore MS Excel, použitých ako premenné v Canoo WebTest testovacom skripte:

dtat-driven_p

d. Scripted automation

Scripted automation – tento spôsob opakuje rovnaké testovacie kroky, bez manuálneho zásahu človeka. J e preto vhodný na tzv. regression testing . Regression testing sa používa na odhaľovanie skrytých problémov, ktoré sa môžu vyskytnúť počas vývoja nových verzií aplikácie. Sú zamerané na odhaľovanie problémov, ktoré sa vyskytnú v súvislosti s vývojom. Jednoducho povedané, je na to, aby odhaľoval chyby aplikácie, ktoré vznikli vývojom, resp. nový vývoj pokazil niečo, čo doteraz fungovalo. Testy by sa mali vykonávať počas každého nového buildu, respektíve byť jeho súčasťou. Ak tak napríklad po celodennej práci vývojového tímu „ nezbehne” nočný proces [get-latest-version*build*test] preto, že po síce úspešnom builde aplikácie zlyhali testy, ráno nemá význam pokračovať v ďalšom vývoji, kým sa neodstránia problémy, ktoré testy odhalili.

Čo si teda vybrať?

Mnohí developeri a aj ich nadriadení sa mylne domnievajú, že automatické testy robia tú istú činnosť ako živí testeri. Musia si však uvedomiť, že automaty robia len to, čo im naprogramovali autori testov. Snaha o úplnú automatizáciu testovania však môže viesť k znásobeniu prostriedkov vynaložených na testovanie, ak vznikne snaha nahradiť ľudský faktor robotom-testerom. Automatické testy by mali hlavne pomáhať testerom a developerom pri hľadaní problémov a nesnažiť sa ich nahrádzať.

 

Naozaj dobrá aplikácia v skutočnosti málokedy úplne odzrkadľuje reálny proces, ktorý sa snaží automatizovať. Textový editor je predsa viac než virtuálny písací stroj a tabuľkový procesor je viac ako len virtuálna kalkulačka. Ľudia a stroje majú rôzne schopnosti pre rôzne činnosti. Automaty nemôžu myslieť a človeka-testera určite nebude baviť celú noc testovať správnosť síce veľmi dôležitých, ale nudných výpočtov. V minulosti bolo vytvorené mnoho softvéru na to, aby asistoval človeku a nie na to, aby ho nahrádzal. Rovnako to platí aj o automatizovaných testoch – nemajú sa snažiť nahradiť testerov, ale pomáhať im.

 

Ktorý z horeuvedených typov automatický testov by bol teda najlepší? Myslím, že odpovedať na túto otázku nebude až také ťažké. Každý jeden dokáže automatizovať testovanie a uľahčiť nám prácu. Každý z nich je vhodný na niečo iné a ich vhodná kombinácia môže zabezpečiť testovaciu infraštruktúru presne podľa našich predstáv. Dobrou správou je, že Canoo WebTest využíva všetky horeuvedené typy testovania, pričom každý si môže vybrať pre neho optimálny, alebo ich vzájomne kombinovať a tak plne využiť všetky ich samostatné výhody.

 

Canoo WebTest - začíname

 

Canoo WebTest je open source nástroj na testovanie webových aplikácií. Na na prvé zoznámenie s ním snáď postačí, že vašou úlohou bude napísanie testovacieho xml-skriptu, ako napríklad:

<project name= "demo" default= "test" >

   <target name= "test" >

       <webtest name= " is 'WebTest' Google's top result " >

       <invoke url= "http://www.google.com/ncr"

                        description= "go to Google" />

        <verifyTitle text= "Google" />

        <setInputField name= "q" value= "WebTest" />

        <clickButton label= "I'm Feeling Lucky" />

        <verifyTitle text= "Canoo WebTest Homepage" />

       </webtest>

   </target>

</project>

... po spustení ktorého sa objaví výsledok testu - report vo forme HTML stránky:


canoo report

 

Princípom tohto testovacieho príkladu je otestovanie vyhľadávača Google, či sa po zadaní výrazu "Webtest" a kliknutí na button "I'm feeling lucky" zobrazí ako prvá stránka, stránka projektu Canoo WebTest. Táto skutočnosť sa otestuje krokom "verifyTitle", pričom sa očakáva, že title domovskej stránky projektu obsahuje reťazec "Canoo Webtest Homepage".

 

Nabudúce:

  • Canoo WebTest - charakteristika
  • Canoo WebTest - stavebné prvky
  • Canoo WebTest - inštalácia
  • Canoo WebTest - prvé spustenie
Nemáte čas tvoriť web sami? Vytvoríme vám ho na mieru, rýchlo a bez starostí.
Webstránka na kľúč

Novinky a inšpirácie

Z nášho blogu

Prečítajte si novinky, inšpirácie a dôležité informácie zo sveta webhostingu a technológií.

Gmail končí s funkciou „Odoslať ako“ pre cudzie e-mailové adresy. Čo to znamená pre vás? Oznamy
01. 10. 2026

Gmail končí s funkciou „Odoslať ako“ pre cudzie e-mailové adresy. Čo to znamená pre vás?

Google oznámil, že v januári 2027 zruší v Gmaile funkciu „Odoslať ako“ (Send as) pre e-mailové adresy od iných poskytovateľov. Ak ste si ...

Čítať viac
Večerná „prestávka“ pre server VIP033 Oznamy
25. 09. 2026

Večerná „prestávka“ pre server VIP033

Neustále pracujeme na tom, aby vaše weby bežali hladko, rýchlo a bezpečne. Technológie idú míľovými krokmi vpred a my v Inet.sk s nimi dr...

Čítať viac
Novinky na Inet.sk (09 / 2026) Novinky
09. 09. 2026

Novinky na Inet.sk (09 / 2026)

Posledné mesiace sme v Inet.sk nevenovali len stabilite serverov, ale najmä počúvaniu vašich reálnych skúseností z každodennej praxe. Výs...

Čítať viac
Plánovaná údržba v datacentre (20.09.2026) Oznamy
07. 09. 2026

Plánovaná údržba v datacentre (20.09.2026)

Stabilita a nepretržitá dostupnosť vašich webov je pre nás kľúčová. Aby sme tento štandard nielen udržali, ale neustále zvyšovali, naši p...

Čítať viac

Podpora klientom

Máte ďalšie otázky?

Nezúfajte, pripravili sme pre Vás jednoduché odpovede na najdôležitejšie otázky, ktoré od našich klientov dostávame.

Zistiť viac

Naše výhody

Prečo si nás vybrať?

Našim klientom ponúkame až 30-dňovú záruku vrátenia peňazí.

Sme skutočný slovenský webhosting

Slovenská
firma

Nepatríme pod žiadnu nadnárodnú spoločnosť, sme malá rodinná firma.

Na nás sa môžete kedykoľvek spoľahnúť

Dlhoročné
skúsenosti

Na slovenskom trhu pôsobíme už viac ako 20 rokov, sme overená značka.

Naši prví zákazníci sú stále s nami

Spokojní
zákazníci

Naši zákazníci sú ako naša rodina, preto nám verí už viac ako 1250 klientov.

Maximálna bezpečnosť

Maximálna
bezpečnosť

Chránime Vás pred útokmi i SPAMom. U nás sú Vaše dáta v bezpečí.

Prozákaznícka podpora

Ochotná
podpora

Zakladáme si na individuálnom prístupe, preto Vám vždy radi pomôžeme.

Kvalita a dobrá cena

Férová
cena

Cena pri obnove je rovnaká ako pri objednávke. Nezdražujeme po prvom roku a bez skrytých poplatkov.

U nás sa Vám nič nestratí

Pravidelné
zálohovanie

Vaše dáta zálohujeme každý deň, dostupné sú aj zálohy z pred niekoľkých mesiacov.

Svižný Admin Panel nájdete len u nás

Prehľadný
Admin Panel

Máme rýchly a prehľadný Admin Panel, ktorý zvládne používať naozaj každý.

Správa používateľov

Správa
používateľov

Spravujte svoje projekty bez akýchkoľvek obáv s kolegami alebo externými partnermi.

Máme zľavy pre verných klientov

Vernostné
zľavy

Verní klienti u nás automaticky získavajú 15 % zľavu na každú ďalšiu objednávku.

My Vás nebudeme obmedzovať

Bez
obmedzení

Neobmedzujeme počet databáz, e-mailov, ftp a ani prenos dát.

Hosting pre WordPress

WordPress
na 1 klik

Nainštalujte si obľúbené redakčné systémy rýchlo a jednoducho.

Referencie

Spokojní zákazníci

Pozrite sa, čo o nás povedali naši klienti. Neváhajte a pridajte sa k nám ešte dnes.

Auto 100
Bystricoviny
eCall Slovakia
Filip Jančík
Frost
Merkury Broker
Mi:Su Design
Mesto Nitra
Pro Clienta
Schneider Lekáreň
Vego Marketing
Mesto Zlaté Moravce

Všetky ceny sú uvádzané bez DPH
© 2006 - 2026, Inet.sk, s. r. o., Všetky práva vyhradené

Na našej stránke používame "cookies". Vďaka nim sledujeme návštevnosť, prispôsobujeme reklamu a používateľské nastavenia, čo zlepšuje Váš zážitok z našej stránky. Súhlasíte s ich spracovaním?
Vlastné nastavenia cookies