Testování Androidu: emulátor nebo reálné zařízení?
Emulátor a fyzické zařízení nepředstavují dvě soupeřící možnosti. Každé odpovídá na jinou otázku: virtuální zařízení poskytne rychlou a opakovatelnou kontrolu, fyzický telefon ukáže chování konkrétního hardwaru a úprav výrobce. Dobrá testovací strategie využívá obě vrstvy v přiměřeném rozsahu.
Co dokáže emulátor a co mu chybí
Android Emulator dokáže měnit verzi systému, rozlišení, orientaci a různé hardwarové či síťové podmínky. Umí simulovat příchozí hovor nebo zprávu, polohu, různou rychlost sítě a vybrané senzory. Je proto vhodný pro vývoj testů, rychlé smoke scénáře a širší pokrytí verzí Androidu bez nákupu zařízení.
Simulace však není totožná s konkrétním telefonem. Virtuální zařízení nemusí přesně reprodukovat výkon slabšího hardwaru, grafický ovladač, fotoaparát, biometrický senzor ani úpravy systému od výrobce. Rozdíly se mohou projevit také ve správě procesů na pozadí, notifikacích nebo práci s pamětí.
Fyzické zařízení tyto vlastnosti obsahuje, jeho provoz má však svou cenu. Telefony je třeba připravovat, resetovat, aktualizovat a bezpečně spravovat. U cloudové služby navíc do rozhodnutí vstupuje dostupnost modelů, doba čekání, cena a pravidla pro testovací data.
Jak vytvořit rozumnou matici zařízení
Nejprve rozdělíme testy podle toho, jakou informaci mají přinést.
Rychlá vrstva na virtuálních zařízeních ověřuje, že se aplikace nainstaluje, spustí a zvládne nejdůležitější cesty. Běží při relevantních změnách nebo v pravidelném CI běhu a používá několik reprezentativních verzí Androidu.
Cílená vrstva na fyzických zařízeních se zaměřuje na rizika závislá na hardwaru nebo výrobci. Patří sem například výkon na slabším modelu, fotoaparát, biometrie, chování na pozadí či problém, který analytika spojuje s konkrétní skupinou zařízení. U významného releasu lze matici rozšířit, aniž by na ní musel běžet každý test.
Výběr modelů opíráme o anonymizované údaje o verzích systému, výrobcích a zařízeních uživatelů. Doplníme je o minimální podporovanou verzi Androidu a obchodně důležité segmenty. Matice se pravidelně mění spolu s uživatelskou základnou.
Appium i Maestro lze lokálně spouštět na emulátoru a připojeném fyzickém zařízení. Cloudové platformy se liší typy zařízení a podporovanými frameworky, proto kompatibilitu ověřujeme před návrhem celé infrastruktury.
Na co si dát pozor
Emulátor dokáže simulovat také výpadek sítě, hovor či otočení displeje, takže tyto scénáře nemusí automaticky patřit pouze na fyzický telefon. Naopak test na jednom reálném modelu nedokazuje kompatibilitu se všemi výrobci. Důležité je pojmenovat riziko a vybrat prostředí, které ho dokáže věrohodně ověřit.
Testovací účty nesmějí obsahovat nepotřebné osobní údaje. U videí, snímků a logů z cloudových zařízení je třeba nastavit uchovávání a přístupy podle interních bezpečnostních pravidel.
Co tím získáte
Virtuální zařízení poskytnou včasnou zpětnou vazbu bez zbytečně dlouhého čekání. Fyzické modely se použijí tam, kde přinášejí novou informaci, takže náklady na zařízení a doba běhů zůstanou pod kontrolou.
Tým zároveň lépe ví, co výsledek znamená. Zelený běh na emulátoru potvrzuje základní funkčnost ve zvoleném prostředí; cílený fyzický běh doplňuje důvěru pro konkrétní hardware a uživatelský segment.
Další krok
Z analytiky vyberte tři nejpoužívanější kombinace výrobce a verze Androidu a přidejte jednu rizikovou okrajovou kombinaci. Ke každé přiřaďte scénáře, které na ní dávají smysl, a ostatní ponechte v rychlé virtuální vrstvě. Při výběru pomůže také přehled mobilních scénářů vhodných k automatizaci. Pokud tentýž produkt používají zákazníci také v prohlížeči, doplňte matici zařízení samostatným plánem pro automatizaci webové aplikace.