5 způsobů, jak zrychlit testování mobilních aplikací
Commitová zpráva je jediný trvalý záznam o tom, proč jste změnu provedli. Kód se přepíše, soubory se smažou, ale historie zůstává. Pokud píšete zprávy typu „oprava bugu" nebo „úpravy", za pár měsíců nebudete vědět, co jste vlastně dělali. Vyplatí se proto investovat pár sekund navíc a napsat zprávu, která dá odpověď na dvě základní otázky: co se změnilo a proč.
Jak se vyhnout nejčastějším nástrahám při psaní commitů Jednou z nejčastějších chyb je popisování toho, co jste udělali, místo toho, proč jste to udělali. „Přidal jsem kontrolu na null" neřekne nic o tom, že tím řešíte pád aplikace při výpadku sítě. Zaměřte se na příčinu a důsledek. Dále se vyhněte vágním formulacím jako „opravy", „změny", „refaktoring". Pokud refaktoring nemění chování, napište to – pak je jasné, že se nemáte bát o funkčnost.
Typické chyby, které kazí dojem z aplikace Mezi nejčastější prohřešky patří ignorování stavu načítání. Když uživatel klikne na tlačítko a nic se neděje, má pocit, že se aplikace zasekla. Vždy poskytněte zpětnou vazbu – ať už jde o spinner, změnu barvy tlačítka nebo text „Ukládám…". Stejně důležité je ošetřit chybové stavy: místo obecného „Došlo k chybě" napište konkrétně, co se nepovedlo a jak to uživatel může opravit. Například „Zkontrolujte připojení k internetu" nebo „Zadané heslo je příliš krátké". Uživatel pak nemusí hádat a může problém rychle vyřešit.
Automatizace testů má smysl, ale musí být udržovatelná. Pište testy tak, aby nebyly závislé na konkrétních textových prvcích, které se často mění. Používejte stabilní identifikátory, jako jsou testovací ID nebo jedinečné atributy. Pokud testy začnou častěji selhávat kvůli změnám v UI než kvůli skutečným chybám, je to signál, že jsou testy špatně napsané. Pravidelně je revidujte a odstraňujte ty, které nepřinášejí žádnou hodnotu.
Než začnete, ujasněte si, co od projektu vlastně potřebujete. B3du funguje nejlépe, když máte jasnou představu o výstupu. Pokud stříháte krátké video pro sociální sítě, bude vaše nastavení jiné než u celovečerního dokumentu. Rozdíl je v datové náročnosti, v počtu použitých stop i v tom, jak chcete s materiálem dál pracovat. Dejte si čas na rozvržení — právě tato fáze rozhoduje o tom, jestli vám nástroj usnadní práci, nebo naopak zkomplikuje život.
Další pastí je míchání nesouvisejících změn do jednoho commitu. Pokud opravujete chybu a zároveň přejmenováváte proměnné, vznikne z toho nepřehledná směs. Budoucí čtenář nebude schopen rozlišit, co je podstatné. Dělejte menší commity, každý zaměřený na jednu logickou jednotku. Pokud potřebujete provést více změn, rozdělte je do více commitů, i kdyby to znamenalo více práce navíc. Historii pak lze snadno číst a případně vracet zpět.
Začněte tím, že si rozdělíte testy na unit testy, integrační testy a end-to-end testy. Unit testy ověřují logiku jednotlivých funkcí, integrační testy kontrolují spolupráci mezi komponentami a end-to-end testy procházejí celou uživatelskou cestou. Pro každou vrstvu použijte jiný nástroj, ale dbejte na to, aby se testy daly spouštět automaticky. Ruční testování si nechte až na závěrečnou fázi, kdy potřebujete objevit neočekávané chování, které automatizace nezachytí.
Nakonec si nastavte proces pro hlášení chyb. Každý nález by měl obsahovat kroky k reprodukci, očekávané a skutečné chování, verzi aplikace a zařízení, na kterém se chyba vyskytla. Bez těchto údajů je oprava zbytečně pomalá. Testování mobilních aplikací není jen o klikání na obrazovku, ale o systematickém přístupu, který kombinuje automatizaci, reálná zařízení a správné priority. Pokud toto dodržíte, ušetříte si spoustu času a nervů při vydávání nové verze.
Na co se zaměřit při testování na reálných zařízeních Emulátory jsou užitečné pro rychlé ověření základní funkčnosti, ale nikdy nenahradí reálné zařízení. Problémy s pamětí, baterií nebo teplotou se na emulátoru neprojeví. Pokud testujete na fyzickém telefonu, zapněte si sledování výkonu a sledujte vytížení procesoru, paměti a síťovou aktivitu. Typická chyba je testovat aplikaci pouze na Wi-Fi. Přepněte se na mobilní data a vyzkoušejte, co se stane, když signál ztratíte nebo zeslábne uprostřed požadavku.
Nakonec si zkuste představit, že zprávu čte někdo, kdo nezná kód. Pokud po přečtení tuší, co se změnilo a proč, je to dobrá zpráva. Pravidelně se vracejte ke starým commitům a hodnoťte, zda byste podle nich dokázali rekonstruovat rozhodovací proces. Časem vám psaní smysluplných zpráv půjde samo a stane se přirozenou součástí práce.