Mobiltest typiske udfordringer og deres løsninger Side 1 af 6
Introduktion Ved test af mobile løsninger, er det vigtigt at man forholder sig til en række faktorer og udfordringer, ud over dem man kender fra traditionel software test. Dette kan for eksempelvis være kompleksiteten af platforme, hardware komponenter, operativsystem versioner og deres forskellige producenttilpasninger, samt det væld af skærmstørrelser og resolutioner de forskellige enheder udgør. Dette er blot nogle af de forhold der vanskeliggør, udførelsen af en tilnærmelsesvis dækkende test. Men hvordan griber man så testen an på bedste vis? Vi vil i denne E-bog komme ind på nogle af de typiske udfordringer og deres løsninger. Side 2 af 6
1. Diversitet i platforme, OS og enheder Mange mobile løsninger bliver udviklet og testet på emulatorer. I bedste fald bliver de testet på én enkelt fysisk enhed fra hver af de understøttede platforme. Når man holder det op imod at der i Danmark lige nu benyttes 3 primære ios versioner, 6 primære Android versioner og 2 primære Windows Phone versioner, samt et antal af producenters tilpasningsversioner af disse, yderligere bliver der brugt mange forskellige browsere, og igen hundredevis af forskellige enheder, skærmstørrelser og opløsninger, så der er rigtig mange muligheder man kan teste på. Ovenstående taget i betragtning er der så en temmelig stor risiko for at løsningen ikke fungerer på de enkelte enhedskonfigurationer. Kortlægning af strategi for understøttelse og test af enheder ved brug af anvendelsesstatistikker generelle og kundespecifikke (globalt, regionalt, demografisk). Løbende opfølgning og analyse af OS og HW markedet producent lanceringer og brugertrends. Strukturering af analyseresultaterne. 2. Ukontrollérbare ændringer Mobilmarkedet er i konstant udvikling og man har ingen kontrol med hensyn til opdateringer på enhedskonfigurationer, OS versioner og producenternes tilpasningsversioner. Løsningen fungerer pludselig ikke på de enkelte enhedskonfigurationer. Brugerne mister tillid og man mister brugerne. Fastlæggelse af strategi, plan og for regressionstests: Regressionstest ved nye App/WebApp releases. Regressionstest ved backend releases. Regressionstest ved nye OS versioner og nye potentielt populære enheder. Side 3 af 6
3. Performance Performance er blandt de mest kritiske faktorer for at få succes med en mobil-løsning. Uforudsigelige trådløse netværk, enhedsplatforme og -baser, brugerindstillinger, umoden teknologi, løsningsarkitektur og brugeradfærd alle faktorer som medvirker til svært gennemskuelige performance variationer. Brugerne bruger ikke løsningen; afhængig af alder, føler brugere at de venter, hvis en respons, på en given handling, tager længere end 100 500 ms. 60 % af brugerne kommer aldrig igen, hvis en App eller hjemmeside ikke loader indenfor 3 sekunder. Udfør test med fokus på brugeroplevet performance. Sørg for at kende performance på App, enhedsplatform, netværk og backend, ved de mest brugte brugeraktioner. Brug In App Monitoring værktøj der automatisk opsamler svartider m.m. 00:00:35:687 4. Adgang til fysiske enheder Mobile løsninger kræver test på fysiske enheder, som både er dyre at anskaffe og tidskrævende at administrere. Der er mange fysiske og logiske dimser at holde styr på; telefon, lader, headset, OS versioner, testdata, etc. Der kommer konstant nye enheder på markedet, hvilket medfører hyppige indkøb. Testopgaven bliver udvidet betragteligt, når der skal testes på mange enheder i forskellige konfigurationer, da emulerings/simulerings baserede løsninger ikke kan erstatte test på fysiske devices. Det er dyrt, det tager tid og det kan give administrative problemer. Test på de mest anvendte enhedskonfigurationer (if. anvendelsesstatistikker). Supplér med Cloud baserede eller andre eksterne device løsninger (outsource). Side 4 af 6
5. Automatisering Mobile løsninger involverer sofistikerede funktioner og interaktioner - touch, tilt, GPS lokalisering, kamera, sensorer, lyd og andre varierende fysiske brugerhandlinger. Det lader sig ikke gøre at automatisere eller simulere disse fuldt ud. Tilgængelige automatiserings-værktøjer på området er ofte lige så umodne som teknologien og metoderne selv. Automatiseringen/opsætningen kan nemt tage uforholdsmæssig lang tid, som kunne være brugt bedre i en manuel test. Automatisér selektivt ved hjælp af API kald, touch emulering og capture/replay på stabil kode og i et stabilt miljø. Hold øje med udviklingsværktøjernes nye features inden for automatisering. 6. Testværktøjer Der er brug for testværktøjer til både de testdiscipliner vi kender i dag og til de nye risikoområder, som det mobile miljø introducerer og der er (stadig) ikke ét værktøj der løser hele opgaven. Forvent at skulle have en portefølje af testværktøjer til at dække området. De mange nye værktøjer testeren skal lære at bruge giver en stejl indlæringskurve. Vurdér hvilke værktøjer der mangler for at dække følgende fokusområder: Automatisering og Emulering. Performancemåling, In-App monitorering, Tekst- og felt validering, samt Netværkstest. Opsamling og analyse af anvendelsesdata ved hjælp af statistikværktøjer. Side 5 af 6
7. Kompetencer Nuværende teknologi, metode, proces og kompetence niveau er umodent. Kompetencer med indsigt og erfaring på området er sparsomme, både teknologisk-, forretnings-, udviklings- og kvalitetssikringsmæssigt. Opgaven bliver undervurderet. For mange ting falder mellem to stole og tidslinjen skrider, efterhånden som uforudsete problemer dukker op. Det er nødvendigt at tilegne sig viden eller på anden måde forholde sig til hvordan man skal/ kan begå sig inden for følgende områder: Indsigt i mobil domænet - teknologier, arkitektur, udvikling, brugeradfærd. Statistikindsamling og -forståelse - afdækning af relevante enheder og konfigurationer. App udviklingsværktøjer til Android, ios, Mac OSX, Java og Windows Phone Udvælge, opsætte og konfigurere testværktøjer. Opsætning og brug af performance- og traceværktøjer. Brug af emulerings-, Cloud baserede- og egenudviklede testværktøjer Løbende konstruktiv sparring med udviklere, produktejere, marketing og ledelse. Spørgsmål og kontakt Du skal altid være velkommen til at kontakte os, hvis du har nogle spørgsmål. TestHuset A/S Lautruphøj 1-3 2750 Ballerup +45 44 979 979 info@testhuset.dk Side 6 af 6