Jak na testování webů a webových aplikací
Barbora Koďousková
·03/07/2024
·8 min.
Testování webových stránek a aplikací je nedílnou součástí vývoje těchto digitálních produktů. Přesto, že může významně ovlivnit uživatelskou zkušenost, však bývá často přesouváno až na spodní příčky priorit zadavatelů tvorby. Proč je to špatně a na co je dobré testování webů a webových aplikací zaměřit?
Proč je testování webových stránek a aplikací důležité?
Internet a online nástroje jsou typické svou robustností a „všudypřítomností“. Díky IoT produktům můžete webové stránky či aplikace procházet na nejrůznějších zařízeních od mobilních telefonů, přes televize až po stolní počítače.
Tato variabilita se však zákonitě projevuje nejen na velikosti úhlopříčky displeje, ale i operačním systému nebo na browseru, který k prohlížení webu používáte. Podmínky se dále mohou lišit například kvalitou připojení k internetu či výkonem daného zařízení.
Tvorba webu a vývoj webových aplikací musí se všemi těmito proměnnými (a mnoha dalšími) počítat a přizpůsobit digitální produkt alespoň většině možných scénářů. No, a právě zde přichází na řadu testování.
Testování webových stránek a aplikací ověří funkcionalitu na různých zařízeních, zjistí, jak se chovají v zátěžových situacích a optimalizuje web či appku pro tyto situace.
Základní testování je pochopitelně součástí samotného vývoje. Mnoho testů však lze vykonat teprve po dokončení celého digitálního produktu. Tester pak v návaznosti na požadavky klienta a budget, který mu zbývá, provede požadované testy a pošle zpětnou vazbu vývojářům.
Kvalita těchto testů se ovšem odvíjí od dvou bodů – zadávací dokumentace od klienta a rozpočtu, který se rozhodl na tuto část vývoje webových aplikací či tvorby webu uvolnit.
Jak na testování webu a aplikací
Hladký průběh testování webu a aplikací a s tím i úspěch těchto digitálních produktů vyžadují splnění následujících bodů:
- zadávací dokumentace – kde klient specifikuje jednak funkcionalitu webu či webové aplikace a jednak požadavky na testování,
- průběžné testování – které provádí tester po přidání každé nové funkce,
- projektová dokumentace – již vytvářejí vývojáři během celého procesu tvorby,
- komunikace se zákazníkem – během níž je zákazník informován o potenciálních úskalích apod.,
- dostatečný rozpočet – který bez problémů pokryje všechny zmíněné body.
Manuální testování webových stránek a aplikací
Testování webů a webových aplikací probíhá v zásadě dvěma způsoby:
- manuálně – tester ručně testuje funkčnost jednotlivých prvků,
- automaticky – s využitím testovacích nástrojů či programů na míru.
V rámci manuálního testování si tedy počíná stejně jako uživatel. Prochází jednotlivé stránky a kliká na zde umístěné prvky (například tlačítka). Vyjma funkcionality pak řeší také webdesign a texty, kde hlídá překlepy nebo gramatické chyby.
Tento přístup testování je vhodný zejména pro menší projekty, kde přináší přesnější výsledky z pohledu uživatele a je levnější než nákup automatizovaných nástrojů či psaní speciálního testovacího programu.
Manuální testování webových stránek a aplikací však nelze aplikovat na všechny prvky a všechny testy se musí pokaždé provádět od začátku. Stereotypnost jednotlivých kroků pak často vede k nepozornosti a přehlédnutí chyb.
Automatické testování webových stránek a aplikací
Právě nepozornost testera řeší automatické testování webu či aplikace. Zde je využíván testovací program, nástroj nebo skript, díky němuž jsou všechny testy prováděny rychleji a efektivněji.
Automatické testy pro weby a aplikace jsou vhodné zejména pro robustnější digitální produkty, kde mohou ušetřit spoustu času i peněz. Výhodou tohoto přístupu je také vyšší potenciál na odhalení chyb, které tester během manuálního testování vůbec nemusí zaznamenat.
Výstupy z testovacích nástrojů, jako je Cypress nebo Selenium, jsou navíc zpracovány do přehledných reportů, které názorně poukazují na nalezené chyby.
Na co se při testování webů a webových aplikací zaměřit?
Úspěšný web a kvalitní webová aplikace by měly splňovat následující charakteristiku:
- bezchybnost – funkčnost odkazů, bezproblémový chod funkcionality,
- použitelnost – snadno pochopitelné rozhraní s jednoduchou obsluhou (UX design),
- efektivita – přiměřené nároky na systémové požadavky (např. využití RAM a procesoru),
- spolehlivost – běh i za zhoršených podmínek (např. nižší výkon hardwaru),
- integrita – splnění bezpečnostních standardů (např. HTTPS),
- robustnost – práce s chybou (např. neplatný vstup ve formuláři).
Tester tak staví testovací scénáře tak, aby prověřil všechny tyto složky webu či webové aplikace.
Funkční testování
Hlavním předmětem zájmu testera je typicky funkční testování, které ověřuje, zda web či aplikace skutečně splňují specifikaci definovanou zadávacími podklady. Testu podrobuje funkčnost jednotlivých prvků a sleduje jejich chování během interakce s uživatelem.
Kromě toho bývá ověřováno napojení na databázi. Zde dochází k zátěžovým testům. Kontrolují se dotazy, rychlost načítání dat a průběh jejich úpravy.
K funkcionalitě webových stránek a webových aplikací pak bezpochyby patří i funkčnost odkazů. Neplatný odkaz a zobrazení stránky s chybou významně snižuje důvěryhodnost digitálního produktu a snižuje uživatelský dojem ze stránek.
To stejné platí i o formulářích. Tester musí prověřit zadávání platných i neplatných vstupů a samotnou funkcionalitu – tedy zda po odeslání formuláře nastane očekávaná situace, např. zaslání zprávy.
Do funkčního testování webů a aplikací dále spadá práce s cookies a multimédii. Testy odhalují, jak se web či aplikace chová při povolení/zablokování využívání cookie souborů. Kontroluje se také zobrazení a přehrání videí nebo interakce s dalšími multimediálními prvky, jako jsou fotky.
Z technického hlediska tester musí ověřit validitu HTML a CSS, tedy zda je digitální produkt psát podle doporučené specifikace. S tím souvisí i skripty a knihovny, jejichž funkce je testována v různých webových prohlížečích.
Testování kompatibility
Funkčnímu testování tak sekunduje testování kompatibility. Testovací scénáře spadající do této kategorie řeší potenciální problémy naznačené v úvodu:
- funkci v různých webových prohlížečích,
- funkci v různých operačních systémech,
- zobrazení na displejích s různými úhlopříčkami.
Výsledkem by zde tak měla být webová stránka a aplikace, která je funkční na nejpoužívanějších platformách s nejčastějšími parametry.
Výkonnostní testování
Poté přichází na řadu testování výkonu. V případě online projektů se zaměřuje zejména na:
- dobu odezvy aplikace,
- dostupnost,
- rychlost načítání stránek,
- chování webu či aplikace pod zátěží.
Digitální produkt je tak vystaven maximálnímu zatížení v kontextu přístupu nebo manipulace s daty, přičemž se zjišťuje horní hranice kapacity softwaru a zkoumá se jeho chování ve špičce.
Výstupem je zde odhalení překážek a problémů s výkonem. Díky tomu tester i vývojáři mají lepší představu o tom, jak se web či aplikace zachová při zpoždění sítě nebo zatížení serveru. Produkt je tedy možné opět lépe optimalizovat pro nejrůznější situace – například na využití v místech, kde není dostatečně rychlé připojení k internetu.
S tím souvisí i stresové testování, jehož cílem je odhalit bod, ve kterém web či aplikace přestane pracovat. K tomuto účelu jsou využívány abnormální podmínky. Testeři například odebírají prostředky nutné pro chod produktu – vypínají databázi, blokují síťové porty a spouštějí na zařízení různé náročné procesy, které ubírají na výkonu pro aplikaci či web.
Testování použitelnosti
Zásadní částí testování webových stránek a aplikací je ověření jejich použitelnosti. Zde je hlavní předmětem zájmu uživatelské rozhraní, konkrétně jeho srozumitelnost a přehlednost.
Ke správnému provedení těchto testovacích scénářů je nutné identifikovat základní úkoly aplikace a webu. Následně dochází k simulaci chování uživatelů během jejich procházení.
Testování použitelnosti tedy typicky neprovádí pouze tester, ale i nezaujatí uživatelé, kteří s rozhraním nikdy nepřišli do styku. Tento přístup má zásadní podíl na úspěchu daného digitálního produktu, jelikož přináší jedinečné poznatky od lidí, kteří jej budou reálně využívat.
Testy použitelnosti webové stránky nebo webové aplikace se obvykle zaměřují na prověření:
- jednoduchosti používání aplikace,
- přívětivosti designu,
- očekávaného průchodu strukturou,
- srozumitelnosti struktury.
Splnění zmíněných čtyř bodů zvyšuje potenciál pro dosažení dobré uživatelské zkušenosti a zvyšuje tedy šance na úspěch webu či aplikace.
Pokud se na tvorbu webu či vývoj webové aplikace chystáte, tak nás neváhejte kontaktovat. Společně připravíme digitální produkt, který bude nejen uživatelsky přívětivý, ale i optimalizovaný pro použití na všech zásadních platformách.
Máte nápad na nový projekt?
Popište nám ho! Rádi odpovíme na všechny vaše dotazy, nebo rovnou domluvíme termín schůzky.
Ozvěte se Vítovi! Vše s vámi projedná a probere.
Vít Uličný
Zakladatel & CEO