Test av mobila lösningar i molnet Magnus Nilsson Lemontree
Budskap Kombinationen av fysiska enheter och operativsystem gör test av mobila applikationer snabbt blir väldigt komplext. Presentationen visar hur detta kan hanteras för en testorganisation och hur testautomation kan införas som hanterar olika beteenden beroende på plattform, iOS vs Android.
Utmaningar En applikation Hundratals kombinationer av plattform och OS Bankapplikation En applikation Hundratals kombinationer av plattform och OS
Lösningar Testa urval av telefoner X Olika OS, samma enhet Android 4.0.3 Ice Cream S. Versions/Models iOS 4.x iOS 5.x iOS 6.x iPhone4 iPhone5 i9300 Galaxy S III Android 2.1 Eclair Android 2.3 Gingerbread Android 3.2 Honeycomb Android 4.1 Jelly Bean Android 4.2 Jelly Bean Android 1.6 Donut HTC One X HTC Hero … Olika OS, samma enhet X Samma OS, olika enheter
Lösningar Testa ett urval av telefoner Manuell teststrategi Enheter Hur kommer test av användarupplevelsen att ske i olika typer av handhållna enheter, att få samma upplevelse och känsla oberoende av plattform? Lösningar Testa ett urval av telefoner Manuell teststrategi Enheter Emulatorer Nätverk Wi-Fi Installation Fjärrstyrning Molnet
Lösningar – Molnet Lokalt Vilka fördelar/risker finns det med att ha mobiltelefoner på plats i huset respektive i molnet? Lösningar – Molnet Lokalt 2013-02-21 10.00-12.00 Book Bokning 1. Boka enheten Värd- server 2. Använd enheten på skrivbordet Alla enheter är tillgängliga i ett publikt eller privat moln via en värdserver
Lösningar Testa ett urval av telefoner Manuell teststrategi Vilka utmaningar ser ni att automatisera test av mobilapplikationer? Lösningar Testa ett urval av telefoner Manuell teststrategi Automatisk exekvering Fjärrstyrda enheter Molnet Android tester
Automatisk exekvering - Identifiering 14 Instrumentera applikationer med källkod (native) Applikationskontroll Känner igen nativa ID iOS: bygger app med bibliotek Android: laddar applikationspaket (.apk) Jailbroken iOS Full kontroll Installerar en agent som laddar bibliotek i applikationen
Identifiering Nativ identifiering Källkodsobjekt Text OCR (Object Character Recognition) Textigenkänning Web DOM (Document Object Model) Identifierar och kontrollerar webbelement Visuellt Använder bilder och positioner Kombination Nativ, OCR, DOM samt bilder kan användas för att identifiera ett och samma objekt. Logga in Användarnamn BankID 1 2 3 6 5 4 7 8 9 Välj Kod BankID Kod
Identifiering – applikation/OS Bild Text Webb Nativ Nativ X X X Webb X X X Hybrid X X X X Visuell identifiering enkel Textidentifiering kan oftast användas direkt på flera OS För nativa objekt måste både Android och iOS-objekt lagras. Även möjlighet att använda beskrivande objekt, dessa lagras inte. Dela upp objektlagringen i flera skilda behållare separat för iOS och Android.
Visuell identifiering Lösning: Flera bilder Problem: Positionen och bilden Namn 1. Pos (x, y) 2. Bild Namn Problem: Positionen Namn Lösning: Position/flera bilder 1136 × 640 Välj Kod BankID Användarnamn Namn hTC Välj Kod BankID Användarnamn Namn Användarnamn Namn Välj Kod BankID 960 × 640 Inspelad applikation Namn Namn
Nativ identifikation hTC Problem: Olika nativa identifierare Problem: Nativa hittar objektet Lösning: Bildidentifiering hittar felet hTC UITextFieldLabel, Namn Användarnamn Namn Användarnamn Namn usernameTextField Namn Välj Kod BankID Välj Kod BankID UIButtonLabel, Kod codeButton Lagrade objekt Lösning: Använd OS-beroende identifierare
Exekvering, E2E med automationsramverk Kreditupplysning CRM Webbportal Orderhantering OrderDB 1. Logga in i webbportal och skapa kund 2. Logga in och genomför mobil registrering 3. Kontrollera och godkänn order
Exekvering, E2E Namn Efternamn Kundnr TestdataDB Kund1 Kundsson 1234 SkapaKund Kund1 Kundsson 1234 Kund2 Kundsson 1235 ObjektDB MobilRegistrering Objekt CRMSida CRM Webbportal Tabell Orderhantering TextF1 LoginSida
Exekvering, E2E Namn Plattform Kundnr TestdataDB iOS iOS Kund1 iOS SkapaKund iOS iOS Kund1 iOS 1234 Android Kund2 Android 1235 ObjektDB MobilRegistrering Objekt Objekt-behållare iOS Android tester Orderhantering Objekt-behållare Android
Exekvering, E2E Namn Order Kundnr TestdataDB Kund1 123 1234 Kund2 124 SkapaKund Kund1 123 1234 Kund2 124 1235 ObjektDB MobilRegistrering Objekt Order Orderhantering Tabell Orderhantering TextF1 LoginOrder
Tack! magnus.nilsson@lemontree.se
Frågestund Vilka utmaningar ser ni att automatisera test av mobilapplikationer? Vilka fördelar/risker finns det med att ha mobiltelefoner på plats i huset respektive i molnet? Hur kommer test av användarupplevelsen att ske i olika typer av handhållna enheter, att få samma upplevelse och känsla oberoende av plattform?