mobile application performance testing guide
Průvodce testováním výkonu mobilních aplikací:
V tomhle Výslovná řada výukových programů pro testování výkonu, prozkoumali jsme koncept Testování cloudového výkonu v našem posledním tutoriálu.
Zde se dozvíte, co je mobilní aplikace, typy mobilních aplikací, přístup k testování mobilních aplikací pro testování výkonu, jak nastavit prostředí pro testování výkonu mobilních aplikací, jak řešit problémy s výkonem u mobilních aplikací, související výzvy a dostupné nástroje atd. podrobně.
=> Klepnutím sem zobrazíte kompletní sérii výukových programů pro testování výkonu
testování otázek na pohovory pro zkušené profesionály s odpověďmi
Co se naučíte:
- Přehled
- Co je to mobilní aplikace?
- Architektura mobilních aplikací
- Přístup k testování výkonu mobilních aplikací
- Strategie výkonu mobilních aplikací
- Prostředí pro testování výkonu mobilních aplikací
- Výzvy pro testování výkonu mobilních aplikací
- Odstraňování problémů s výkonem u mobilních aplikací
- Nástroje pro testování výkonu mobilních aplikací
- Závěr
- Doporučené čtení
Přehled
V dnešním technologickém světě jsou mobilní aplikace široce používány než běžné desktopové aplikace. Počet uživatelů, kteří používají smartphone pro přístup k většině svých aplikací než pomocí stolního počítače nebo notebooku, se drasticky zvýšil.
Koncový uživatel bude také očekávat od aplikace dobrou odezvu, když ji bude používat. Proto vývojář, který vytváří mobilní aplikace, to musí mít na paměti při vývoji aplikace.
Nyní je testování výkonu zásadní, ať už se jedná o běžnou webovou aplikaci nebo o aplikaci v mobilním zařízení. Pokud aplikace běží bez testování výkonu a pokud koncový uživatel čelí problémům s výkonem, jako je pomalá odezva atd., Pokusí se najít jinou lepší aplikaci, která bude fungovat lépe.
Testování výkonu je nákladné a vyžaduje také více času. Mnoho klientů se proto vyhýbá testování výkonu, ale to hodně pomůže s problémy ve výrobě. Každá aplikace musí být proto důkladně otestována, než bude zpřístupněna koncovému uživateli.
Co je to mobilní aplikace?
Mobilní aplikace jsou sada předdefinovaných funkcí, které jsou navrženy pro práci na mobilních zařízeních, jako jsou chytré telefony, tablety a další běžné telefony. Ne všechny mobilní aplikace jsou stejné, existují tři různé typy mobilních aplikací a ty jsou založeny na technologii, která byla použita k vývoji těchto aplikací.
Mezi 3 typy mobilních aplikací patří:
- Nativní mobilní aplikace
- Webové mobilní aplikace
- Hybridní aplikace
# 1) Nativní mobilní aplikace:
Nativní mobilní aplikace jsou aplikace, které běží na vašich vlastních chytrých telefonech nebo tabletech a běží na operačním systému mobilních zařízení. Poskytují vysoký výkon a jsou také velmi spolehlivé. Tyto typy aplikací také přistupují k dalším aplikacím na vašem smartphonu, jako jsou fotografie, adresář atd.
Nativní aplikace jsou k dispozici v obchodě s mobilními aplikacemi. Pro Android máme obchod Play a pro iPhone iTunes. Tyto aplikace jsou tedy staženy z příslušných obchodů a nainstalovány do mobilních zařízení.
Příklady Nativní aplikace jsou kalkulačka, kalendář, aplikace Facebook atd.
# 2) Webové mobilní aplikace:
Webové mobilní aplikace běží přímo z prohlížeče, nejsou nainstalovány na mobilním zařízení.
Příklady webových mobilních aplikací jsou online hry, stránky sociálních sítí atd.
# 3) Hybridní aplikace:
Hybridní aplikace jsou podobné nativním aplikacím a běží uvnitř nativního kontejneru, jsou kombinací obou aplikací a k vykreslení webových stránek aplikace používají prohlížeč zařízení a nikoli skutečný prohlížeč.
Příklady hybridní aplikace jsou Instagram, Yelp atd.
Architektura mobilních aplikací
Na výše uvedeném obrázku , smartphony a tablety spadají pod klientskou stranu. Zahrnují zařízení, která obvykle používáme, jako je chytrý telefon, tablety, jejich síť jako 3G, 4G atd. Operační systém zařízení, jako je Android, iOS, Windows atd.
Mobilní mobilní síť „Bezdrátové připojení, internet a brána firewall spadají pod síť. U mobilní sítě vidíme sílu signálu, přetížení sítě, výpadky atd. U bezdrátové sítě vidíme sílu signálu, rychlost atd.
Web, aplikace a databáze přicházejí na straně serveru, kde se provádí většina práce.
Přístup k testování výkonu mobilních aplikací
Testování výkonu mobilních aplikací se liší od testování výkonu webových aplikací. Notebooky nebo stolní počítače, které se používají pro přístup k webovým aplikacím, příliš netrpí špatnými síťovými podmínkami, včetně ztráty paketů nebo latence.
Zatímco v podmínkách sítě mobilních aplikací, ztrátě paketů, latenci, typu zařízení, které používáme jako smartphone nebo chytré zařízení, a šířce pásma záleží na všech, a neměli bychom ignorovat všechny tyto faktory při zvažování testování výkonu mobilních aplikací.
Než vytvoříte svou strategii výkonu, měli byste pochopit, jaký typ aplikace používáte na svém mobilním zařízení.
Existují tři typy aplikací:
- Aplikace založené na prohlížeči
- Nativní aplikace
- Hybridní aplikace
# 1) Aplikace založené na prohlížeči:
K těmto typům aplikací lze přistupovat přímo prostřednictvím mobilního prohlížeče a ke stažení nebo instalaci do zařízení nepotřebují žádný další software.
Jsou lehké a jsou postaveny na stejném zásobníku ve všech typech zařízení, jako jsou Android, iPhone atd. Také responzivní webdesign Díky pohybu je ještě jednodušší vytvořit aplikaci založenou na více prohlížečích, protože ji můžete vykreslit na různé velikosti obrazovky.
Tyto typy aplikací mají nevýhody, jako je, že k nim nelze přistupovat bez připojení k internetu, nemají všechny funkce zabudované do zařízení a uživatelům se také zdají pomalejší.
Tak. při testování výkonu tohoto typu aplikací je důležité replikovat zatížení uživatele z mobilního prohlížeče a je také důležité otestovat vykreslování webových stránek na cílových zařízeních.
# 2) Nativní aplikace:
Tyto typy aplikací jsou postaveny na konkrétní platformě pomocí softwaru nainstalovaného přímo v zařízení.
Nativní aplikace jsou rychlejší a citlivější, protože jsou lokálně postaveny na zařízení. Protože kód na každém zařízení je jiný, tj. Pro iPhone, Android atd., Při testování výkonu musíme zvážit testování na každé platformě.
# 3) Hybridní aplikace:
Hybridní aplikace jsou kombinací obou prohlížečů a nativních aplikací. Skládají se z nativního prostředí, které poskytuje rychlý integrovaný zážitek.
Zatímco testování výkonu se zaměřuje na zatížení generované uživateli takové hybridní aplikace na straně serveru, stejně jako měří výkon aplikací v zařízení z pohledu koncového uživatele.
Jak tedy testujeme tyto mobilní aplikace?
Abychom takové mobilní aplikace mohli otestovat, musíme vytvořit prostředí s emulátory a skutečnými zařízeními. Mobilní emulátory jsou software, který je třeba nainstalovat na naše notebooky nebo stolní počítače a napodobovat mobilní aplikaci nebo mobilní platformu.
Proto pomocí těchto emulátorů můžeme generovat značné množství zátěže pro naše testování zátěže.
Druhou metodou je používání skutečných zařízení, zde máme zařízení fyzicky a vidíme, jak si aplikace vede na každém zařízení. Při použití skutečných zařízení nemáme možnost generovat zátěž, což je náš hlavní cíl, ale k tomu musíme mít více skutečných zařízení.
Pokud však chcete otestovat chování aplikace na konkrétním zařízení, můžete použít skutečné zařízení, ale ke generování zátěže musíme použít emulátory.
Dalším bodem, který si při testování mobilní aplikace všimnete, je znát přístupovou polohu koncového uživatele. Je velmi důležité vědět, zda uživatelé přistupují ze stejného města, stejné země, nebo zda se šíří po celém světě atd. Pokud plánujeme náš test nebo prostředí, aniž bychom o tom uvažovali, pak by naše testy byly špatné.
Výkon aplikací v mobilní aplikaci, jako je chytrý telefon nebo chytré zařízení, se obvykle měří z hlediska výkonu zařízení, výkonu serveru / API a výkonu sítě.
U každého představení musíme zkontrolovat následující.
Výkon zařízení:
- Čas spuštění aplikace
- Výdrž baterie při používání aplikace
- Spotřeba paměti
- Varianty hardwaru a softwaru
- Použití s jinými aplikacemi
- Aplikace spuštěná na pozadí
Výkon serveru / API:
- Data na server a ze serveru.
- Generována volání API
- Odstávka serveru
Výkon sítě:
- Ztráta paketů
- Rychlost sítě
Při psaní přístupu k testování výkonu mobilních aplikací tedy musíte vzít v úvahu všechny výše uvedené body a odpovídat rozsahu a požadavkům vašeho projektu.
Strategie výkonu mobilních aplikací
Přístup k testování výkonu se u každého typu mobilní aplikace liší. Přístup se liší od jedné aplikace k druhé, protože každá aplikace je vyvíjena s různými komponentami a mechanismus zpracování je pro každou odlišný.
Mobilní aplikace založené na prohlížeči fungují jinak než běžná aplikace webového prohlížeče. Toto chování je způsobeno šířkou pásma z datového plánu, který koncový uživatel používá, a také závisí na konfiguraci na mobilních zařízeních.
Náklady na vývoj tohoto typu aplikace založené na prohlížeči budou nižší, protože vývojová práce spočívá v ověření její kompatibility s prohlížeči, které jsou k dispozici na mobilních zařízeních.
Proto pro testování výkonu, jako jsou mobilní aplikace založené na prohlížeči, musíme replikovat zatížení uživatele v prohlížeči. Můžeme to udělat pomocí emulátorů nebo jiných doplňkových komponent. Kromě uživatelského zatížení v mobilních prohlížečích musíme také otestovat vykreslování webových stránek na zařízeních.
Náklady na vývoj nativních mobilních aplikací jsou vyšší. Aplikace se instalují přímo do zařízení, což zvyšuje uživatelský komfort, ale aplikace je závislá na platformě.
Pokud tedy chceme otestovat výkon u těchto typů aplikací, musíme otestovat všechny platformy mobilních zařízení, jako jsou Android, iOS, Windows atd., A také na všech typech zařízení, jako jsou chytré telefony, tablety atd.
Hybridní mobilní aplikace jsou kombinací mobilních aplikací založených na prohlížeči a nativních mobilních aplikací, a proto zde musíme otestovat zatížení uživatelů na serveru a také musíme provést úplné testování výkonu na všech mobilních zařízeních a platformách.
U jakékoli aplikace v mobilním zařízení existují dva hlavní faktory, které ovlivňují výkon koncového uživatele:
- Žádost na mobilním zařízení
- Vykreslování stránky na mobilním zařízení
# 1) Žádost na mobilním zařízení:
V rámci toho je požadavek doručen na server a na základě přijatého požadavku je vygenerována odpověď serveru. Jakmile je odpověď vygenerována na serveru, je tato odpověď odeslána zpět do mobilního zařízení, které odeslalo počáteční požadavek.
Zde je třeba zkontrolovat parametry, které jsou zatížení serveru, různé typy sítí, jako je 3G, 4G atd., Zatížení každé sítě a dalších komponent.
Můžeme je otestovat pomocí emulátorů, tj. Můžeme generovat skripty a pomocí emulátorů napodobit zatížení uživatele na serveru.
# 2) Vykreslování stránky na mobilním zařízení:
Vykreslování stránek na mobilním zařízení není nic jiného než odpověď přijatá ze serveru na požadavek, který jsme odeslali z naší mobilní aplikace.
Zde jsou parametry, které je třeba prozkoumat, operační systém zařízení, nastavení konfigurace mobilního zařízení atd. Můžeme je otestovat skutečným přihlášením do mobilního zařízení a jejich sledováním.
Nyní se podrobně podívejme na každý krok uvedený na obrázku výše:
a) Vytvoření uživatelských scénářů v reálném čase:
Podobně jako běžné aplikace webového prohlížeče musíme identifikovat scénáře nebo podmínky, které se na serveru očekávají v reálném čase. Bude třeba otestovat mnoho scénářů.
Předpokládejme podmínku, kdy existuje webová aplikace, která je k dispozici jak na stolních počítačích, tak i na mobilním zařízení, také je nativní v zařízeních Android a ios. Zde musíme vyvinout testovací skript založený na typu přístupu k aplikaci. Proto ho musíme otestovat samostatně na každém zařízení.
Také musíme vzít v úvahu vzor pracovního vytížení pro tento scénář, tj. Musíme pochopit, jak je zátěž distribuována na každé zařízení. Například, 500 uživatelů bude přistupovat k aplikaci prostřednictvím webu, přibližně 100 bude používat nativní aplikaci na svém zařízení ios a dalších 200 bude přistupovat k aplikaci z jejich nativního zařízení v aplikaci pro Android.
Měli bychom také zvážit geografické umístění zátěže na serveru. Například, 30% uživatelů přistupuje z USA, 50% z Indie a zbytek 20% z jiných míst. Je povinné napodobovat různé umístění uživatelů, protože to bude mít na servery velmi velký dopad.
Testování všech 100% z jednoho místa přinese špatné výsledky. Doporučuje se proto otestovat zatížení serverů zadáním jiného umístění. Cloudové řešení lze použít k napodobování různých geografických umístění.
b) Vytvořte podmínky sítě v reálném čase:
Zde musíme vytvořit různé podmínky sítě a také kvalitu sítě, jako je síť 3G, síť 2G, Wi-Fi s nejlepší rychlostí, průměrnou rychlostí a nízkou rychlostí. Pro vytvoření podmínek sítě musíme udělat emulaci sítě.
Měli bychom také otestovat výkon tím, že dáme 50% podmínky šířky pásma, čeho můžeme dosáhnout provedením emulace sítě. Můžeme použít jakýkoli nástroj jako Větrný tunel, Shunra atd.
Vyzkoušejte také síť s ohledem na různé geografické oblasti, jako je síť 3G v Bangalore. 4G v Hyderabadu atd. Také zde musíme provést emulaci sítě pomocí vhodných nástrojů.
c) Vytvoření podmínek zařízení v reálném čase:
Nejedná se o nic jiného než o typ aplikace v mobilním zařízení, například o tenkou klientskou aplikaci nebo tlustou klientskou aplikaci, jaký je operační systém v mobilním zařízení, typ zařízení jako iPhone, Nokia atd. A jakoukoli jinou aplikaci který bude běžet paralelně během používání této konkrétní aplikace atd., musí být také testován jako součást scénářů.
d) Vyzkoušejte výkon každé součásti:
Po vytvoření všech výše uvedených scénářů musíme otestovat výkon aplikace včetně veškerého softwaru a hardwaru. Nyní během zátěžového testu shromážděte všechny potřebné metriky.
Některé metriky na straně serveru, které je třeba shromáždit, jsou využití CPU, zatížení CPU, doba zpracování, celkový dostupný byt, odeslané pakety, přijaté pakety atd.
Některé ze síťových metrik, které je třeba shromáždit, jsou pakety a bajty odeslané po síti, pakety a bajty přijaté po síti, zahozené pakety a celkové průměrné zpoždění.
Metriky zařízení, které se mají shromažďovat, jsou CPU, Využití paměti, Doba odezvy atd. A také měří všechny doby odezvy transakce a propustnost.
Prostředí pro testování výkonu mobilních aplikací
Než nastavíme prostředí pro testování výkonu pro mobilní aplikaci, musíme pochopit, jaké jsou mobilní aplikace, které budou testovány, jaké budou testovány všechny operační systémy nebo zařízení a také různé geografické polohy.
Nejprve tedy musíme vytvořit prostředí, které se skládá z emulátorů a skutečných zařízení. Co je tedy emulátor? Emulátor je software, který lze nainstalovat na naše notebooky nebo stolní počítače a tyto fungují jako mobilní zařízení. Můžeme generovat obrovskou zátěž pomocí těchto emulátorů, proto je nejlepší je použít pro testování zátěže všech mobilních aplikací.
Na druhou stranu jsou skutečná zařízení fyzickými mobilními zařízeními. Musíme tedy ověřit chování aplikace na každém zařízení a v každé síti. Nebudeme však moci otestovat šířku pásma, ztrátu paketů atd., Když je více zařízení připojeno ke stejné síti a přistupuje ke stejné aplikaci.
Další věc, kterou je třeba vzít v úvahu, je geografické umístění aplikačních zařízení, což je povinný a velmi důležitý aspekt, který je třeba vzít v úvahu, jinak nebudou naše výsledky testů takové, jaké se stávají ve scénáři reálného světa.
Jakmile tedy provedete analýzu výše uvedeného, vyberte příslušný nástroj pro testování zátěže a proveďte testy výkonu.
Výzvy pro testování výkonu mobilních aplikací
Mezi výzvy, kterým čelíme při testování výkonu mobilních aplikací, patří:
- Když potřebujeme otestovat naši aplikaci na různých mobilních zařízeních, musíme uspořádat všechna zařízení, jako jsou IOS, Android, Windows atd.
- Síťová simulace je další výzva, které budeme čelit, tj. Musíme simulovat sítě jako 3G, 2G, 4G a wifi sítě.
- Paměť dostupná v mobilních zařízeních pro zpracování testovacích běhů.
- Výdrž baterie mobilních zařízení.
Odstraňování problémů s výkonem u mobilních aplikací
Po dokončení testovacího běhu je čas shromáždit úzké místo výkonu zjištěné během testovacího běhu. Jakmile jsou problémy konsolidovány, musíme identifikovat hlavní příčinu problému a opravit je.
Podívejme se na některé problémy s výkonem mobilních aplikací:
- Zpoždění odpovědi z mobilní aplikace: Toto zpoždění je obvykle způsobeno pamětí nebo ukládáním do mezipaměti. V takových případech se doporučuje vymazat mezipaměť a znovu spustit test.
- Aplikace se po nějakou dobu restartuje, zablokuje se nebo zamrzne: V takových případech zkontrolujte software, jako by bylo třeba provést nějaké aktualizace, zkontrolujte kód aplikace pro případnou optimalizaci, manipulace s ukládáním do mezipaměti jsou některé oblasti, které je třeba prozkoumat.
Nástroje pro testování výkonu mobilních aplikací
Nástroje se mohou lišit v závislosti na typu zařízení a platformy.
Níže jsou uvedeny některé z nejčastěji používaných nástrojů.
Pro zařízení Android:
roboti: Pomocí tohoto nástroje můžeme zaznamenat a přehrát několik kroků k provedení testu. Klepněte na zde pro výukový program Robotium .
Monkey Runner : Pomocí tohoto nástroje můžeme spustit naše testy na zařízeních jejich připojením k pracovní ploše. Pomocí rozhraní nástroje můžeme přistupovat ke smartphonu.
Pro zařízení iOS:
Automator: Pomocí tohoto nástroje můžeme pracovní postupy přetahovat a automatizovat.
Závěr
Jsem si jist, že byste se prostřednictvím tohoto informativního tutoriálu dozvěděli více o mobilních aplikacích a o tom, jak dokončit testování zátěže v mobilních aplikacích dokonalým způsobem.
Náš nadcházející výukový program vás stručně seznámí s tím, jak jednoduše provést ruční testování výkonu.
=> Navštivte zde kompletní sérii výukových programů pro testování výkonu
Výukový program PREV | DALŠÍ výuka
Doporučené čtení
- Testování výkonu mobilních aplikací pomocí BlazeMeter
- Průvodce pro začátečníky k testování výkonu webových aplikací pomocí WAPT Pro
- Průvodce testováním zabezpečení webových aplikací
- Testování výkonu vs. zátěžové testování vs. zátěžové testování (rozdíl)
- Jak rychle získat práci s mobilním testováním - Průvodce mobilním testováním (část 1)
- Testování zatížení, stresu a výkonu webových aplikací pomocí WAPT
- Jak provést ruční testování výkonu?
- Nástroje a poskytovatelé služeb pro testování penetrace mobilních aplikací