Výukový program pro testování aplikací pro iOS: Ruční & Automatizace

Obsah:

Anonim

Co je testování aplikací pro iOS?

Testování aplikací pro iOS je testovací proces, při kterém se aplikace pro iOS testuje na skutečných zařízeních Apple, aby se zkontrolovalo, zda funguje podle očekávání nebo ne pro konkrétní akce uživatele, jako je čas instalace, uživatelské rozhraní, uživatelské prostředí, vzhled, chování, funkce, doba načítání, výkon, výpis App Store, podpora verzí OS atd.

Proč testování aplikací pro iOS?

Testování aplikací pro iOS je povinné, protože iOS je platforma společnosti Apple pro mobilní aplikace, která byla vydána 29. června 2007. Na rozdíl od Androidu Apple nelicencová iOS pro instalaci na jiný hardware než Apple. Aplikace pro iOS a iOS lze instalovat pouze na zařízení Apple, proto musí být vaše aplikace pro iOS kompatibilní s verzemi iOS a zařízeními iOS.

Toto je běžná otázka, když vývojář vytvoří aplikaci pro iOS.

Nezáleží na tom, kolik času investujete do návrhu a implementace, chyby jsou nevyhnutelné a objeví se chyby. V aplikaci pro iOS jsou některé běžné chyby. Jak je znázorněno na následujícím obrázku.

  1. Selhání aplikace

Jedním z nejvíce frustrujících problémů při používání zařízení Apple je, že aplikace může během provádění často selhat. Mnohokrát dojde k chybě aplikace, protože v aplikacích dochází k některým chybám nebo úniku paměti.

  1. Nekompatibilita aplikace

Vaše aplikace pro iOS může běžet perfektně na aktuální verzi iOS, ale pokud je iOS upgradován, nemusí fungovat kvůli problémům s nekompatibilitou.

  1. Zranitelnost zabezpečení

Zranitelnost zabezpečení v systému iOS umožňuje hackerům zaútočit na vaše zařízení iOS a ukrást vaše soukromé informace. Doposud byly v různých verzích iOS objeveny závažné chyby zabezpečení iPhone.

  1. Úniky paměti

Úniky paměti jsou bloky přidělené paměti, které program již nepoužívá. Úniky paměti způsobují zhroucení vaší aplikace pro iOS. Jsou to chyby a měly by být vždy opraveny.

V tomto výukovém programu se naučíte

  • Proč iOS testování?
  • Testování MindMap pro iOS
  • Kontrolní seznam pro testování iOS
  • Strategie testování iOS
  • Automatizované testování
    • Testování jednotek pomocí OCUnit
    • Testování uživatelského rozhraní s UIAutomation
  • Ruční testování
    • Průzkumné testování
    • Testování uživatelů
      • Konceptové testování
      • Testování použitelnosti
      • Beta testování
      • A / B testování
  • Osvědčené postupy pro testování iOS
  • MYTHS o testování iOS

Testování MindMap pro iOS

Jak je znázorněno na výše uvedeném obrázku, iOS Testing MindMap zobrazuje všechny položky, které by měl tester vzít v úvahu při provádění testování na iOS.

Kontrolní seznam pro testování aplikací pro iOS

