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ť.

React FE Developer

Prejdi s novým projektom na remote! Ovládaš React a obzeráš sa po novom projekte? Pre medzinárodnú IT spoločnosť hľadáme...

Technical Writer / REMOTE

Si Technical Writer a hľadáš zmysluplný projekt, ktorý bude REMOTE? Teraz máš možnosť pomáhať zlepšovať kvalitu života pacientov prostredníctvom...

Junior/Medior DevOps Specialist / App pre solárne elektrárne

Ak si Junior alebo Medior DevOps Specialist, máš šancu vydať sa na cestu zvyšovania efektivity solárnych elektrární. Pracoval by...

DevOps Architect

Ak si alebo máš ambíciu stať sa DevOps Architect-om, zbystri pozornosť. Máme pre teba projekt!Pre medzinárodnú IT spoločnosť hľadáme...

.NET / Angular/ Developer – REMOTE

NET/Angular Developer má teraz príležitosť prejsť na REMOTE s novým projektom!Pre spoločnosť, ktorá patrí medzi najvýznamnejších producentov informačných systémov...

DevOps Architect

Ak si alebo máš ambíciu stať sa DevOps Architect-om, zbystri pozornosť. Máme pre teba projekt!Pre medzinárodnú IT spoločnosť hľadáme...

Fronted Developer / Aplikácie pre diabetikov

Páčila by sa Ti zmysluplná práca na produkte - aplikácií, ktorá pomáha ľuďom s tým najcennejším, čo majú -...

Bratislava Game Jam sa tento rok spojil s hernými konferenciami Game Days a Game Developers Session Praha.

Bratislava Game Jam je súťaž programátorov, scenáristov, grafikov, filozofov a ilustrátorov, ktorých...

Ako chutí tá pravá Java? Odpoveď nájdete na JavaDays 2020 ONLINE

Zaujíma vás svet Javy a všetko s ním spojené? Máte záujem načerpať...

Bratislavská coworkingová legenda The Spot ožíva

The Spot – prvý bratislavský coworkingový priestor, v ktorom vznikali a sídlili...

Čí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ť.