úterý 23. února 2010

Automatizace funkčních testů - III.

Ve třetím díle budeme pokračovat seznamem kritérií, podle kterých se vyplatí vybírat nástroj na automatizované funkční testy. Správný výběr nástroje je klíčový - pokud vyberete špatně již na začátku, můžete se dostat později do velkých, až neřešitelných problémů.
Bez dlouhých omáček - tady je checklist, který používám já:


1. Technologie testované aplikace
Tohle je nejdůležitější kritérium ze všech. Je potřebné zvážit nejen použitý programovací jazyk pro vývoj aplikace (např. C#, Java), ale hlavně veškeré použité technologie (použité knihovny - např. VCL, .NET a jeho verze; speciální technologie - např. Silverlight, ActiveX, Flex, vlastní komponenty; speciální protokoly - webservices, TIBCO; speciální out-of-box řešení - SAP, Siebel...)
I taková zdánlivá drobnost, jako je internetový prohlížeč, ve kterém chcete otestovat váš produkt, může výrazně ovlivnit výběr nástroje. Stačí například zvolit jako prohlížeč Firefox 3.5 a hned část nástrojů na automatizaci se ukáže jako nevhodná.

2. Cena nástroje
Druhé nejdůležitější kritérium. Zapamatujte si, že "free" tooly (i ty "lepší" jako Selenium, AutoIT, volná verze QEngine nebo free verze WebReplay) obvykle vyžadují víc psaní kódu, než komerční nástroje a navíc podporují méně technologií, takže ne vždy se vyplatí použít open-source (čas testera na projektu je většinou dražší, než nákup nějakého levnějšího toolu).
Cenu licence nezapomeňte zahrnout do nákladů na testování již při psaní nabídky! U některých nástrojů výrobci nabízejí o něco dražší "floating" licenci (teda ne na konkrétního uživatele, ale "sdílenou"), čím se dá ale paradoxně ušetřit, pokud jeden nástroj "putuje" mezi projekty, kde je právě potřebný - není vázaná na konkrétního testera, který může být zrovna kdoví kde.
Vynikající poměr cena/výkon má třeba nástroj TestComplete od AutomatedQA, některé jiné nástroje jsou manažersky hůře průchodné (zkuste se třeba zeptat na cenu licence pro váš případ - například perfektního QuickTest Pro od HP nebo SilkTest-u od Borlandu). Hodně záleží i na finančních možnostech projektu/firmy, případně může rozhodnout skutečnost, který nástroj již je ve firmě koupený (a někde se válí na polici).

3. Programovací jazyk nástroje
I když komerční tooly soutěží v tom, který je víc "record-and-play user-friendly", psaní kódu se v prevážné většině případů nevyhnete. Každý tool má "svůj" programovací jazyk (QuickTest Pro = Visual Basic, WinRunner = C, TestComplete = VBScript/JScript/C++Script/DelphiScript/C#Script, Selenium = Java/Ruby/C#...).
Při výběru tak můžete dát přednost nástroji, v kterém se programuje ve "vám blízkém" jazyce.

4. Uživatelská podpora
Dříve nebo později při svém snažení narazíte na problémy, které budete muset řešit "googlováním". Čím širší uživatelskou podporu (ať již od výrobce nebo samotných uživatelů) nástroj má, tím máte větší šanci, že nebudete muset znovu vymýšlet již vymyslené.

Co bude příště? Od spíše teoretických věcí přejdu k těm praktičtějším - jak vnitřně fungují nástroje pro automatizaci a jak těchto vlastností správně využít při tvorbě testů.

2 komentáře: