Jak probíhá testování aplikací
Testování je důležitá, ale mnohdy stále opomíjená součást procesu vývoje aplikací. Ty přitom nemohou být jen krásné – musí být i funkční a uživatelsky přívětivé. A to něco stojí. Pojďme se podívat na to, jak probíhá testování appek u nás v Ackee, a jak výsledek takového testování může vypadat.
Přístupy k testování aplikací se různí, zpravidla ale platí, že čím dříve se tester k aplikaci dostane, tím lépe. Společně s kolegy z QA týmu proto usilujeme o to, abychom se projektu mohli účastnit od samého počátku. Mluvit do zadání zkrátka chceme už od návrhu wireframů a designu, přes vývoj až po konečný produkt, který se nám dostane do rukou. To jde ruku v ruce s agilním vývojem, kde by testování mělo být součástí každého sprintu.
Proces testování aplikací očima testerky
Jelikož ani analýzu nebo navrhovaný design nedostaneme x měsíců před testováním, abychom si aplikaci mohli nastudovat předem, osvědčilo se mi si appku nejprve stáhnout do telefonu a prostě si ji proklikat. Získávám tak prvotní uživatelský dojem a můžu zhodnotit, jestli jí rozumím, dokážu se v ní orientovat a chování aplikace mi jako uživateli dává smysl – zkrátka jestli je pro mě srozumitelná a zda se v ní vyznám i bez dalšího kontextu. Je totiž důležité, aby se uživatel v aplikaci neztratil už na začátku a neodradilo ho například nefungující vytvoření účtu nebo přihlášení. V takovém případě je totiž appka odsouzena ke smazání pár minut po instalaci do telefonu. Pokud najdu nedostatky již v této fázi, rovnou zadávám bugy na vývoj či si sepisuji případné dotazy na náš pravidelný meeting.
Po prvotním proklikání aplikace si nastuduju její design a specifikaci (pokud je k dispozici). Pokud něčemu nerozumím, mám naštěstí po ruce skvělé kolegy, kterých se můžu kdykoliv na cokoliv zeptat. Je-li v projektu dostatečný budget, přistupuju následně k sepsání alespoň stručných testovacích scénářů. V opačném případě se vrhám rovnou na testování. Práci mi usnadňují jednotlivé user stories se svými subtasky, které projekťák zadává vývojářům do našeho systému. User stories podrobně popisují dané funkčnosti aplikace a jsou přehledně děleny tak, aby se podle nich dalo logicky postupovat. Tím vlastně kopíruji práci vývojáře, což mi umožňuje určitou kontrolu a zaručuje, že nezapomenu projít žádnou část aplikace pro případ, že bych neměla předem připravený testovací scénář.
Testuju, testuješ, testujeme
Jak už jsem zmínila, většinu našich projektů vyvíjíme agilně. Tvorba aplikace je tedy rozdělena do několika jednotek či desítek sprintů. Před koncem každého sprintu probíhá i testování. Chyby, které v aplikaci najdu, zadám vývojářům, kteří je do dalšího sprintu opraví a já opět retestuji. Aplikaci tak kontinuálně společně vylepšujeme, přidáváme další nové funkčnosti a ověřujeme, že aplikace funguje jako celek a obsahuje to, co dle zadání obsahovat má. Je to trochu podobné, jako když stavíte dům, ale místo svalů namáháte mozky. :)
Po posledním sprintu, kdy je vše důkladně otestováno (ideálně více testery), rádi pořádáme ještě celofiremní testování aplikace, kdy si všichni zúčastnění stáhnou poslední betaverzi a během procházení aplikace z pohledu běžného uživatele nahlašují bugy a různé podivnosti, na které přitom narazí. Tyto chyby jsou po opravě opět pečlivě otestovány a pak už zbývá jen krůček k nasazení aplikace do App Store nebo Google Play.
Celý proces vývoje aplikace a jejího testování je tedy běh na poměrně dlouhou trať, který se ale nevyplácí obcházet. Pokud se totiž rozhodnete jakoukoli fázi přeskočit nebo odbýt, zpravidla se vám to vrátí v dalším sprintu, anebo hůř, odrazí na výsledku a úspěchu aplikace u reálných uživatelů. To si ostatně můžeme ukázat na následujícím příkladu.
Testování aplikace mujRozhlas
Pro účely tohoto článku (a také trochu ze zvědavosti) jsme se rozhodli otestovat aplikaci mujRozhlas (verze 1.2.4). Její tvorbu totiž Český rozhlas zadal dodavateli pouze na základě nejnižší ceny, což jsme v Ackee veřejně kritizovali. Zajímalo nás proto, nakolik se to odrazilo na výsledku.
Nejprve se pojďme podívat na pár příkladů, co se tvůrcům v aplikaci mujRozhlas povedlo:
- možnost poslouchat jak živě, tak ze záznamu
- možnost uložit si oblíbené pořady či epizody na později nebo si je stáhnout a poslechnout offline
- možnost synchronizace uloženého obsahu mezi mobilní a webovou aplikací
- možnost vlastního uspořádání menu a prioritizace záložek
- subjektivně pěkný design :)
- dark mode
Na následujících nedostatcích, které se odráží také na negativním hodnocení aplikace uživateli ve storech, by naopak bylo dobré zapracovat:
- aplikace je složitá na orientaci: funkce v sendvičovém menu a dolním tab baru se kopírují, zpočátku není jasný rozdíl mezi Oblíbené a Oblíbené pořady, není jasné, kde uživatel najde uložené pořady (Přidat do fronty nebo Přidat epizodu do MujPlaylist), příliš mnoho možností nastavení, ve kterých se uživatel zpočátku může ztratit
- nefunkční a nesrozumitelné hlasové vyhledávání, u textového vyhledávání je řazení vyhledaného obsahu nepřehledné, epizody se neřadí dle data ani jiného smysluplného klíče, nepřehledná nabídka tagů pro vyhledávání
- matoucí nekonzistence v řazení: epizody do záložky Oblíbené se řadí neprakticky shora od nejstarších nahoře po nejnověji přidané (přestože např. Oblíbené pořady a Stažené se řadí od nejnovějšího)
- nekonzistence v instrukcích: informace nebo instrukce pro uživatele jsou někdy pod pod tzv. íčkem, jindy pod ovládacím prvkem na obrazovce, někdy se objeví až po kliknutí na Upravit (viz Nastavení)
- nejasný význam některých funkcí: není například zřejmé, co v Epizodách znamená Pouze přehratelné; jiné funkce se zdají nefunkční: např. Filtr programu, kde křížek Zrušit filtr je i u aktuálního (defaultního) dne
- aplikace je typograficky nekonzistentní a obsahuje chyby
- 2 ze 3 funkcí, které aplikace nabízí jako výhody pro založení účtu, nefungují
- chybí jakákoliv možnost sdílení
- nefungují notifikace
Jelikož aplikace mujRozhlas trpí zbytečnými nedostatky z “technického” i “uživatelského” pohledu, rozhodli jsme se kolegům usnadnit práci a ty z našeho pohledu nejzásadnější chyby shrnout v přehledné tabulce. Chybička se totiž do aplikace vloudí i tomu nejlepšímu vývojáři a nejpečlivěšímu testerovi. Přesto ale věříme, že drtivě většině lze předcházet zodpovědným výběrem zkušeného dodavatele – vývojářské agentury, která aplikaci dodá v patřičné kvalitě a případně pomůže hodnocení aplikace uživateli zlepšit.
P. S. Pokud vás článek zaujal a chtěli byste se přidat k našemu QA týmu, připravovat testovací scénáře, automatizované testy a manuálně testovat mobilní aplikace pro statisíce uživatelů, dejte nám vědět. Právě nabíráme!