Hlavní obrázek článku
  • Tagy:
  • Testing
  • Automatizace

Jsou automaty cool?

Automatizace testování je momentálně hodně aktuální téma u celé řady firem, které testování software řeší. Jenže co to vlastně automatizace je, jaké jsou její výhody a jaká jsou úskalí?

Různí lidé si vykládají automatizaci různě. O co tedy jde? S automaty jsem se poprvé setkal před třemi lety, kdy jsem jako klasický tester testoval v nejmenované bance. Zajímalo mě, jak to vlastně funguje a vzhledem k tomu, že jsem v té době studoval IT, byly pro mě automaty skvělou praxí do oboru a jasnou volbou. Dnes po více než 3 letech zkušeností s automaty vidím, že zájem o ně roste a myslím, že oprávněně.

Co je možné automatizovat a co se automatizovat vyplatí?

Ve zkratce se dá říci, že automatizovat lze téměř 99% testů, u kterých se předpokládá, že budou neměnné a opakují se dostatečně často. Jenže jsou neměnné a neměnné.

Občas levá neví, co dělá pravá...

Jedním z největších problémů, a to zejména u větších projektů, které mohou nastat, číhá v nedostatečné komunikaci. Informační kanál vývoj -> byznys -> testing nefunguje nebo funguje jen velmi omezeně. Pak se velice snadno stane, že přijde release a stovky automatizovaných testů hlásí přes 60% výsledků failed z důvodu změny v oblasti SW, která by z její povahy a specifikace měla být nedotčená. Přes půl releasu se stráví opravou a údržbou testů, což je lehce neefektivní.

Dvakrát měř, jednou řež

Další perličkou aneb jak by se automaty dělat neměly, může být extrémní případ, kdy se rozhodne o vytvoření automatů, které zabere 2 měsíce a po prvním spuštění se dojde k závěru, že už nebudou potřeba z důvodu přechodu na jinou verzi softwaru. Kdo chyboval tentokrát, asi není nutné zdůrazňovat.

Kovářovic kobyla

Dejme tomu, že jsme smysluplně vytvořili balíček automatizovaných testů a ty jsou připraveny vykovávat svůj účel. Testy spustíte. Někde uprostřed releasu se ale stane, že testy spadnou nebo že se ani nespustí. Proč? Nejčastější odpovědí je, že za to může konfigurace prostředí. Jelikož určitě používáte nějaký operační systém a několik dalších softwarů nezbytných pro běh testů, je důležitá jejich údržba a konfigurace. I špatná verze nějakého z nich může způsobit rozpad. V korporacích bývá situace ještě složitější. Než se reálně dojedná a schválí přes různé podpory změna, je po releasu. Je proto dobré provádět jistou prevenci a kompatibilitu kontrolovat průběžně.

Licence jsou to samé v bledě modrém. Řeší se v případě, kdy se rozhodneme používat komerční software (například k vytvoření automatizovaných testů) jako HP UFT (dříve QTP). Pokud u licencí dojde k vypršení, může se schvalovací aparát ukázat jako příliš dlouhý. Proto je lepší všechno řešit v předstihu - nikdy není moc brzo!

Nejlepší věci jsou zadarmo

Pro automatizaci testů bych doporučoval používat Selenium WebDriver, jeden ze 4 členů rodiny nástrojů Selenium. Nejjednodušší je Selenium IDE, který je v podstatě plug-in do prohlížeče Mozilla Firefox. Selenium IDE nahrává chování uživatele v rámci prohlížeče a pak jeho chování zaznamená. Příkazy ukládá v HTML tabulkách. Problém však nastává, když se cokoliv změní, musí se přetvořit celý test. Oproti tomu je Selenium WebDriver, kde je potřeba umět programovat v jazyce Java, C# nebo Python, mnohem komplexnější. Při správném návrhu a dodržování postupů jde pak lehce identifikovat místo, kde je potřeba udělat změna. Zároveň se ale musí konfigurovat na každý prohlížeč zvlášť. To do jisté míry řeší Selenium RC, který používá proxy server, kde testy běží. Je proto potřeba větší znalosti, jak fungují servery. Proto je Selenium WebDriver dle mého názoru nejlepší řešení. Kromě toho je zdarma.

Jsou tedy automaty opravdu cool? My si myslíme, že ano, ale je k tomu zapotřebí odborníků. A ty my máme mimochodem. :)


Autor úvodního obrázku


Sdílet :

Předchozí článek

People of BluePool: Milan