Automatizované testování | Technologický blog

15.06.2021

Nezastupitelnou úlohu v procesu vývoje informačních systémů hraje testování. Dnes budeme hovořit o automatizovaném testování, které se používá právě při řešení velkých projektů. Rozhovor s Máriou Dujsíkovou, znalostní manažerkou pro testování společnosti ANASOFT.

Co si pod automatizovaným testem můžeme představit?

Automatizované testování může mít více úrovní. V tomto případě budeme hovořit o testování, které využívá jinou aplikaci - robota.

Technologie dnes umožňuje, aby aplikace simulovaly chování uživatele. Je proto zcela běžné, že na často opakované testovací případy se, ve speciální k tomu určené aplikaci, naprogramují automatizované testy. Dá se to představit tak, že automatický test si spustí testovanou aplikaci, a například si v ní otevře nějaký formulář.

Postupně do polí formuláře vyplňuje požadované hodnoty, jakoby to dělal živý uživatel. Nakonec takto vyplněný formulář odešle a zkontroluje zda vše proběhlo správně. Například zkontroluje v databázi, zda se údaje z formuláře správně zapsali.

Takové testování má smysl na velkých a dlouhodobých projektech, kdy se některé testovací případy opakují mnohokrát a automatizace dokáže ušetřit spoustu manuálního úsilí.

Kde všude se automatizované testování dá ještě využít?

Jednou z oblastí, kde se intenzivně využívá automatizované testování, jsou takzvané zátěžové testy.

Jde v nich o to odpovídat na otázku, zda aplikace / systém, má požadované výkonové parametry. Jak se bude aplikace chovat, pokud ji současně bude využívat stanovený počet uživatelů. Jaká bude její odezva? Nebude aplikace "zamrzat"? Kolik sekund bude uživatel čekat na dokončení operace? A podobně.

Takové testování je pro automatizaci výhodné, protože je možné jej škálovat. Pokud je automatizovaný test dobře navržen, je poměrně jednoduché flexibilně simulovaně měnit chování uživatelů v jednom čase. Dělat podobný test s reálnými uživateli by bylo logisticky a organizačně velmi náročné.

Jakou roli hraje v testování bezpečnost? Zaměřují se testy i na tuto oblast?

Samozřejmě dnes je bezpečnost informačních technologií velmi důležité téma a testování musí na tyto požadavky reflektovat. Stále platí, že to jak detailně se testuje bezpečnost, závisí na mnoha kritériích.

Jinak se z hlediska bezpečnosti testuje aplikace pro jednoho uživatele jen s připojením k lokální síti, a jinak se testuje bezpečnost při internetovém portálu pro desítky tisíc uživatelů. Tester vždy může, a také by měl prověřit základní bezpečnostní aspekty aplikace.

Ale bezpečnost aplikace je samostatnou kapitolou vývoje informačního systému a projekt na ni musí pamatovat. Dokázat, že se něco nedá, je většinou náročnější, než dokázat, že se něco dá. Pokud si to charakter systému vyžaduje, je třeba v rámci implementace počítat i s rozsáhlými penetračními testy, které by měly provádět na to specializované firmy či etičtí hackeři.

Kdy jsi ty jako tester s výsledkem testu spokojena?

Noooo, třeba říci, že testovat se dá do nekonečna. Testování nikdy neodhalí všechny chyby a je důležité rozumět tomu, že při každé aplikaci, s ohledem na její rozsah a určení je vždy někde pomyslný průsečík mezi testovacím úsilím a požadovanou kvalitou.

Testování je prostě o tom dosáhnout s přiměřeným úsilím požadovanou kvalitu.

V tomto smyslu jsem spokojená tehdy, když výsledky testu splní nastavené akceptační kritéria. Ty se případ od případu liší.

Co tě za roky, které se této problematice věnuješ, testování naučilo?

Myslím, že i když to tak na první pohled nevypadá, testování je i o spolupráci a vhodné komunikaci. Začíná to už při návrhu aplikace, kdy se tester potřebuje hodně ptát, aby pochopil záměr aplikace.

Velmi důležité je i umět smysluplně komunikovat výsledky testů. Na vývoji informačních systémů pracuje množství lidí a termíny jsou často neúprosné. Pokud test odhalí nějaké chyby a není to komunikováno citlivě, snadno může vzniknout dojem, že někdo z programátorů či analytiků neudělal svou práci dobře.

V projektech ale nejde o přehazování si zodpovědnosti, ale o spojení vzájemného úsilí pro co nejlepší výsledek. I na to by měl tester pamatovat.

 

Děkuji za rozhovor

Rozhovor zpracoval Boris Rybár / Manažer týmu softwarového vývoje

mohlo by vás zajímat

Testování je jako skvělá detektivka | Technologický blog

Jakákoliv aplikace či komplexní informační systém musí projít dlouhou cestou, než se dostane do rukou koncového uživatele. 

Softwarová analýza očima profesionálky | Technologický blog

Softwarová analýza bývá často považována za technickou činnost a obecně se dá říci, že vývoj softwaru je převážně mužskou doménou. 

Architektonické přístupy | Technologický blog

Řeč bude o distribuovaném přístupu k tvorbě aplikací a jeho specifikách.