Tento kontrolní seznam je speciálně navržen pro testování vlastností mobilních aplikací pro iOS. Je zřejmé, že testuje pouze obecné vlastnosti aplikace, nikoli její funkčnost.

  • Zkontrolujte čas instalace aplikace do zařízení. Ujistěte se, že je aplikace nainstalována v přijatelném čase.
  • Jakmile je aplikace nainstalována, zkontrolujte, zda má aplikace ikonu a název aplikace. Také se ujistěte, že jak ikona, tak název jsou samy vysvětlující a odrážejí základní záměr aplikace.
  • Spusťte aplikaci a zkontrolujte, zda je zobrazena úvodní obrazovka.
  • Zkontrolujte časový limit úvodní obrazovky a čas potřebný k načtení domovské obrazovky. Domovská obrazovka aplikace by se měla načíst v přijatelném čase. Pokud se úvodní obrazovka načte jen déle, pak existuje větší šance pro uživatele ukončit nebo dokonce odinstalovat samotnou aplikaci. Zkontrolujte také, jak je obsah načten na domovské obrazovce.
  • Hlavní funkce aplikace by měla být zřejmá okamžitě. Měl by mluvit sám za sebe.
  • Zkontrolujte, zda aplikace podporuje orientaci na šířku i na výšku. Pokud ano, zkontrolujte aplikaci v obou směrech. Uživatelské rozhraní aplikace by mělo být odpovídajícím způsobem nastaveno.
  • Bez připojení k internetu spusťte aplikaci. Ujistěte se, že se aplikace chová tak, jak bylo navrženo / požadováno. Existuje šance, že aplikace může při spuštění selhat nebo může pouze zobrazit prázdnou obrazovku.
  • Pokud aplikace používá služby určování polohy, zkontrolujte, zda se zobrazí upozornění na povolení polohy. Toto upozornění by mělo být uživateli zobrazeno pouze jednou.
  • Pokud aplikace odesílá oznámení push, zkontrolujte, zda se zobrazí upozornění upozornění na oznámení push. Tato výstraha by měla být uživateli vyzvána pouze jednou.
  • Spusťte aplikaci, ukončete ji a znovu spusťte. Zkontrolujte, zda se aplikace chová tak, jak bylo navrženo / požadováno
  • Zavřete aplikaci klepnutím na tlačítko Domů na zařízení a aplikaci znovu otevřete. Zkontrolujte, zda aplikace funguje tak, jak je navrženo / požadováno.
  • Po instalaci zkontrolujte, zda je aplikace uvedena v aplikaci nastavení iPhone.
  • Po zveřejnění aplikace zkontrolujte, zda ji najdete v „App Store.“ Pro aplikaci bude podporována verze operačního systému. Ujistěte se tedy, že aplikaci najdete v podporovaném zařízení s operačním systémem „App Store“. Aplikace by také neměla být uvedena v nepodporovaném zařízení s verzí OS v „App Store“.
  • Zkontrolujte, zda aplikace přejde do režimu spánku, když běží na pozadí, aby se zabránilo vybití baterie.
  • Pokud je výkon aplikace pomalý nebo kdykoli se načítá obsah, zkontrolujte, zda existuje ikona stavu postupu („Načítání…“), nejlépe s konkrétní zprávou.
  • Vyhledejte aplikaci s jejím názvem na liště pro vyhledávání zařízení. Zkontrolujte, zda je aplikace uvedena
  • Zkontrolujte, zda se vzhled tlačítek, která provádějí standardní akce, v aplikaci nezmění (například: aktualizace, uspořádání, koš, odpověď, zpět atd.)
  • Zkontrolujte, zda se standardní tlačítka nepoužívají pro jiné funkce, než pro které se běžně používají

Strategie testování iOS

Níže uvedený obrázek představuje některé běžné typy testovací strategie iOS.

Automatizované testování

Automatizované testování je největší výhodou testování iOS. Umožňuje vám rychle zjistit chyby a problémy s výkonem. Výhody automatizovaného testování, jak je uvedeno níže:

  • Automatizované testování může běžet na více zařízeních, což šetří váš čas
  • Automatizované testování může cílit na SDK. Můžete spustit test na různých verzích SDK
  • Automatizované testování zvyšuje vaši produktivitu testování a šetří náklady na vývoj softwaru
  • Existuje mnoho open source testovacích rozhraní podporujících automatizované testování na iOS

Testování jednotek pomocí OCUnit

Když byla vydána původní sada iOS SDK, chyběly jí možnosti testování jednotky. Apple tedy přinesl zpět testovací řešení jednotky OCUnit v iOS SDK verze 2.2.

OCUnit je testovací rámec pro C-Objective v systému Mac OS. Největší výhodou rámce OCUnit je těsná integrace do vývojového prostředí XCode, jak je uvedeno níže.

Některé z výhod OCUnit jsou uvedeny na následujícím obrázku.

Testování uživatelského rozhraní s UIAutomation

