Automatizované testovanie | Technologický blog

15.06.2021

Nezastupiteľnú úlohu v procese vývoja informačných systémov zohráva testovanie. Dnes budeme hovoriť o automatizovanom testovaní, ktoré sa používa práve pri riešení veľkých projektov. Rozhovor s Máriou Dujsíkovou, znalostnou manažérkou pre testovanie spoločnosti ANASOFT.

Čo si pod automatizovaným testom môžeme predstaviť?

Automatizované testovanie môže mať viac úrovní. V tomto prípade budeme hovoriť o testovaní, ktoré využíva inú aplikáciu - robota.

Technológia dnes umožňuje, aby aplikácie simulovali správanie používateľa. Je preto celkom bežné, že na často opakované testovacie prípady sa, v špeciálnej na to určenej aplikácii, naprogramujú automatizované testy. Dá sa to predstaviť tak, že automatický test si spustí testovanú aplikáciu, a napríklad si v nej otvorí nejaký formulár.

Postupne do polí formulára vypĺňa požadované hodnoty, akoby to robil živý používateľ. Nakoniec takto vyplnený formulár odošle a skontroluje či všetko prebehlo správne. Napríklad skontroluje v databáze, či sa údaje z formulára správne zapísali.

Takéto testovanie má zmysel na veľkých a dlhodobých projektoch, kedy sa niektoré testovacie prípady opakujú veľakrát a automatizácia dokáže ušetriť veľa manuálneho úsilia.

Kde všade sa automatizované testovanie dá ešte využiť?

Jednou z oblastí, kde sa intenzívne využíva automatizované testovanie, sú takzvané záťažové testy.

Ide v nich o to zodpovedať na otázku, či aplikácia /systém, má požadované výkonové parametre. Ako sa bude aplikácia správať, ak ju súčasne bude využívať stanovený počet používateľov. Aká bude jej odozva? Nebude aplikácia „zamŕzať“? Koľko sekúnd bude používateľ čakať na dokončenie operácie? A podobne.

Takéto testovanie je pre automatizáciu výhodné, pretože je možné ho škálovať. Ak je automatizovaný test dobre navrhnutý, je pomerne jednoduché flexibilne simulovane meniť správanie používateľov v jednom čase. Robiť podobný test s reálnymi používateľmi by bolo logisticky a organizačne veľmi náročné.

Akú úlohu hrá v testovaní bezpečnosť? Zameriavajú sa testy aj na túto oblasť?

Samozrejme dnes je bezpečnosť informačných technológií veľmi dôležitá téma a testovanie musí na tieto požiadavky reflektovať. Stále platí, že to ako detailne sa testuje bezpečnosť, závisí od mnohých kritérií.

Inak sa z hľadiska bezpečnosti testuje aplikácia pre jedného používateľa len s pripojením na lokálnu sieť, a inak sa testuje bezpečnosť pri internetovom portáli pre desiatky tisíc používateľov. Tester vždy môže, a aj by mal preveriť základné bezpečnostné aspekty aplikácie.

Ale bezpečnosť aplikácie je samostatnou kapitolou vývoja informačného systému a projekt na ňu musí pamätať. Dokázať, že sa niečo nedá, je väčšinou náročnejšie, ako dokázať, že sa niečo dá. Pokiaľ si to charakter systému vyžaduje, je potrebné v rámci implementácie počítať aj s rozsiahlymi penetračnými testami, ktoré by mali vykonávať na to špecializované firmy či etickí hackeri.

Kedy si ty ako tester s výsledkom testu spokojná?

Noooo, treba povedať, že testovať sa dá donekonečna. Testovanie nikdy neodhalí všetky chyby a je dôležité rozumieť tomu, že pri každej aplikácii, s ohľadom na jej rozsah a určenie je vždy niekde pomyselný priesečník medzi testovacím úsilím a požadovanou kvalitou.

Testovanie je jednoducho o tom dosiahnuť s primeraným úsilím požadovanú kvalitu.

V tomto zmysle som spokojná vtedy, keď výsledky testu splnia nastavené akceptačné kritériá. Tie sa prípad od prípadu líšia.

Čo ťa za roky, ktoré sa tejto problematike venuješ, testovanie naučilo?

Myslím, že aj keď to tak na prvý pohľad nevyzerá, testovanie je aj o spolupráci a vhodnej komunikácii. Začína to už pri návrhu aplikácie, kedy sa tester potrebuje veľa pýtať, aby pochopil zámer aplikácie.

Veľmi dôležité je aj vedieť zmysluplne komunikovať výsledky testov. Na vývoji informačných systémov pracuje množstvo ľudí a termíny sú často neúprosné. Ak test odhalí nejaké chyby a nie je to komunikované citlivo, ľahko môže vzniknúť dojem, že niekto z programátorov či analytikov neurobil svoju prácu dobre.

V projektoch ale nejde o prehadzovanie si zodpovednosti, ale o spojenie vzájomného úsilia pre čo najlepší výsledok. Aj na to by mal tester pamätať.

 

Ďakujem za rozhovor

Rozhovor spracoval Boris Rybár / Manažér tímu softvérového vývoja

mohlo by vás zaujímať

Testovanie je ako skvelá detektívka | Technologický blog

Akákoľvek aplikácia či komplexný informačný systém musí prejsť dlhou cestou, kým sa dostane do rúk koncového používateľa. A aj tu platí, že najdôležitejší je prvý dojem. 

Softvérová analýza očami profesionálky | Technologický blog

Poďte s nami nazrieť do technického sveta očami ženy, profesionálky, ktorá nám ponúkne zaujímavý pohľad na to, čo to softvérová analýza je.

Architektonické prístupy | Technologický blog

V dnešnej časti technologického blogu sa budeme rozprávať s jedným z návrhárov spoločnosti ANASOFT. Reč bude o distribuovanom prístupe k tvorbe aplikácií a jeho špecifikách.