Blog Canoo Web Test: Data Driven Test

Canoo Web Test: Data Driven Test

Dátami riadené testy (Data Driven Test) je termín používaný na testovanie počítačového softvéru, kde  testovanie je popísané pomocou tabuľky podmienok alebo vstupných dát pripravených pre testovanie a očakávaných výstupov pripravených na overenie výsledkov. Tento prístup umožňuje opakované použitie logiky testu pre rôzne vstupy, zníženie nárokov na údržbu softvéru a zlepšenie pokrytia kódu testami.

Predtým ako si k tomu povieme teóriu, pozrite si video ako je možné otestovať bezchybnosť Google Calculatora.

Canoo Webtest implementácia Data-driven testu vychádza z ANT-tasku „PropertyTable“, ktorý volá nested-vnorené elementy toľko krát, koľko riadkov obsahuje tabuľka so vstupnými dátami.

Predstavme si tabuľku, ktorá obsahuje dáta:

a          b         c
11        12        13
21        22        23

a ANT-taks s echom:

<echo message="${a} ${b} ${c}"/>

potom môžeme použiť PropertyTable, napríklad:

<propertytable ...>
<echo message="${a} ${b} ${c}"/>
</propertytable>

a výstupom bude:
echo
11 12 13
echo
21 22 23

Tabuľka z nášho príkladu môže byť v rôznych formátoch – okrem iného aj vo formáte MS-Excel, ktorý je podľa môjho názoru ideálny ako „interface“ medzi testovacím skriptom a externými dátami. Tieto totiž môžu pripravovať analytici a testeri, ktorí nemusia poznať testovacie skripty používajúce tieto dáta. Testovací skript vo forme formálneho zápisu testovacích krokov za svojho behu číta dáta z excellovského súboru a používa ich vo forme premenných v testovacom skripte.

Predstavme si teda nasledujúcu tabuľku:

Canoo-DataDrivenTest

a testovací skript ktorý postupne zaregistruje autorov Canoo Webtestu na imaginárnom registračnom webe:

<dataDriven tableContainer="simple.xls">
  <webtest  name="Register ${FirstName} ${LastName}">
   <echo message="registering ${FirstName} ${LastName}"/>
    … goto register page …
    <setInputField forLabel="First name" value="${FirstName}"/>
    <setInputField forLabel="Last name" value="${LastName}"/>
    <clickButton label="Register"/>
    <verifyText text="${FirstName} ${LastName} has been registered"/>
  </webtest>
</dataDriven>

Výstup imaginárneho data-driven testu:

[echo] registering Denis N. Antonioli
[echo] registering Dierk König
[echo] registering Marc Guillemot
[echo] registering Paul King
[echo] registering Tomi Schütz

Veľkou výhodou data driven testov je okrem formátu vstupných dát, ktorý bude iste akceptovateľný širokým okruhom testerov a analytikov, aj jeho možnosť simulácie reálneho dátového prostredia, v ktorom bude aplikácia nasadená. Táto výhoda sa dá veľmi dobre využiť pri záťažových – stres testoch.

Ak budete skúmať chovanie aplikácie počas stres testov, ktoré paralelne posielajú na server množstvá dotazov, určite čiastočne overíte chovanie aplikácie v extrémnych situáciách. Nie je to však vždy reálnym obrazom chovania aplikácie v produkčnom prostredí. Lepšie je vyvolať reálne extrémnu situáciu kombináciou paralelne bežiacich stres testov, pričom každý z nich bude “data driven” a bude simulovať reálne zaťaženie aplikácie pomocou reálnych dát. Tento spôsob bude určite lepšie odzrkadľovať realitu prostredia ako len niekoľkotisícové paralelné cykly obsahujúce vždy rovnaké dáta.

Tip: nastavenie memory [závisí od RAM počítača, na ktorom beží testovací klient] pred použitím data driven testov s obsahom veľkého množstva riadkov [>10000].  /canoo_home/bin/webtest.bat

set JAVA_OPTS=-Xms256M -Xmx800M


Dobrý článok? Chceš dostávať ďalšie?

Už viac ako 6 200 ITečkárov dostáva správy e-mailom. Nemusíš sa báť, nie každé ráno. Len občasne.



Súhlasím so spracovaním mojich osobných údajov. ( Viac informácií. )

Tvoj email neposkytneme 3tím stranám. Posielame naňho len informácie z robime.it. Kedykoľvek sa môžeš odhlásiť.

Roman Hesteric
Roman Hesterichttp://www.priklady.eu
Pracuje ako QA Architekt v Swiss Re. Predtým CTO pre Java a .Net aplikácie. Autorizovaný spolupracovník na projekte Canoo Webtest. Držiteľ certifikátov MCTS a MCPD pre SharePoint server. V IT pracuje 25 rokov, od starého dobrého Turbo Pascalu od Borlandu, cez Javu, až po C#. Administrátor matematického portálu www.priklady.eu

Head of Engineering | REMOTE | Gaming | Americkí mentori

Pre mladý startup vyvíjajúci softvér, ktorý prispieva hráčom k lepšiemu zážitku z hrania, hľadáme Head of Engineering. Založili ho dvaja...

GIS/Lidar Špecialist

Chceš robiť niečo, čo robí len málokto na Slovensku? Jediná firma na Slovensku, ktorá prevádzkuje vlastné lietadlo pre zber údajov...

Automation Tester

Máš skúsenosti s automatizovaným testovaním? Pre Automatizovaného testera máme príležitosť v oblasti digitálneho bankovníctva. Ide o projekt na kontrakt s odmenou...

Java Junior/Medior Developer

Osamostatni sa a pracuj sólo! Práve teraz je tu príležitosť pre Junior/Medior Java Developera pracovať na projekte pre medzinárodnú...

MS BI Developer / REMOTE

Sprav krok vpred s novým projektom v oblasti bankovníctva. Ide o projekt na kontrakt s dĺžkou trvania 2 roky. Odmena...

Business Development Manager

Máš skúsenosť s aktívnymi akvizíciami SW riešení pre banky/poisťovne? Pre stabilnú československú spoločnosť hľadáme Business Development Managera, ktorý sa vyzná...

Julia Developer / REMOTE

Projekt pre nadšencov Julia a machine learning. Pre spoločnosť, ktorá používa matematické metódy a metódy AI / ML na...

Simona Obrtáčová: Je dôležité nevzdať sa hneď pri prvej prekážke

Simona pracuje ako aplikačná inžinierka pre ABB s.r.o., kde vytvára robotizované pracoviská. Pochádza z malej dediny na Orave a tomu, že...

Čo sa udialo na internete v roku 2020?

Slovensko sa v roku 2020 naučilo niekoľko nových slovíčok a nadobudlo mnoho nových digitálnych zručností. Pojmy ako videokonferencia, práca na diaľku /...

Toto sme stihli v roku 2020!

Rok 2020 bol určite neobyčajným rokom pre mnohých nielen z oblasti IT. Presunuli sme sa z kancelárií a open...

Čítaj ďalej:

Dobrý článok? Chceš dostávať ďalšie?

Už viac ako 6 200 ITečkárov dostáva správy e-mailom. Nemusíš sa báť, nie každé ráno. Len občasne.

Súhlasím so spracovaním mojich osobných údajov. ( Viac informácií. )

Tvoj email neposkytneme 3tím stranám. Posielame naňho len informácie z robime.it. Kedykoľvek sa môžeš odhlásiť.