Scripted automation
Tento spôsob opakuje rovnaké testovacie kroky, bez manuálneho zásahu človeka. Je 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.
Nabudúce: Canoo WebTest – začíname
Canoo Webtest je open-source nástroj na automatické testovanie webových aplikácií. Vašou úlohou bude napísanie testovacieho xml -skriptu, ktorý by mohol vyzerať aj takto:
<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: