Mobile app testing Introductie
Het Wielsem 10, 5231 BW ’s-‐Hertogenbosch, telefoon 073-‐6409311 e-‐mail
[email protected] internet http://www.testwork.nl
Mobile app testing
Introductie
1
Inhoudsopgave
1
Inhoudsopgave ................................................................................................................................ 2
2
Inleiding ........................................................................................................................................... 3
3
Gebruikerservaring .......................................................................................................................... 3
4
Dekking van de beschikbare mobiele hardware ............................................................................. 4
5
Connectiviteit .................................................................................................................................. 4
6
Security ........................................................................................................................................... 4
7
Basis vereisten voor mobiele app testing ....................................................................................... 5
8
Integratie van testmethoden in een agile ontwikkelingsmodel ...................................................... 5
9
Conclusie ......................................................................................................................................... 6
Versie 0.1, februari 2013
© testwork.nl
Pagina 2 / 6
Mobile app testing
2
Introductie
Inleiding
Voor iedereen die gebruik maakt van een smartphone of tablet zijn apps onmisbaar. Een app is een toepassing die specifiek is ontwikkeld voor de mobiele omgeving. App technologie is bekend sinds de commerciële lancering van de iPhone in 2007. Met de release van de Apple App Store, werd een nieuw verkoopkanaal voor software applicaties geopend. Vergelijkbare app stores voor andere besturingssystemen zoals Android Market, Nokia Store, BlackBerry App World, Samsung Apps en Windows Phone Marketplace werden spoedig daarna gelanceerd. Voor een lange tijd, kwamen apps slechts voor persoonlijk gebruik in aanmerking, maar dit is nu veranderd. Het gebruik van apps voor zakelijke doeleinden groeit aanzienlijk. Bedrijven gebruiken apps voor bank-‐, verkoop-‐, marketing-‐ of interne communicatie. Hieraan toegevoegd vergroten B2B-‐ of onderneming-‐apps, die interacteren met backend tools en mobiele apparaten door middel van web services of cloud platforms, hun aandeel in de markt. In verlengde van deze ontwikkeling groeit de vraag naar methodisch kwaliteits-‐ management. Dit document zal de vier belangrijkste aandachtspunten beschrijven waar aandacht aan moet worden besteed bij het mobiele app testen en de basis voorwaarden die hiervoor nodig zijn. Bovendien zal het de integratie van testmethoden in een agile ontwikkelingsmodel beschrijven. De belangrijkste aandachtspunten, die aandacht moeten krijgen bij het testen van mobiele apps zijn: • Gebruikerservaring. • Dekking van de beschikbare mobiele hardware. • Connectiviteit. • Beveiliging.
3
Gebruikerservaring
De gebruikerservaring is essentieel voor het slagen of mislukken van een app. De gebruikerservaring zal worden weerspiegeld door de rating van de app in de app store en negatieve waarderingen kunnen de bron zijn van aanzienlijke verkoop verliezen. Dus, de gebruikerservaring is een belangrijk element bij het testen van mobiele app. Het kan niet daadwerkelijk rechtstreeks worden getest vanwege het subjectieve karakter van de ervaring. Maar u moet zich er van bewust zijn dat u de kritische succesfactoren voor een positieve gebruikerservaring in uw test moet hebben gedekt. Succesfactoren voor een positieve gebruikerservaring zijn aantrekkelijk ontwerp, positieve interactie en bruikbaarheid. Op basis van deze drie thema's, kunt u de volgende testcriteria afleiden:
Versie 0.1, februari 2013
© testwork.nl
Pagina 3 / 6
Mobile app testing
Introductie
Gebruikerservaring
Test
Factoren
Ontwerp Interactie Bruikbaarheid
Lay-‐out Navigatie Positie van iconen Verschillende display formaten Leesbaarheid Taal Tekst display Touch screen Bewegingssensor Fout boodschappen, waarschuwingen Scherm set-‐up Actie ketens Voortgangsbalken Performance
Continu, relatief Logisch Logisch, duidelijk, functioneel Geschiktheid Uiterlijk, display duur Grammatica, spelling Uitlijning, overlap, verpakking Handbeweging, input Bewegen, omkeren Begrijpelijkheid Logisch, duur Logisch, begrijpelijk Timing Duur laden, multitasking
4
Dekking van de beschikbare mobiele hardware
De verscheidenheid van mobiele apparaten, met name voor Android, groeit voortdurend en het is niet langer mogelijk om een overzicht te geven van de mobiele apparaten markt. Dit is een grote uitdaging voor kwaliteitscontrole (testen), omdat de beperkende factoren zoals display afmetingen en formaten, versies van besturingssystemen en basis apparaat kenmerken variëren. Een bijkomende factor is de apparaat-‐specifieke aanpassing van het besturingssysteem (Android) door de fabrikant van het apparaat, die expliciet moet worden getest op het apparaat. Bij het testen is het noodzakelijk om u te beperken tot de apparaten die worden ondersteund door de apps. Combinaties van systemen (hardware/besturingssysteem) en neerwaartse compatibiliteit moeten worden gedefinieerd. Als u de dekking van combinaties van systemen wilt maximaliseren is het noodzakelijk om flexibele strategieën voor de uitvoering van de test te ontwikkelen. Variaties zijn: • simulatoren, emulatoren • beta-‐testen netwerk (‘field-‐testing’) • mobiel testen in de ‘cloud’, bijvoorbeeld Mob4Hire, testCloud • mobiele testen in de ‘crowd’, bijvoorbeeld PerfectoMobile, Soasta Deze variaties moeten worden gecombineerd en geprioriteerd rekening houdend met de context van het project.
5
Connectiviteit
Connectiviteit is een ander groot probleem in het testen van mobiele app. In het gunstigste geval worden netwerkverbindingen voor apps uitgevoerd in aparte ‘threads’ die niet met elkaar interfereren. Bovendien moet een app adequaat reageren op het afbreken van de netwerkverbinding, vertragingen en veranderingen in en zwakke verbindingen. Als deze reacties worden geïmplementeerd door een waarschuwing of caching mechanisme moet dit duidelijk worden binnen de context het testproject.
6
Security
Versie 0.1, februari 2013
© testwork.nl
Pagina 4 / 6
Mobile app testing
Introductie
Naast connectiviteit is veiligheid een andere belangrijk object om te testen. Belangrijke thema’s zijn: • authenticatie en autorisatie • data security • allocatie van data in offline modus • bescherming van het file system, opties, hardware, netwerk resources, etc. In de kern wordt de ontwikkeling van een app uitgevoerd in een ‘sandbox’ die toegang tot bronnen buiten de app mogelijk of niet mogelijk maakt. De toegangsrechten zijn programmeerbaar of vooraf gedefinieerd, afhankelijk van het besturingssysteem. Hiervoor moeten passende testen expliciet worden gedefinieerd.
Een ander aspect in het kader van het testen van de veiligheid is de bescherming tegen onrechtmatige toegang via 'jailbreaking' (iOS) of ‘rooting’ (Android). Naast deze vier belangrijke punten zijn er fundamentele eisen die overwogen moeten worden bij het testen van mobiele apps.
7
Basis vereisten voor mobiele app testing
Een van de vereisten voor het testen van apps is een omgeving voor beta-‐testen. Voor dit doel bieden besturingssysteem fabrikanten ofwel hun eigen testen omgevingen aan, zoals een Testflight (iOS), of maken zij het gebruik van vrije commerciële hulpmiddelen zoals HockeyApp (Android) mogelijk. Er is een veelheid aan tools op de markt voor het testen van mobiele apps. Varianten omvatten add-‐on modules voor gevestigde test suites zoals Tosca Mobil of stand-‐alone tools met gestandaardiseerde interfaces. In de mobiele omgeving is testautomatisering een essentiële factor. Voorbeelden van bekende tools voor dit doel zijn SeeTest (iOS/Android), Robotium (Android) en MonkeyTalk (iOS/Android). Alle requirements moeten op methodische wijze worden getest. Een methode is hieronder beschreven.
8
Integratie van testmethoden in een agile ontwikkelingsmodel
Versie 0.1, februari 2013
© testwork.nl
Pagina 5 / 6
Mobile app testing
Introductie
Apps worden ontwikkeld en getest op basis van het onderliggende software ontwikkelingsmodel. Zowel traditionele als agile modellen worden vaak gebruikt Traditionele software ontwikkelingsmodellen, zoals de V-‐Model, worden gekenmerkt door hun hoge betrouwbaarheid van de planning, standaardisatie en gemakkelijke schaalbaarheid en aanpassingsvermogen. Zwakke punten zijn de hoge vereisten voor documentatie, de noodzakelijke afstemming, en het gebrek aan flexibiliteit. In contrast, agile modellen scoren met hoge flexibiliteit, snelle systeemimplementatie, Iage documentatie vereisten en lage formalisme. Nadelen zijn moeilijke tijd en budgettaire planning, hoge communicatie inspanning binnen het agile team en een kenmerkende afhankelijkheid van de individuele capaciteiten van de leden van het team. In het algemeen, apps worden ontwikkeld binnen de strakke ‘time-‐to-‐market’ cycli. Aanpassen wordt uitgevoerd via continue updates, die meestal een resultaat zijn uit de feedback van de gebruikers van de app. Onder deze omstandigheden levert een agile ontwikkelingsmodel meer pro's in vergelijking met een traditioneel model en zal dus hier in het kort worden beschreven. De test taken in het agile model kunnen worden gesplitst in drie belangrijkste aandachtsgebieden: Elk aandachtsgebied zal worden onderbouwd met geschikte testmethoden die moeten worden afgestemd op de tijdlijn van de sprints (Scrum). Bij het gebruik van agile modellen is het noodzakelijk ervoor te zorgen dat: • definitie van wat is gedaan consistent is, • ontwikkeling in de sprint en de mock-‐up in detail is gepland, • services zijn vastgesteld, • de regressie behoeften worden gecontroleerd in de sprint, • externe service providers (crowd, beta-‐tester netwerk) verstandig zijn geïntegreerd en • testervaring die is opgedaan terug stroomt in het proces. Let op: Agile modellen zijn niet de beste oplossing in het kader van elk project. Een traditioneel model is vaak de betere manier, met name in projecten waar er bedrijfsspecifieke problemen met duidelijke en gedetailleerde eisen of beperkte begroting en tijdsplanning zijn. Echter, als een agile model wordt gebruikt is het essentieel dat consequent controleren de product backlog wordt gemonitord en de baseline hierop aangepast wordt.
9
Conclusie
Er zijn veel aspecten in het testen van mobiele apps die in beschouwing moeten worden genomen. Belangrijke vraagstukken zijn gebruikerservaring, de dekking van beschikbare mobiele hardware, connectiviteit en veiligheid. De kwaliteitscriteria van een mobiele app testproject zijn individueel aan elk project, dat wil zeggen de weging van de testen criteria varieert aanzienlijk. Integreren van de test in het onderliggende model van de ontwikkeling van de software is essentieel voor een succesvolle mobiele app testproject. Als gevolg van de krappe tijdlijn van mobiele app projecten is het noodzakelijk de testmethoden aan te passen, de scope van de test aan te passen en de test dekking te definiëren. Het is essentieel om erkende methoden op een snelle en flexibele manier aan te passen aan de bepalende factoren van de ontwikkeling van de app. Versie 0.1, februari 2013
© testwork.nl
Pagina 6 / 6