Kompletní průvodce testováním mobilních aplikací s podrobnými návody:
Mobilní technologie a chytrá zařízení jsou nyní trendem a změní budoucnost světa, jak ho známe. Všichni se za to můžeme zaručit, že? Nyní by bylo amatérské, kdybych vyjmenoval, k čemu tato mobilní zařízení používáme. Všichni to víte – možná lépe než my.
Přejděme rovnou k tomu, o čem bude tento tutoriál.
Kompletní seznam více než 30 tutoriálů o testování mobilních zařízení:
Úvod do testování mobilních zařízení:
Tutoriál č. 1: Úvod do testování mobilních zařízení
Tutoriál č. 2: Testování aplikací pro iOS
Tutoriál č. 3: Testování aplikací pro Android
Tutoriál č. 4: Výzvy a řešení testování mobilních zařízení
Tutoriál č. 5: Proč je testování mobilních zařízení těžké?
Testování mobilních zařízení:
Tutoriál #6: Testování verze systému Android po stažení z trhu
Tutoriál #7: Jak testovat mobilní aplikace na zařízeních nižší třídy
Tutoriál #8: Testování mobilních aplikací v terénu
Tutoriál #9: Model telefonu versus verze operačního systému:
Testování uživatelského rozhraní mobilních aplikací:
Tutoriál #10: Testování uživatelského rozhraní mobilních aplikací
Tutoriál #11: Služby testování mobilních aplikací
Tutoriál #14: Služby beta testování mobilních aplikací
Tutoriál #15: Společnost zabývající se vývojem mobilních aplikací
Tutoriál #16: Poskytovatelé služeb testování mobilních aplikací v cloudu
Testování výkonu a bezpečnosti mobilních aplikací:
Tutoriál #17:
Tutoriál #18: Pokyny pro testování bezpečnosti mobilních aplikací
Nástroje pro testování mobilních aplikací:
Tutoriál #19: Nástroje pro testování aplikací pro Android
Tutoriál #20: Nejlepší nástroje pro testování bezpečnosti mobilních aplikací
Tutoriál #21: 58 nejlepších nástrojů pro testování mobilních aplikací
Testování automatizace mobilních aplikací:
Tutoriál #22: Appium Mobile Automation Tool tutorial
Tutoriál #23: Appium Studio tutoriál
Tutoriál #24: Automatizace aplikací pro Android pomocí nástroje TestComplete
Tutoriál #25: Robotium – nástroj pro testování uživatelského rozhraní aplikací pro Android
Tutorial #26: Selendroid Tutoriál: Mobile Automation Framework
Tutorial #27: Výukový program pCloudy: Testování mobilních aplikací na reálných zařízeních
Tutorial #28: Katalon Studio & Kobiton’s Cloud-Based Device Farm Tutorial
Kariéra v mobilním testování:
Tutorial #29: Jak rychle získat práci v mobilním testování
Tutorial #30: Začněme 1. tutoriálem ze série: Otázky na pohovor pro mobilní testování a životopis
Tutoriál #31: Otázky na pohovor pro mobilní testování 2. část
*************************************************************
Začněme 1. tutoriálem ze série.
- Tutoriál č. 1: Úvod do testování mobilních aplikací
- Typy mobilního testování
- Význam testování mobilních aplikací
- Základní rozdíl mezi testováním mobilních a desktopových aplikací:
- Typy testování mobilních aplikací:
- Strategie testování mobilních aplikací
- Doporučený nástroj
- Testovací případy pro testování mobilní aplikace
- Typické činnosti a postupy při testování mobilní aplikace
- Jak testovat mobilní aplikace na platformě Android i iOS
- Základní rozdíl mezi testováním pro Android a iOS
- Klíčové faktory při testování mobilních zařízení
- Definice vlastního rozsahu testování
- Neomezujte testování
- Testování napříč platformami
- Hlídejte si velikost mobilní aplikace
- Testování scénářů aktualizace aplikace
- Osystém zařízení nemusí aplikaci podporovat
- Testování oprávnění aplikací
- Srovnání s podobnými a oblíbenými aplikacemi na trhu
- Získejte přehled o kritériu odmítnutí sestavení společnosti Apple
- Vždy buďte v první linii
- Dlouhou dobu (12-24 hodin)
- Testování výkonu vaší aplikace
- Závěr
Tutoriál č. 1: Úvod do testování mobilních aplikací
Pryč jsou doby, kdy telefon byl přístroj, který seděl v koutě a musel zvonit, aby upoutal naši pozornost, nebo počítač byl stroj, který používalo jen pár lidí – nyní jsou prodloužením naší bytosti – oknem do světa a virtuálními sluhy, kteří dělají, co se jim řekne.
Počítače byly běs a změnily způsob, jakým jsme my lidé mysleli, chovali se, učili se a existovali.
V dnešní době ovládla trh řešení pro mobilitu. Lidé nechtějí na všechno zapínat své notebooky/PC, spíše chtějí, aby vše rychle vykonávala jejich kapesní zařízení.
Mobilní řešení, která dodáváme našim klientům, by proto měla být velmi dobře otestována. Tento návod je určen těm, kteří se již testováním mobilních zařízení zabývají, nebo těm, kteří na něj v poslední době přešli. Vzhledem k tomu, že již máme mnoho tutoriálů o definicích terminologie související s mobilním testováním, budeme se zabývat přímo rozsahem tohoto tutoriálu.
Tento tutoriál bude zároveň úvodem a vaším průvodcem mobilním testováním. Tak si ho přečtěte!
Typy mobilního testování
Existují v zásadě 2 druhy testování, které probíhají na mobilních zařízeních:
#1. Testování hardwaru:
Zařízení zahrnující vnitřní procesory, vnitřní hardware, velikost obrazovky, rozlišení, prostor nebo paměť, fotoaparát, rádio, Bluetooth, WIFI atd. To se někdy označuje jako prosté „testování mobilních zařízení“.
#2. Testování softwaru nebo aplikací:
Testují se aplikace, které fungují na mobilních zařízeních, a jejich funkčnost. Nazývá se „testování mobilních aplikací“, aby se odlišilo od předchozí metody. I v případě mobilních aplikací existuje několik základních rozdílů, které je důležité pochopit:
a) Nativní aplikace: Nativní aplikace je vytvořena pro použití na platformě, jako jsou mobilní telefony a tablety.
b) Mobilní webové aplikace jsou aplikace na straně serveru, které umožňují přístup na webové stránky/y v mobilním telefonu pomocí různých prohlížečů, jako je Chrome, Firefox, připojením k mobilní síti nebo bezdrátové síti, jako je WIFI.
c) Hybridní aplikace jsou kombinací nativní aplikace a webové aplikace. Běží na zařízeních nebo offline a jsou napsány pomocí webových technologií, jako je HTML5 a CSS.
Existuje několik základních rozdílů, které je odlišují:
- Nativní aplikace mají afinitu k jedné platformě, zatímco mobilní webové aplikace mají afinitu k více platformám.
- Nativní aplikace jsou napsány v platformách jako SDK, zatímco mobilní webové aplikace jsou napsány pomocí webových technologií, jako jsou HTML, CSS, asp.net, Java, PHP.
- U nativní aplikace je nutná instalace, ale u mobilních webových aplikací není instalace nutná.
- Nativní aplikaci lze aktualizovat z obchodu Play nebo App Store, zatímco u mobilních webových aplikací jsou aktualizace centralizované.
- Mnoho nativních aplikací nevyžaduje připojení k internetu, ale u mobilních webových aplikací je to nutnost.
- Nativní aplikace pracuje rychleji ve srovnání s mobilními webovými aplikacemi.
- Nativní aplikace se instalují z obchodů s aplikacemi, jako je obchod Google play nebo obchod s aplikacemi, kdežto mobilní web jsou webové stránky a jsou přístupné pouze přes internet.
Zbytek článku bude o testování mobilních aplikací.
Význam testování mobilních aplikací
Testování aplikací na mobilních zařízeních je náročnější než testování webových aplikací na desktopu z důvodu
- Různé škály mobilních zařízení s různou velikostí obrazovky a hardwarovou konfigurací, jako je pevná klávesnice, virtuální klávesnice (dotyková obrazovka) a trackball atd.
- Široké škály mobilních zařízení, jako jsou HTC, Samsung, Apple a Nokia.
- Různých mobilních operačních systémů, jako jsou Android, Symbian, Windows, Blackberry a IOS.
- Různé verze operačního systému jako iOS 5.x, iOS 6.x, BB5.x, BB6.x atd.
- Různí operátoři mobilních sítí jako GSM a CDMA.
- Časté aktualizace – (jako Android- 4.2, 4.3, 4.4, iOS-5.x, 6.x) – s každou aktualizací se doporučuje nový cyklus testování, aby se zajistilo, že nebude ovlivněna funkčnost aplikace.
Stejně jako u každé aplikace je i testování mobilních aplikací velmi důležité, protože klientela má obvykle milionové nároky na určitý produkt – a produkt s chybami není nikdy oceněn. Často to má za následek finanční ztráty, právní problém a nenapravitelné poškození image značky.
Základní rozdíl mezi testováním mobilních a desktopových aplikací:
Několik zřejmých aspektů, které odlišují testování mobilních aplikací od testování desktopových
- Na desktopu se aplikace testuje na centrální výpočetní jednotce. Na mobilním zařízení se aplikace testuje na telefonech, jako jsou Samsung, Nokia, Apple a HTC.
- Velikost obrazovky mobilního zařízení je menší než u stolního počítače.
- Mobilní zařízení mají méně paměti než stolní počítač.
- Mobily používají síťová připojení, jako jsou 2G, 3G, 4G nebo WIFI, kdežto stolní počítače používají širokopásmové nebo vytáčené připojení.
- Automatizační nástroj používaný pro testování desktopových aplikací nemusí u mobilních aplikací fungovat.
Typy testování mobilních aplikací:
Pro řešení všech výše uvedených technických aspektů se u mobilních aplikací provádějí následující typy testování.
- Testování použitelnosti- Aby se zajistilo, že se mobilní aplikace snadno používá a poskytuje zákazníkům uspokojivý uživatelský zážitek
- Testování kompatibility- Testování aplikace v různých mobilních zařízeních, prohlížečích, velikostech obrazovky a verzích operačního systému podle požadavků.
- Testování rozhraní- Testování možností menu, tlačítek, záložek, historie, nastavení a navigačního toku aplikace.
- Testování služeb- Testování služeb aplikace online i offline.
- Testování prostředků nízké úrovně:
- Testování výkonu- Testování výkonu aplikace změnou připojení z 2G, 3G na WIFI, sdílením dokumentů, spotřebou baterie atd.
- Provozní testování- Testování zálohování a plánu obnovy při výpadku baterie nebo ztrátě dat při aktualizaci aplikace z úložiště.
- Testy instalace- Ověření aplikace instalací/odinstalací na zařízeních.
- Testování bezpečnosti- Testování aplikace s cílem ověřit, zda informační systém chrání data či nikoli.
Strategie testování mobilních aplikací
Strategie testování by měla zajistit, aby byly splněny všechny zásady kvality a výkonu. Několik tipů v této oblasti:
1) Výběr zařízení – Analyzujte trh a vyberte zařízení, která jsou široce používána. (Toto rozhodnutí většinou závisí na klientech. Klient nebo tvůrci aplikace při rozhodování o tom, jaké telefony použít k testování, zvažují faktor oblíbenosti určitých zařízení a také marketingové potřeby aplikace)
2) Emulátory – Jejich použití je v počátečních fázích vývoje velmi užitečné, protože umožňují rychlou a efektivní kontrolu aplikace. Emulátor je systém, který spouští software z jednoho prostředí do jiného prostředí, aniž by se měnil samotný software. Duplikuje funkce a funguje v reálném systému.
Typy mobilních emulátorů
- Emulátor zařízení – poskytují ho výrobci zařízení
- Emulátor prohlížeče – simuluje prostředí mobilního prohlížeče.
- Emulátor operačních systémů- Apple poskytuje emulátory pro iPhony, Microsoft pro telefony s Windows a Google pro telefony s Androidem
Doporučený nástroj
#1) Kobiton
Kobiton je cenově dostupná a vysoce flexibilní cloudová platforma pro mobilní zkušenosti, která urychluje testování a poskytování nativních, webových a hybridních aplikací pro Android i iOS pomocí reálných zařízení. Jejich nová automatizace testování bez použití skriptů pomáhá týmům bez znalostí kódování snadno vytvářet otevřené standardní skripty Appium.
=> Navštivte webové stránky Kobiton
Seznam několika bezplatných a snadno použitelných emulátorů mobilních zařízení
i. Emulátor mobilního telefonu – slouží k testování telefonů jako iPhone, Blackberry, HTC, Samsung atd.
ii. MobiReady – Pomocí něj můžeme nejen testovat webovou aplikaci, ale také kontrolovat kód.
iii. Responsivepx – Kontroluje odezvy webových stránek, vzhled a funkčnost webových stránek.
iv. Screenfly – Jedná se o přizpůsobitelný nástroj a slouží k testování webových stránek v rámci různých kategorií.
3) Po dokončení uspokojivé úrovně vývoje mobilní aplikace můžete přejít k testování na fyzických zařízeních pro testování založené na reálnějších scénářích.
4) Zvažte testování založené na cloud computingu: Cloud computing je v podstatě provozování zařízení na více systémech nebo sítích prostřednictvím internetu, kde lze aplikace testovat, aktualizovat a spravovat. Pro účely testování vytváří webové mobilní prostředí na simulátoru pro přístup k mobilní aplikaci.
Pros:
- Zálohování a obnovení – Cloud computing automaticky zálohuje data ze vzdáleného umístění, což usnadňuje obnovení a obnovení dat. A také kapacita úložiště je neomezená.
- Kloudům lze přistupovat z různých zařízení a odkudkoli.
- Cloud computing je nákladově efektivní, snadno se používá, udržuje a aktualizuje.
- Rychlé a rychlé nasazení.
- Webové rozhraní.
- Může paralelně spouštět stejný skript na několika zařízeních.
Nevýhody
- Menší kontrola – protože aplikace běží ve vzdáleném prostředí nebo v prostředí třetí strany, uživatel má omezenou kontrolu a přístup k funkcím.
- Problémy s připojením k internetu – nastavení je na internetu. Problémy se sítí ovlivňují dostupnost a fungování
- Problémy se zabezpečením a ochranou soukromí- Cloud computing je internetový computing a na internetu není nic dokonale zabezpečeno, takže šance na hacknutí dat jsou větší.
5) Automatizace vs. automatizace. Ruční testování
- Pokud aplikace obsahuje nové funkce, testujte je ručně.
- Pokud aplikace vyžaduje testování jednou nebo dvakrát, proveďte je ručně.
- Automatizujte skripty pro případy regresního testování. Pokud se regresní testy opakují, je pro ně ideální automatizované testování.
- Automatizujte skripty pro složité scénáře, které jsou při ručním provádění časově náročné.
Pro testování mobilních aplikací jsou k dispozici dva druhy automatizačních nástrojů:
Objektové nástroje pro mobilní testování – automatizace pomocí mapování prvků na obrazovce zařízení na objekty. Tento přístup je nezávislý na velikosti obrazovky a používá se hlavně pro zařízení se systémem Android.
- Eg:- Ranorex, jamo solution
Image-based mobile testing tools- vytváří automatizační skripty na základě souřadnic prvků na obrazovce.
- Eg:- Sikuli, Egg Plant, RoutineBot
6) Nezbytnou součástí mobilního testování je také konfigurace sítě. Je důležité ověřit aplikaci v různých sítích, jako jsou 2G, 3G, 4G nebo WIFI.
Testovací případy pro testování mobilní aplikace
Kromě testovacích případů založených na funkčnosti vyžaduje testování mobilní aplikace speciální testovací případy, které by měly pokrývat následující scénáře.
- Využití baterie – je důležité sledovat spotřebu baterie při běhu aplikace na mobilních zařízeních.
- Rychlost aplikace – doba odezvy na různých zařízeních, s různými parametry paměti, s různými typy sítí atd.
- Datové požadavky – pro instalaci i pro ověření, zda ji uživatel s omezeným datovým tarifem bude moci stáhnout.
- Požadavky na paměť – opět pro stažení, instalaci a spuštění
- Funkčnost aplikace – ujistěte se, že aplikace nepadá kvůli výpadku sítě nebo něčemu jinému.
Stáhněte si několik ukázkových testovacích případů pro testování mobilních aplikací:
=> Stáhněte si ukázkové testovací případy mobilní aplikace
Typické činnosti a postupy při testování mobilní aplikace
Rozsah testování závisí na počtu požadavků, které je třeba ověřit, nebo na rozsahu změn provedených v aplikaci. Pokud je změn málo, postačí kolo testování správnosti. V případě větších a/nebo složitých změn se doporučuje úplná regrese.
Příklad projektu testování aplikace: ILL (International Learn Lab) je aplikace určená pro pomoc administrátorům, vydavatelům při vytváření webových stránek ve spolupráci. Pomocí webového prohlížeče si instruktoři vybírají ze sady funkcí a vytvářejí třídu, která splňuje jejich požadavky.
Postup testování mobilních zařízení:
Krok č. 1. Testování mobilních zařízení. Určete typy testování: Jelikož je aplikace ILL použitelná pro prohlížeče, je povinné otestovat tuto aplikaci ve všech podporovaných prohlížečích pomocí různých mobilních zařízení. Musíme provést testování použitelnosti, funkčnosti a kompatibility na různých prohlížečích s kombinací manuálních a automatických testovacích případů.
Krok #2: Testování použitelnosti, funkčnosti a kompatibility na různých prohlížečích. Manuální a automatizované testování: Metodika použitá pro tento projekt je agilní s iterací v délce dvou týdnů. Každé dva týdny dev. tým vydá nové sestavení pro testovací tým a testovací tým spustí své testovací případy v prostředí QA. Automatizovaný tým vytvoří skripty pro sadu základních funkcí a spustí skripty, které pomohou určit, zda je nové sestavení dostatečně stabilní pro testování. Manuální testovací tým otestuje novou funkcionalitu.
JIRA se používá pro psaní akceptačních kritérií; udržování testovacích případů a zaznamenávání /opětovné ověřování závad. Jakmile iterace skončí, koná se schůzka k plánování iterace, kde dev. Tým, vlastník produktu, obchodní analytik a tým QA diskutují o tom, co se povedlo a co je třeba zlepšit.
Krok #3. Beta testování: Jakmile tým QA dokončí regresní testování, sestavení se přesune do UAT. Uživatelské akceptační testování provádí klient. Znovu ověří všechny chyby, aby se ujistil, že každá chyba byla opravena a aplikace funguje podle očekávání ve všech schválených prohlížečích.
Krok #4. Testování výkonu: Tým pro testování výkonnosti testuje výkonnost webové aplikace pomocí skriptů JMeter a při různém zatížení aplikace.
Krok #5. Testování prohlížeče: Webová aplikace se testuje ve více prohlížečích – jak pomocí různých simulačních nástrojů, tak fyzicky pomocí skutečných mobilních zařízení.
Krok #6. Plán spuštění: Po každém 4. týdnu se testování přesune do staging, kde se provede poslední kolo end to end testování na těchto zařízeních, aby se zajistilo, že je produkt připraven k produkci. A pak se přejde do ostrého provozu!“
*****************************************
Jak testovat mobilní aplikace na platformě Android i iOS
Pro testery, kteří testují své aplikace na platformě iOS i Android, je velmi důležité znát rozdíly mezi oběma platformami. iOS a Android mají spoustu rozdílů w.r.t co do vzhledu, zobrazení aplikace, standardů kódování, výkonu atd.
Základní rozdíl mezi testováním pro Android a iOS
Možná jste prošli všechny návody, zde jsem uvedl několik hlavních rozdílů, které vám zase pomohou v rámci testování:
#1) Protože máme na trhu spoustu zařízení se systémem Android a všechna mají různá rozlišení a velikosti obrazovky, proto je to jeden z hlavních rozdílů.
Například velikost Samsungu S2 je ve srovnání s Nexusem 6 příliš malá. Existuje vysoká pravděpodobnost, že se rozložení a design vaší aplikace na jednom ze zařízení zkreslí. Pravděpodobnost u iOS je nízká, protože na trhu je k dispozici pouze nepočítaně zařízení a z nich má mnoho telefonů podobné rozlišení.
Například než vznikl iPhone 6 a vyšší, měly všechny starší verze pouze podobnou velikost.
#2) Příkladem pro potvrzení výše uvedeného bodu je, že v systému Android musí vývojáři používat obrázky 1x,2x,3x,4x a 5x, aby podporovali rozlišení obrázků pro všechna zařízení, zatímco iOS používá pouze 1x,2x a 3x. Zodpovědností testera se však stává zajistit, aby se obrázky a další prvky uživatelského rozhraní zobrazovaly správně na všech zařízeních.
Pro pochopení konceptu rozlišení obrázků se můžete podívat na níže uvedený diagram:
#3) Vzhledem k tomu, že máme trh zaplavený zařízeními se systémem Android, musí být kód napsán takovým způsobem, aby výkon zůstal stabilní. Je tedy dost pravděpodobné, že se vaše aplikace může na zařízeních nižší třídy chovat pomalu.
#4) Dalším problémem systému Android je, že aktualizace softwaru nejsou dostupné pro všechna zařízení najednou. Výrobci zařízení rozhodují o tom, kdy budou svá zařízení aktualizovat. Stává se velmi obtížným úkolem testovat vše jak s novým, tak se starým operačním systémem.
Pro vývojáře se také stává těžkopádným úkolem upravovat svůj kód tak, aby podporoval obě verze.
Například když přišel Android 6.0, došlo k zásadní změně, protože tento operační systém začal podporovat oprávnění na úrovni aplikací. Pro další upřesnění, uživatel mohl měnit oprávnění (poloha, kontakty) také na úrovni aplikace.
Nyní testovacímu týmu náleží zodpovědnost zajistit, aby se při spuštění aplikace na Androidu 6.0 a vyšším zobrazovala obrazovka oprávnění a na nižších verzích se obrazovka oprávnění nezobrazovala.
#5) Z hlediska testování se testování předprodukčního sestavení (tj. beta verze) na obou platformách liší. V systému Android, pokud je uživatel přidán do seznamu uživatelů beta verze, pak může vidět aktualizované sestavení beta verze v obchodě Play pouze tehdy, pokud je přihlášen do obchodu Play pod stejným e-mailovým ID, které je přidáno jako uživatel beta verze.
Klíčové faktory při testování mobilních zařízení
Poslední dva roky pracuji v oblasti testování mobilních zařízení na platformě iOS i Android a všechny klíčové body uvedené níže v tomto návodu vycházejí z mých osobních zkušeností a některé jsem získal na základě problémů, které se vyskytly v projektu.
Definice vlastního rozsahu testování
Každý má svůj vlastní styl testování. Někteří testeři se soustředí jen na to, co vidí očima, a ostatní se vášnivě zajímají o vše, co funguje v zákulisí jakékoli mobilní aplikace.
Pokud jste iOS/Android tester, doporučil bych vám, abyste se seznámili alespoň s některými běžnými omezeními/základními funkcemi Androidu nebo iOS, protože to vždy přidává hodnotu našemu stylu testování. Vím, že bez uvedení příkladů se věci těžko chápou.
Níže je uvedeno několik příkladů:
- Na zařízeních se systémem Android, která jsou nižší než verze 6.0.1, nemůžeme na úrovni aplikace měnit oprávnění, jako je fotoaparát, úložiště atd.
- Pro systém iOS nižší než verze 10.0 neexistoval call kit. Jen stručně a jednoduše: Call Kit je používán aplikací pro volání a zobrazuje zobrazení přes celou obrazovku, když uživatel přijímá hovor z aplikací pro volání, jako je WhatsApp, Skype atd. Zatímco u verzí iOS pod 10.0 se nám tyto hovory zobrazují jako banner s upozorněním.
- Mnozí z vás možná narazili na problémy v aplikaci Paytm, kdy vás aplikace nepřesměrovává na platební stránku banky v případě, že si chcete přidat peníze do peněženky. Domníváme se, že výše uvedený problém se týká naší banky nebo serveru Paytm, ale je to jen tím, že náš AndroidSystemWebView není aktualizován. Trocha znalostí o programování se vám vždy hodí a můžete se o ně podělit se svým týmem.
- Zjednodušeně řečeno, kdykoli se v aplikaci otevře nějaká webová stránka, pak by se měl aktualizovat AndroidSystemWebView.
Neomezujte testování
Testování by se nemělo omezovat pouze na zkoumání mobilní aplikace a zaznamenávání chyb. Jako QA bychom měli mít přehled o všech požadavcích, které dopadají na náš server, a o odpovědích, které z něj dostáváme.
Nakonfigurujte Putty pro zobrazení logů nebo ověřte logiku sumo pro logy v závislosti na tom, co se ve vašem projektu používá. Pomůže vám to nejen v poznání End-to-End toku aplikace, ale také z vás udělá lepšího testera, protože nyní získáte více nápadů a scénářů.
Důvod: Nic nepřichází na svět bezdůvodně. Každé tvrzení by mělo mít opodstatněný důvod. Důvodem analýzy protokolů je to, že v protokolech je pozorováno mnoho výjimek, které však nevykazují žádný dopad na uživatelské rozhraní, tudíž si jich nevšimneme.
Měli bychom je tedy ignorovat?
Ne, neměli bychom. Nemá to žádný dopad na uživatelské rozhraní, ale může to být futuristická záležitost. Potenciálně bychom se mohli dočkat pádu naší aplikace, pokud se budou tyto druhy výjimek plíživě objevovat. Jak jsme se zmínili o pádu aplikace v minulé větě, vede to QA k tomu, aby měl přístup k crashlytice projektu.
Crashlytika je nástroj, kde se pády zaznamenávají spolu s časem a modelem zařízení.
Teď je tu otázka nad tím, že pokud tester viděl pád aplikace, tak proč se musí starat o crashlytiku?
Odpověď na tuto otázku je docela zajímavá. Existují pády, které nemusí být viditelné v uživatelském rozhraní, ale jsou zaznamenány v crashlytics. Může to být pád mimo paměť nebo nějaké fatální výjimky, které mohou později ovlivnit výkon.
Testování napříč platformami
Testování interakce napříč platformami je velmi důležité.
Uveďme jednoduchý příklad, řekněme, že pracujete na chatovací aplikaci, jako je WhatsApp, která podporuje posílání obrázků a videí, a aplikace je postavena na platformách iOS i Android (vývoj může, ale nemusí probíhat synchronně)
Zajistěte testování komunikace Androidu a iOS, důvodem je, že je iOS používá „Objective C“, zatímco programování Androidu je založeno na Javě a vzhledem k tomu, že jsou obě postaveny na různých platformách, je někdy třeba provést dodatečné opravy na straně aplikace, aby se rozpoznaly řetězce pocházející z různých jazykových platforem.
Hlídejte si velikost mobilní aplikace
Další důležitá rada pro testery mobilních aplikací – Po každém vydání aplikace kontrolujte její velikost.
Měli bychom zajistit, aby velikost aplikace nedosáhla bodu, kdy si ani my jako koncový uživatel nebudeme chtít tuto aplikaci stáhnout kvůli její velké velikosti.
Testování scénářů aktualizace aplikace
Pro mobilní testery je testování aktualizace aplikace velmi důležité. Ujistěte se, že aplikace při upgradu nespadne, protože tým vývojářů mohl provést chybné přiřazení čísla verze.
Stejně důležité je také zachování dat, protože v jakýchkoli předvolbách, které uživatel uložil v předchozí verzi, by měly být při upgradu aplikace zachovány.
Například uživatel mohl mít uložené údaje o své bankovní kartě v aplikacích jako PayTm atd.
Osystém zařízení nemusí aplikaci podporovat
Zní to zajímavě?
Ano, mnoho zařízení nemusí vaši aplikaci podporovat. Mnozí z vás jistě vědí, že dodavatelé píší své vlastní wrappery nad US a může se stát, že nějaký SQL dotaz vaší aplikace není kompatibilní s daným zařízením, a proto to vyhodí výjimku a může to mít za následek, že se aplikace na daném telefonu ani nespustí.
Pointa nad tím je – Zkuste používat svou aplikaci na vlastních zařízeních, kromě těch, které používáte v kanceláři. Je docela možné, že se u vaší aplikace objeví nějaké problémy.
Testování oprávnění aplikací
Dalším bodem na seznamu je testování oprávnění mobilních aplikací. Téměř každá druhá aplikace žádá své uživatele o přístup ke kontaktům, fotoaparátu, galerii, poloze telefonu atd. Viděl jsem několik testerů, kteří udělali chybu tím, že netestovali správné kombinace těchto oprávnění.
Vzpomínám si na příklad v reálném čase, kdy jsme testovali chatovací aplikaci, která měla všechny funkce sdílení obrázků a zvukových souborů. Oprávnění pro úložiště bylo nastaveno na NE.
Nyní, když by uživatel kliknul na možnost Fotoaparát, nikdy by se neotevřel, dokud by oprávnění pro úložiště nebylo nastaveno na ANO. Tento scénář byl ignorován, protože systém Android Marshmallow měl tuto funkci, že pokud je oprávnění pro úložiště nastaveno na hodnotu NE, fotoaparát nelze pro danou aplikaci použít.
Obsah sahá dále, než jsme uvedli ve výše uvedeném odstavci. Měli bychom se ujistit, že aplikace nežádá o žádná oprávnění, která se nepoužívají.
Každý koncový uživatel znalý softwarového odvětví nesmí stáhnout aplikaci, ve které je požadováno příliš mnoho oprávnění. Pokud jste z aplikace odstranili nějakou funkci, pak se ujistěte, že jste pro ni odstranili obrazovku s oprávněním.
Srovnání s podobnými a oblíbenými aplikacemi na trhu
Morální závěr – Pokud jste někdy na pochybách, pak to prostě sami neuzavírejte. Srovnání s jinými podobnými aplikacemi na stejné platformě může posílit váš argument, zda testovaná funkce bude fungovat, nebo ne.
Získejte přehled o kritériu odmítnutí sestavení společnosti Apple
Naposledy se většina z vás možná setkala se situací, kdy vaše sestavení společnost Apple odmítla. Vím, že toto téma nebude zajímat větší část čtenářů, ale vždy je dobré znát zásady odmítnutí sestavení společnosti Apple.
Jako pro testery je pro nás obtížné zajistit technické aspekty, ale přesto existuje určité kritérium odmítnutí, na které mohou testeři dbát.
Další informace o tom najdete zde.
Vždy buďte v první linii
Jako tester nenechte věci přejít na váš dvůr od vývojového týmu/manažerů. Pokud jste zapálení pro testování, pak „Always be on Front Foot“. Snažte se zapojit do činností, které probíhají mnohem dříve, než se kód dostane do vašeho kbelíku k testování.
Nejdůležitější je, abyste se neustále dívali do JIRA, QC, MTM nebo podle toho, co se ve vašem projektu používá, na všechny nejnovější informace o tiketech od klientů a business analytika. Také buďte připraveni sdílet své názory, pokud budete požadovat úpravy. To platí pro všechny testery, kteří pracují na různých doménách a platformách.
Pokud necítíme produkt jako svůj vlastní, nikdy bychom neměli dávat návrhy na nová vylepšení nebo změny stávajících funkcí.
Dlouhou dobu (12-24 hodin)
Vím, že to zní divně, ale v pozadí je spousta logiky, které všichni nerozumíme.
Dělím se o to, protože jsem viděl, že aplikace po spuštění spadla, řekněme asi po 14 hodinách ze stavu na pozadí. Důvodem může být cokoli v závislosti na tom, jak to vývojáři nakódovali.
Podělím se o příklad v reálném čase:
V mém případě za to mohla expirace tokenu. U jedné z chatovacích aplikací by se při spuštění po 12-14 hodinách zasekla na připojovacím banneru a nikdy by se nepřipojila, dokud by nebyla zabita a znovu spuštěna. Takové věci je velmi obtížné zachytit a svým způsobem to činí mobilní testování náročnějším a kreativnějším.
Testování výkonu vaší aplikace
V mobilním světě má výkon vaší aplikace vliv na to, do jaké míry se vaše aplikace prosadí po celém světě. Jako testovacímu týmu se stává příliš důležitým zkontrolovat odezvu vaší aplikace a hlavně to, jak funguje, když ji dohromady používá velké množství uživatelů.
Příklad:
Mluvme o aplikaci PayTm.
Všichni jste jistě v aplikaci PayTm klikli na možnost PŘIDAT PENÍZE, která následně zobrazí zůstatek, který máte v peněžence. Pokud se zamyslíme nad tím, co se děje v zákulisí, pak se jedná o požadavek, který jde na server s PayTm UserID a server pošle zpět odpověď se zůstatkem na vašem účtu.
Výše uvedený případ je pouze tehdy, když jeden uživatel zasáhl server. Musíme zajistit, aby i když na server narazí 1000 uživatelů, měli dostat zpět odpověď dobře a včas, protože použitelnost pro koncového uživatele je naším hlavním cílem.
Závěr
Na závěr tohoto tutoriálu bych znovu zopakoval, že testování mobilních zařízení se na začátku zdá být velmi snadné, ale jak se do něj budete nořit, pochopíte, že není snadné zajistit, aby cokoli vyvinutého běželo bez problémů na tisících zařízeních po celém světě.
Většinou byste viděli aplikace, které jsou podporovány pouze na nejnovějších a několika posledních verzích operačních systémů. Povinností testerů se však stává zajistit, aby nevynechali žádný scénář. Je mnoho dalších bodů, které je třeba vzít v úvahu, ale nezmínil jsem ty, které již byly iterovány v jiných tutoriálech.
Scénáře jako spotřeba baterie, testování přerušení, testování v různých sítích (3G, Wi-Fi), testování při přepínání sítí, opičí testování mobilních aplikací atd. jsou užitečné, pokud jde o mobilní testování.
Přístup testerů má velký význam, pokud jde o reálné testovací prostředí. Dokud a pokud nemáte svou práci rádi, nebudete se obtěžovat dělat věci, které jsou zmíněny v návodu.
Pracuji v tomto oboru již asi 6 let a jsem si velmi dobře vědom toho, že úkoly jsou občas monotónní, ale existuje mnoho dalších věcí, které můžeme udělat sami, abychom si tyto monotónní úkoly trochu zpestřili.
Navržení správné strategie testování, výběr správných mobilních simulátorů, zařízení a nástrojů pro testování mobilních aplikací nám může zajistit 100% pokrytí testů a pomoci nám zahrnout do našich testovacích sad testy založené na bezpečnosti, použitelnosti, výkonnosti, funkčnosti a kompatibilitě.
No a toto byla naše snaha splnit četné žádosti našich čtenářů o průvodce testováním mobilních aplikací.
Autoři:
V příštím článku se budeme více věnovat testování aplikací pro iOS.
Naposledy aktualizováno: Únor 18, 2021
.