Ako jednoducho otestovať každú aplikáciu pri každej zmene

Naspäť

Poznáte to: spravíte fix a otestujete aplikáciu len na mieste, kde bola chyba hlásená. Všetko funguje. Hotovo.

Niekedy sa ale pokazí niečo na úplne opačnom konci aplikácie. Lenže komu sa chce zakaždým preklikávať celú aplikáciu?

Jednoduchý test to dokáže za vás.

Voláme ho Clicker. Je založený na codeception a jeho úlohou je navštíviť interné url adresy a vyhodnotiť, či status kód je zhodný s očakavaním.

Clicker najprv navštívi všetky url adresy pri prázdnej databáze. Prečo? Lebo keď aplikáciu inštalujeme novému klientovi, spravidla v nej na začiatku nie sú žiadne dáta. Nebolo by vhodné, aby prvá vec, ktorú klient v našej aplikácii uvidí, bola chybová stránka.

Následne použijeme populator na vygenerovanie náhodných dát do jednotlivých tabuliek. Generovanie sa deje automaticky na základe štruktúry databázy.

Po vygenerovaní dát opäť spustíme Clicker, tentokrát na 100 náhodne vybraných url adries (aby test netrval zbytočne dlho). Počet môžeme meniť, ale 100 url adries je kompromis medzi rýchlosťou testu a dobrým pokrytím aplikácie.

Test prebieha s dvoma používateľmi. Prvý používateľ má všetky oprávnenia a môže navštíviť každú url adresu (očakávaný status kód je 200). Druhý používateľ nemá žiadne oprávnenia (očakávaný status kód je 403).

Ukážka výstupu Clickera

Aké typy chýb nám Clicker pomohol odhaliť?
- nesprávne nastavené oprávnenia
- mŕtve linky (smerujúce na 404)
- obsahové chyby na stránke (napr. ak niekde pristupujeme k property nad null)
- nesprávne spracovanie formulárov (dátumové polia, neošetrené duplicitné vytváranie záznamov s rovnakým unikátnym identifikátorom a dalšie)

Čo ním (zatiaľ) netestujeme?
- zmazanie záznamov (po zmazaní by návšteva detailovej stránky záznamu vrátila status kód 404)
- prihlásenie a odhlásenie (simulujeme ho pomocou FakeAuthenticator-a)

Pozor: nenadobudnite pocit, že akýkoľvek test vás stopercentne chráni pred chybami.

Komentáre

Kontaktujte nás

Neviete správne uchopiť online prezentáciu Vašej spoločnosti? Potrebujete konzultáciu alebo audit doterajších aktivít?