Blog Canoo WebTest: 2.2 Vzory testovania – Model Based a Data Driven...

Canoo WebTest: 2.2 Vzory testovania – Model Based a Data Driven Testing

Canoo WebTest: 2.2 Vzory testovania – Model Based a Data Driven Testing 1Model 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.

Príklad model-based testing workflow (offline test case generation). IXITimplementation extra information poukazuje na všetky potrebné informácie, ktoré sú potrebné ak sa Abstract Test Suite konvertuje na executable. Zväčša obsahuje informácie o zmysle a cieli  testu, mapovanie dát a konfigurácii SUT:

 Canoo WebTest: 2.2 Vzory testovania – Model Based a Data Driven Testing 2

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ôžeme 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:

  1. Získanie dát z úložiska – jeden riadok,
  2. Použitie získaných dát [napr.: vyplnenie formulára na webe a jeho submit na server ],
  3. Kontrola výsledkov – response od servera,
  4. 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:

Canoo WebTest: 2.2 Vzory testovania – Model Based a Data Driven Testing 3


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

Scala Developer/ka

Máš rád svoju slobodu, pracuješ na projektoch, ideálne remote? Staň sa súčasťou startupu, ktorý buduje platformu na podporu maloobchodu a...

Java Software Architect

Mrháš svojim talentom? Urob prvý krok a zistí čo Ti dnešok ponúka. Medziiným aj prácu v medzinárodnej IT spoločnosti,...

Back-End Developer / REMOTE

Pracuj na svetovom SW produkte, ktorý je používaný miliónmi používateľov! Firma rýchlo rastie a vyvíja nové features. Poznáme ich prostredie...

FullStack PHP Developer

Chcel by si dlhodobú spoluprácu, dobré pracovné podmienky, seriózny prístup? Hľadáme FullStack PHP Developera pre spoločnosť, ktorá sa zaoberá...

Python Medior/Senior Developer

Si Python developer, chceš sa naučiť Go, ideálne remote? Spoločnosť, ktorá sa zaoberá pokročilou analýzou dát a automatizáciou marketingu...

Data Scientist / REMOTE

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

IT Aplikačný Architekt

Chceš stabilné zamestnanie, vychutnávať si skvelý kolektív a mať priestor na realizáciu svojich riešení? Pre spoločnosť pôsobiacu v energetike...

Zapojte sa do prvého NCC hackathonu!

Nenechajte si ujsť prvý hackathon Národného kompetenčného centra pre HPC a využite jedinečnú príležitosť podieľať sa na vývoji aplikácie,...

Zviditeľnite sa v médiách ako odborník v oblasti IT

Zaujímajú vás novinky zo sveta IT a chýbajú vám v médiách? Pomôžte budovať povedomie v oblasti informačných technológií a...

Súťaž Scracth Match 2021 zaznamenala nárast, dominovali jej edukatívne hry

Porota celoslovenskej súťaže Scratch Match 2021 už po piaty raz ocenila nádejné programátorky vo veku 8-15 okov. Medzi ocenenými...

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