UI Automation je knihovna JavaScript poskytovaná společností Apple Inc, kterou lze použít k provedení automatizovaného testu na reálných zařízeních a na simulátoru iOS. Tento rámec je přidán do iOS SDK4.0. Pomocí automatizace uživatelského rozhraní můžete automatizovat testování aplikace nejen na simulátoru, ale také na skutečném zařízení.

UIAutomation vám přináší tyto výhody:

  • Snižte úsilí při ručním testování
  • K provedení všech testů využijte méně paměti
  • Zjednodušte svůj postup testování uživatelského rozhraní (stačí stisknout jedno nebo tři tlačítka a spustit plné své testovací sady)

Nástroj UIAutomation pracuje ze skriptů napsaných v JavaScriptu. Simuluje uživatelské události v cílové aplikaci pro iOS.

UIAutomation Cons vs. Pros

Profesionálové Nevýhody
1. Dobrá podpora pro gesta a rotaci Není to open source, menší podpora ze strany vývojáře
2. Může spouštět testy UIAutomation na zařízení, nikoli na jediném simulátoru. Nelze se velmi dobře integrovat s jinými nástroji
3. Vyvinutý JavaScriptem, je to populární programovací jazyk.

Výše uvedený obrázek představuje některé běžné třídy v rámci UIAutomation.

  • Třída UIAElement je super třída pro všechny prvky uživatelského rozhraní v kontextu automatizace
  • Třída UIATarget představuje prvky uživatelského rozhraní na vysoké úrovni testovaného systému
  • Třída UIALogger poskytuje informace o testu a chybě týkající se funkce načítání
  • Třída UIAActivityView umožňuje přístup a kontrolu nad zobrazeními aktivit ve vaší aplikaci.
  • Třída UIAActionSheet umožňuje přístup k akčním listům v rámci vaší aplikace a jejich kontrolu.
  • Akce události uživatele
    • Třída UISlider
    • Třída UIAButton
    • Třída UIAKey
    • Třída UIAKeyboard

Další automatizované testovací rámce

  • MonkeyTalk: Nástroj pro automatické testování aplikací pro iOS, Android, HTML5 a Adobe. Jedná se o integrované prostředí pro správu a spouštění testovacích sad
  • Frank: Automated Acceptance Test framework for iPhone and iPad
  • KIF: je testovací rámec integrace iOS . Umožňuje snadnou automatizaci aplikací pro iOS využitím atributů přístupnosti, které OS zpřístupňuje osobám se zrakovým postižením.

Ruční testování

Průzkumné testování

Jedná se o testování bez formálního plánu zkoušek. Průzkumné testování je nízkonákladová metoda testování, ale ve vaší aplikaci pro iOS mohou chybět potenciální chyby.

Průzkumné testování nevýhody vs. profesionálové

Profesionálové Nevýhody
1. Je zapotřebí méně přípravy, včas odhalte závažné chyby. Vyžaduje vysokou dovednost testera
2. Nepotřebujete testovací plán k urychlení detekce chyb. Pokrytí testu je nízké. Nezaručuje, že jsou otestovány všechny vaše požadavky.
3. Většina chyb je objevena brzy nějakým průzkumným testováním Nedostatek testovací dokumentace

Testování uživatelů

Uživatelské testování je typ manuálního testování na iOS. Účelem tohoto testování je vytvářet lepší aplikace, nejen aplikace bez chyb . Níže uvedený obrázek ukazuje čtyři typy testování uživatelů

Koncept testování

Před uvedením na trh ohodnoťte reakci uživatele na nápad aplikace. Postupy konceptuálního testování na iOS jsou popsány níže

Testování použitelnosti

Test použitelnosti je test, jak snadné je použití vaší aplikace pro iOS. V testování iOS lze test použitelnosti zaznamenat k zapamatování nebo ke sdílení s ostatními.

V systému iOS existují některé nástroje podporující testování použitelnosti.

Magitest, jednoduché testování použitelnosti iOS pro weby a aplikace.

Delight.io, tento nástroj dokáže zachytit skutečnou interakci uživatelů s vašimi aplikacemi pro iOS.

Beta testování

