Mobile Apps – wie testet man die? -...
Transcript of Mobile Apps – wie testet man die? -...
© 2013 imbus AG www.imbus.de
Mobile Apps – wie testet man die?
Thomas Roßner, CTO imbus AG für das Treffen der GI Regionalgruppe am
09.04.2013
© 2013 imbus AG www.imbus.de Folie 2
imbus
! Spezialisierter Lösungsanbieter für Software-Qualitätssicherung und Software-Test
! Innovativ seit 1992
! Erfahrung und Know-how aus über 4.000 erfolgreichen Projekten
! 200 Mitarbeiter an fünf Standorten in Deutschland
! Joint Venture in Shanghai
Rostock Hamburg
Hannover
Magdeburg
Berlin
HQ Möhrendorf
Bremen
München
Erfurt Dresden
Stuttgart
GS München
Erlangen
Köln
Frankfurt
imbus Rhein-Main
imbus Rheinland
imbus Nord
Mobile Apps - wie testet man die?
Hamburg
© 2013 imbus AG www.imbus.de Folie 3
Lösungen
! Branchenspezifische Kompetenzzentren
! Technologieübergreifende Leistungen
! Inhouse, near shore, offshore
Mobile Apps - wie testet man die?
© 2013 imbus AG www.imbus.de Folie 4
Agenda
Mobile Apps - wie testet man die?
! Herausforderung „App Testing“
! Teststrategien für Apps ! Testziele und Testarten ! Teststufen und Testmethoden ! Testumgebungen und Testwerkzeuge
! Zusammenfassung
© 2013 imbus AG www.imbus.de Folie 5
Herausforderung 1: Problembewusstsein
! nur 31% der Unternehmen testen ihre mobilen Anwendungen (*)
„It‘s an area of our business that typifies how things are changing, in my opinion. The guys in marketing say ‚we need a mobile app‘; sales or product execs agree and then send it across to development and testing to push it through in half the time we might actually need. It‘s not going away either, more and more of our business is done online [in general] so it‘s something we need to get hold of and understand quickly.“ (Mitarbeiter einer britischen Retail-Firma)
Mobile Apps - wie testet man die? (*) World Quality Report 2012/2013
© 2013 imbus AG www.imbus.de Folie 6
Herausforderung 2: Expertise
! 34% haben keine passende Vorgehensweise (*)
„Mobile is certainly having a significant impact on the QA function and it seems that QA has been slow to react to the expectations from within the business. We would expect swift reassessment of testing priorities and increased investment over the coming year to handle the rush of mobile applications either in-house or with specialist providers.“ (aus dem Word Quality Report 2012/2013)
Mobile Apps - wie testet man die? (*) World Quality Report 2012/2013
© 2013 imbus AG www.imbus.de Folie 7
Herausforderung 3: Gerätevielfalt
! 52% verfügen nicht über die notwendigen Test-Devices (*)
Mobile Apps - wie testet man die?
http://opensignal.com/reports/fragmentation.php
(*) World Quality Report 2012/2013
© 2013 imbus AG www.imbus.de Folie 8
Herausforderung 4: Werkzeuge
! 65% sind nicht mit adäquaten Testwerkzeugen ausgestattet (*)
„ [...] the automation tools are still in their infancy, and none of them do what I need them to do yet.“ Jonathan Kohl, „Tap into mobile application testing“
Mobile Apps - wie testet man die? (*) World Quality Report 2012/2013
© 2013 imbus AG www.imbus.de Folie 9
Was ist an Apps denn so besonders?
! Plattform ! Hardware ! Betriebssysteme und -versionen ! Anwendungsarchitekturen ! Entwicklungsumgebungen
Mobile Apps - wie testet man die?
© 2013 imbus AG www.imbus.de Folie 10
Was ist an Apps denn so besonders?
Funktion ! Cloud Computing ! Software and Things ! In-App-Käufe ! ...
Mobile Apps - wie testet man die?
© 2013 imbus AG www.imbus.de Folie 11
Was ist an Apps denn so besonders?
! Bedienung ! Gesten ! Signale über Sensoren (Helligkeit,
Beschleunigung) ! Sprachein- und –ausgabe
! Nutzungsszenarien ! Ad hoc-Nutzung ! Ubiquität
Mobile Apps - wie testet man die?
© 2013 imbus AG www.imbus.de Folie 12
Was ist an Apps denn so besonders?
! Betriebsumgebung ! Geräte ! Mobilfunknetz ! Im Haus oder im Freien ! Geografischer Standort
Mobile Apps - wie testet man die?
© 2013 imbus AG www.imbus.de Folie 13
Agenda
Mobile Apps - wie testet man die?
! Herausforderung „App Testing“
! Teststrategien für Apps ! Testziele und Testarten ! Teststufen und Testmethoden ! Testumgebungen und Testwerkzeuge
! Zusammenfassung
© 2013 imbus AG www.imbus.de Folie 14
Teststrategien für Mobile Apps
Mobile Apps - wie testet man die?
© 2013 imbus AG www.imbus.de Folie 15
Agenda
Mobile Apps - wie testet man die?
! Herausforderung „App Testing“
! Teststrategien für Apps ! Testziele und Testarten ! Teststufen und Testmethoden ! Testumgebungen und Testwerkzeuge
! Zusammenfassung
© 2013 imbus AG www.imbus.de Folie 16
Testziele steuern den Testaufwand
! „Erschöpfender“ Test aller Eigenschaften ist i.a. nicht möglich
! Wichtige Eigenschaften müssen intensiver getestet werden als weniger wichtige
! Um wichtige Eigenschaften zu identifizieren, müssen wir sie ! priorisieren ! kategorisieren
Mobile Apps - wie testet man die?
© 2013 imbus AG www.imbus.de Folie 17
Produkteigenschaften als Testziele
Mobile Apps - wie testet man die?
© 2013 imbus AG www.imbus.de Folie 18
Testziele und Testarten (Auswahl)
! Funktionale Tests ! Vollständigkeit ! Korrektheit ! Angemessenheit
! End-to-End Tests ! Systemübergreifende Funktionalität
Mobile Apps - wie testet man die?
© 2013 imbus AG www.imbus.de Folie 19
Testziele und Testarten (Auswahl)
! Installation, Deinstallation, Update ! Schnittstellentest über Sandbox-
Grenzen hinweg
Mobile Apps - wie testet man die?
© 2013 imbus AG www.imbus.de Folie 20
Testziele und Testarten (Auswahl)
! Lokalisierungstest ! Styleguide-Test ! Usability Test ! Geschlossene und offene Beta
! Usability ist entscheidender Erfolgsfaktor ! Differenzierungsmerkmal ! u.U. zulassungsrelevant z.B. bei
Medical Apps
Mobile Apps - wie testet man die?
© 2013 imbus AG www.imbus.de Folie 21
Testziele und Testarten (Auswahl)
! Funktionale Negativtests und Stresstests ! Verbindungsfehler und –abbrüche ! Unterbrechungen durch Anrufe,
Nachrichten ! Knapp werdender Speicherplatz ! Stromsparfunktionen ! Batteriewarnung und Herunterfahren ! Hintergrund-Ausführung ! Entzug von Berechtigungen
Mobile Apps - wie testet man die?
© 2013 imbus AG www.imbus.de Folie 22
Testziele und Testarten (Auswahl)
! Lokale Performanzmessungen ! Lasttests des Gesamtsystems aus
! App (Gerät und App-Code) ! Netzwerk (Latenz und Bandbreite) ! Server (Durchsatz)
! Elastizitätstest (bei Cloud-Lösungen)
Mobile Apps - wie testet man die?
© 2013 imbus AG www.imbus.de Folie 23
Testziele und Testarten (Auswahl)
! Penetrationstests ! Funktionale Tests von
Sicherheitsfunktionen ! Tests der Umsetzung von
Sicherheitsrichtlinien (insbesondere bei BYOD)
Mobile Apps - wie testet man die?
© 2013 imbus AG www.imbus.de Folie 24
Agenda
Mobile Apps - wie testet man die?
! Herausforderung „App Testing“
! Teststrategien für Apps ! Testziele und Testarten ! Teststufen und Testmethoden ! Testumgebungen und Testwerkzeuge
! Zusammenfassung
© 2013 imbus AG www.imbus.de Folie 25
Teststufen reduzieren Aufwand für Fehlerfindung und -behebung
! Fehler so früh wie möglich finden – spart Behebungskosten
! Kosten-Nutzen-Verhältnis der Tests optimieren – jeden Test dort machen, wo er am günstigsten zu realisieren ist
! Redundanzen vermeiden
Mobile Apps - wie testet man die?
© 2013 imbus AG www.imbus.de Folie 26
Teststufen für Mobile Apps
Mobile Apps - wie testet man die?
App Store Review
Beta-Test
Systemintegrationstest
App-Test
Integrationstest
Unit-Test Nic
htfu
nktio
nale
Tes
ts
Funk
tiona
le T
ests
© 2013 imbus AG www.imbus.de Folie 27
Testmethoden sorgen für skalierbare Tests
! Manche Testmethoden prüfen Code-Eigenschaften, manche Produkt-Eigenschaften – passend zu verschiedenen Teststufen
! Wichtige Eigenschaften mit vielen/intensiven Testfällen prüfen, weniger wichtige mit wenigen Testfällen
! Testmethoden sind i.a. skalierbar, d.h. Für mehr „spendierten“ Testaufwand erhält man mehr/ bessere/ aussagekräftigere Tests
Mobile Apps - wie testet man die?
(*) Praxiswissen SW-Test: Testmanagement. dpunkt-Verlag
Testmethode: Planmäßiges, auf einem Regelwerk aufbauendes Vorgehen zur Herleitung
und/oder Auswahl von Testfällen (*)
© 2013 imbus AG www.imbus.de Folie 28
ISTQB Certified Tester – das Testmethoden-Kochbuch
! formale Methoden und erfahrungsbasierte Methoden
! White Box- und Black Box-Methoden
! Funktionale und nichtfunktionale Tests
! Manuelle und automatisierbare Tests
! Trainings: www.imbus.de/akademie
Mobile Apps - wie testet man die?
© 2013 imbus AG www.imbus.de Folie 29
Agenda
Mobile Apps - wie testet man die?
! Herausforderung „App Testing“
! Teststrategien für Apps ! Testziele und Testarten ! Teststufen und Testmethoden ! Testumgebungen und Testwerkzeuge
! Zusammenfassung
© 2013 imbus AG www.imbus.de Folie 30
Teststufen und Testwerkzeuge – Beispiel Funktionale Testautomatisierung
Mobile Apps - wie testet man die?
App Store Review
Beta-Test
Systemintegrationstest
App-Test
Integrationstest
Unit-Test Uni
t Tes
t Fr
amew
ork In
tegr
atio
n Te
st F
W (U
I-) T
esta
utom
at
Con
tinuo
us In
tegr
atio
n Bet
a D
istri
butio
n
© 2013 imbus AG www.imbus.de Folie 31
Die Qual der Wahl bei Testautomatisierungswerkzeugen
! Sandboxes erhöhen die Sicherheit und Robustheit – aber sie senken die Automatisierbarkeit
! HW/SW-Testrahmen: teuer, aufwändig, evtl fehleranfällig
! Agenten-Technologie: günstig, aber ! „you don‘t test what you deliver“ ! app-übergreifende Automatisierung
schwierig bis unmöglich ! Jailbreak/Rooting: günstig und app-
übergreifend, aber ! machen Sicherheitstests sinnlos ! sind wenig zukunftssicher
Mobile Apps - wie testet man die?
© 2013 imbus AG www.imbus.de Folie 32
Testumgebungen passend zur Teststufe
Mobile Apps - wie testet man die?
App Store Review
Beta-Test
Systemintegrationstest
App-Test
Integrationstest
Unit-Test Ent
wic
klun
gs-u
mge
bung
Sim
ulat
or
Ger
ät C
row
d
In th
e C
loud
© 2013 imbus AG www.imbus.de Folie 33
Agenda
Mobile Apps - wie testet man die?
! Herausforderung „App Testing“
! Teststrategien für Apps ! Testziele und Testarten ! Teststufen und Testmethoden ! Testwerkzeuge und Testumgebungen
! Zusammenfassung
© 2013 imbus AG www.imbus.de Folie 34
Die sechs „T“ und ihr Nutzen
! Test- ! Ziele steuern die optimale Verteilung des Testaufwands ! Arten unterfüttern die Testziele mit passenden Prüfstrategien ! Stufen sorgen für frühes und kostengünstiges Finden von Fehlern ! Methoden erzeugen wiederholbare, zuverlässige Testfälle ! Werkzeuge unterstützen den Testprozess – sie ersetzen ihn nicht ! Umgebungen machen die Testdurchführung „produktionsnah“
! Systematisches Testen ! ist auch bei Apps das richtige Vorgehen ! spart Kosten durch frühzeitige Fehlerfindung ! Ist ein Investment, das sorgfältig geplant und umgesetzt werden muss
! Neue Testansätze helfen ! Simulatoren reduzieren den Umfang des notwendigen Geräteparks ! Continuous Testing and Integration verlagert den Test „nach vorne“ ! Crowd Testing und Testing in the Cloud testen „in der Breite“
Mobile Apps - wie testet man die?
© 2013 imbus AG www.imbus.de Folie 35
Next Steps für App-Hersteller und -auftraggeber
! Trainings und Workshops zum Mobile Testing
! Mobile Testing Services (inkl. Cloud und Crowd)
! Beratung für die eigene App Test Governance
! imbus TestBench – das Kontrollzentrum für Ihre Tests
Mobile Apps - wie testet man die?
www.imbus.de www.testbench.info
[email protected] thomas.rossner
@imbus.de
@imbus_AG @trossner