Beta Testování je testování integrace se skutečnými daty, abychom získali konečnou zpětnou vazbu od uživatelů. Chcete-li distribuovat své aplikace pro testování beta verze, musíte postupovat podle níže uvedených kroků.

- Předběžná podmínka : Pokud testujete beta verzi konečného kandidáta na vydání, nezapomeňte aplikaci před distribucí testerům ověřit.

- Najít tester prostřednictvím služby : sbíráte ID zařízení od testerů a přidáváte je do Centra členů

- Vytvořte distribuci ad hoc : Distribuce Ad Hoc umožňuje testeru spouštět vaši aplikaci na svém zařízení bez potřeby Xcode. Tento krok zahrnuje 2 dílčí kroky

  • Vytvořte distribuční certifikáty
  • Vytvořte profily zajišťování Ad-hoc

- Vyžádejte si zpětnou vazbu od testera: Testování chování testeru a zasílání hlášení o chybách. Po vydání aplikace můžete získat přehledy z iTunes Connect.

A / B testování

A / B testování je jedním z nejúčinnějších způsobů, jak vyhodnotit účinnost vaší aplikace pro iOS . Využívá randomizované experimenty se dvěma zařízeními, A a B.

A / B testování zahrnuje tři hlavní kroky

  • Nakonfigurujte test : Připravené 2 verze vaší aplikace pro iOS (A a B) a testovací metrika
  • Test : Test 2 výše uvedených verzí aplikací pro iOS na zařízeních současně.
  • Analyzujte : Změřte a vyberte lepší verzi k vydání

Následující nástroje podporují testování A / B v systému iOS.

  • Vznik: A / B testování pro iOS i Android. Může být integrován do vaší aplikace pro iOS a urychlit proces testování.

Osvědčené postupy pro testování A / B

  • Definujte cíl svého testu. Jakýkoli test je bez cíle k ničemu.
  • Sledujte, jak koncoví uživatelé používají vaši aplikaci poprvé
  • Spusťte jeden test pouze na aktualizaci. Šetří váš čas při testování
  • Pozorně sledujte svůj test. Sledováním testu se můžete naučit zážitky z testu.

Osvědčené postupy pro testování iOS

Tady je několik tipů, které byste měli vědět při organizaci testování vaší aplikace pro iOS

  1. Otestujte aplikaci na skutečném zařízení a získejte skutečný výkon
  2. Vylepšete své testovací metody, protože tradiční testovací metody již nestačí k pokrytí všech testů na testování iOS
  3. Pomocí protokolu konzoly otestujte aplikaci iOS. Jedná se o funkci iOS, která obsahuje informace ze všech aplikací v zařízení.
  4. Dokumentujte chyby aplikací pomocí vestavěného krátkého příkazu na obrazovce . Pomáhá vývojáři pochopit, jak k chybám dochází.
  5. Crash reporting je užitečný nástroj při testování vaší aplikace. Mohou detekovat pády a zaznamenávat podrobnosti, abyste mohli chyby snadno prozkoumat.

MYTHS o testování iOS

Tato část zkoumá několik populárních mýtů a realit testování iOS

Testovací aplikace pro iOS a Android jsou totéž.

iOS a Android jsou dvě platformy vyvinuté společnostmi Apple Inc a Google. Jsou úplně jiní. Testovací prostředí atd., Testovací rámce, programovací jazyky.

Testovací aplikace na simulátoru iOS je dost.

Simulátor iOS není dostatečně silný na testování aplikace. Protože iOS Simulator má některá omezení:

  • Hardwarová omezení (kamera, vstup mikrofonu, senzor)
  • Může se zdát, že uživatelské rozhraní vaší aplikace běží rychleji a plynuleji než v zařízení
  • Omezení API
  • Některá rozhraní nejsou podporována (Media Player, Store Kit, Message UI…)

Každý si moje aplikace stáhne z obchodu s aplikacemi, protože má mnoho funkcí

Čím více funkcí má vaše aplikace, tím více chyb byste mohli získat. Žádný uživatel si vaši aplikaci nestáhne, pokud má stále mnoho vad.