Mobile App Testing im agilen Umfeld

Test more. Worry less.
Agenda

SPEAKER
WARUM QUALITÄTSICHERUNG?
QUALITÄTSICHERUNG ALS PROZESS
TESTMETHODEN IM ÜBERBLICK
FAZIT
HANNES LENKE
Zu den Farben
Hannes Lenke
SPEAKER

WARUM?

PROZESS

METHODEN

FAZIT

§  Gründer & Geschäftsführer der
TestObject GmbH seit 2011
§  Ehemals IT-Consultant
§  Mit TestObject zahlreiche Projekte im
Mobile Testing Umfeld betreut
§  Stellvertretender Vorsitz Fachgruppe
Mobile Devices & Apps des
Arbeitskreises Software-Qualität und
Fortbildung (ASQF)
WARUM
QUALTITÄTSSICHERUNG?
Zu den Farben
Kennen Sie das?
SPEAKER

WARUM?

PROZESS

METHODEN

FAZIT
Zu den Farben
Warum Testen?
SPEAKER

WARUM?

PROZESS

METHODEN

FAZIT

„Your app’s rating is one of the most important
factors influencing its ranking in the various
lists and search results in Google Play.“
(Google Developers Guide)
Zu den Farben
Testen, das beste Marketing
SPEAKER

WARUM?

PROZESS

Zusammenhang: Rating - Ranking

Posi%ve	
  
Bewertungen	
  
Mehr	
  
Downloads	
  

Mehr	
  
Downloads	
  

Besseres	
  
Ranking	
  

METHODEN

FAZIT

§  Bewertungen und Engagement
bestimmen Position in Charts
§  Position hat direkten Einfluss auf
Downloads
§  Höher bewertete Apps bekommen mehr
Bewertungen
“Die Appqualität genauestens überprüfen,
bevor die App gelauncht wird. Denn mit
Bugs oder Performance-Problemen erhält
man zwangsläufig schlechte Bewertungen,
die dann die App zusätzlich im Ranking
drücken.”
(Richard Buettner, Geschäftsführer AMA)

Quellen: AMA, TechCrunch, Fiksu
WELCHEN PROBLEMEN
BEGEGNEN WIR?
Fragmentierung – Geräte
SPEAKER

WARUM?

PROZESS

METHODEN

FAZIT

Der Mobile-Markt ist extrem fragmentiert,
was Testing vor besondere Herausforderungen stellt!
§  Device-Fragmentierung (allein über 11.000
Android Geräte am Markt)
§  Betriebssysteme (Android, iOS …)
§  Bildschirmgrößen und -auflösungen

Quelle:	
  Opensignals	
  
Fragmentierung - Betriebssysteme
SPEAKER

WARUM?

PROZESS

METHODEN

FAZIT

Quelle:	
  Opensignals	
  
Fragmentierung – Bildschirmgrößen
SPEAKER

WARUM?

PROZESS

METHODEN

FAZIT

Quelle:	
  Opensignals	
  
Fragmentierung – Bildschirmgrößen
SPEAKER

WARUM?

PROZESS

METHODEN

FAZIT

Quelle:	
  Opensignals	
  
QUALITÄTSSICHERUNGS
PROZESS
Agile Projekte
SPEAKER

WARUM?

PROZESS

METHODEN

FAZIT

Quelle:	
  World	
  Quality	
  Report	
  Capgemini	
  
	
  
Agile Projekte
SPEAKER

WARUM?

PROZESS

METHODEN

FAZIT

Quelle:	
  Utest	
  	
  
Lösung? So früh wie möglich anfangen!
SPEAKER

WARUM?

PROZESS

METHODEN

FAZIT

Mobile	
  App	
  Development	
  Process	
  
Phase	
  1	
  
Test	
  Planning	
  /	
  
Test	
  Cases	
  

Phase	
  2	
  

Phase	
  3	
  

Phase	
  n	
  

• Smoke	
  Tes%ng	
  
• Regression	
  Tes%ng	
  
• Func%onal	
  Tes%ng	
  
• Performance	
  &	
  
Stress	
  tes%ng	
  

• Smoke	
  Tes%ng	
  
• Regression	
  Tes%ng	
  
• Func%onal	
  Tes%ng	
  
• Performance	
  &	
  
Stress	
  tes%ng	
  

• Smoke	
  Tes%ng	
  
• Regression	
  Tes%ng	
  
• Func%onal	
  Tes%ng	
  
• Performance	
  &	
  
Stress	
  tes%ng	
  

• Smoke	
  Tes%ng	
  
• Regression	
  Tes%ng	
  
• Func%onal	
  Tes%ng	
  
• Performance	
  &	
  
Stress	
  tes%ng	
  
Continuous Integration
SPEAKER

WARUM?

Commit

PROZESS

Source Code
Repository

Build

Report

Deploy
Continuous
Testing

FAZIT

§  Continuous Integration ermöglicht es
Tests nach jedem Commit
auszuführen

Pull

Development

METHODEN

§  Automatisiertes Testen nach jedem
Commit
§  Direkte Bugreports schon während
der Entwicklungsphase
§  Einsetzbar in allen LebenszyklusPhasen
Testmethoden
Zu richtige Testprozess
Lösung: Der den Farben
UNTERNEHMEN

MOBILE TESTING

CLOUD-TESTING

CROWD-TESTING

PREISE

Unit Tests
Manuelles Testen

1. 

Unit Tests

Monkey Tests

2. 

Manuelles Testen

3. 

UI-Tests (Regressions & Funktionstests)

4. 

Stresstests

5. 

Crowd Tests / Usability Tests

6. 

Monitoring

UI - Tests
Crowd Tests
Monitoring
Stresstests

Development

QA

Production
Zu den Farben
Manuelles Testen
SPEAKER

WARUM?

PROZESS

Was?

METHODEN

FAZIT

Womit?

§  Funktionelles Testen seperater
App-Teile

§  Emulatoren / Simulatoren & echten
Geräten

§  Usability Aspekte können mit
abgedeckt werden

§  Detaillierte Testpläne sollten
vorhanden sein

Wer?
§  Tester, Entwickler &
Akzeptanzgruppe

Pros

Wann?
§  Entwicklungsphase & Pre-Release

Cons

§  Leicht auszuführen

§  Zeit, Kosten und Fehlerrate

§  Sofortiges Feedback

§  Skaliert nicht
Zu den Farben
Ressourcen sparen durch Automatisierung
SPEAKER

WARUM?

PROZESS

METHODEN

FAZIT

Ressourcen
ROI

Investment

Testzyklen

Vor- und Nachteile Testautomatisierung
- Kosten der Einrichtung
- Skripte verfassen und managen

+ Einsparungen manuelles Testen

VS

+ Skripte können wiederverwendet werden
+ Schnellere Testzyklen, “Time to Market”
+ größere Sicherheit und Objektivität
	
  
Zu Unittests
den Farben
SPEAKER

WARUM?

PROZESS

Was?

METHODEN

FAZIT

Womit?

§  Testen einzelner SoftwareModule

§  Android: Roboelectric, Junit,
Emulatoren..

§  Soll-Vergleich dient als
Grundlage für die Tests

§  iOS: OCUnit, GHUnit, OCMock,
Simulatoren

Wer?
§  Entwickler

Pros
§  Leicht auszuführen (CI)
§  Testabdeckung 100% isolierter
Komponenten mit wenigen
Testfällen

Wann?
§  Entwicklungsphase

Cons
§  Fehlerfreiheit wird nicht
nachgewieesen nur unterstützt
Zu Unittests
den Farben
SPEAKER

WARUM?

PROZESS

METHODEN

FAZIT
Zu den Farben
Monkey Tests
SPEAKER

WARUM?

PROZESS

Was?
§  Zufälliges Testen der App
§  Mehrere Tausend zufällige
Aktionen (Klicks, Text Eingaben
u.ä.)

Wer?
§  Entwickler & Tester

Pros
§  Leicht auszuführen (CI)
§  Nahezu ohne Wartungsaufwand

METHODEN

FAZIT

Womit?
§  Android: Monkeyrunner, TestObject
Random Input..
§  iOS: Anteater

Wann?
§  Entwicklungsphase

Cons
§  Fehler werden eher zufällig
entdeckt
Zu den Farben
Monkey Tests
SPEAKER

WARUM?

PROZESS

METHODEN

FAZIT
ZuUI Testing
den Farben
SPEAKER

WARUM?

PROZESS

Was?

METHODEN

FAZIT

Womit?

§  Testen der Benutzeroberfläche
und Funktionen

§  Android: TestObject, Robotium,
Monkeytalk…

§  Sowohl Basis Tests als auch
komplexe Szenarien

§  iOS: Bald TestObject, Xcode,
UIAutomation, …

Wer?
§  Entwickler & Tester

Pros
§  (Cloud) leicht aufzusetzen (CI)
§  Erhöht Sicherheit &
Kommunikation

Wann?
§  Entwicklungsphase, Pre-Release
Tests

Cons
§  Wirksamkeit nach einigen
Testläufen
§  Wartungsintensiver
ZuUI Testing
den Farben
SPEAKER

WARUM?

PROZESS

METHODEN

FAZIT
Zu den Farben
Automatisiertes Testing in der Cloud
SPEAKER

WARUM?

PROZESS

METHODEN

FAZIT

-­‐  Test	
  your	
  mobile	
  app	
  in	
  the	
  cloud	
  
-­‐  Create	
  testscripts	
  in	
  5	
  minutes	
  
-­‐  Run	
  your	
  scripts	
  automated	
  

Upload
Einfach App
hochladen
§  Läuft direkt im
Browser
§  Aktuell für Androidund Web-Apps und
bald für iOS
§ 

Record
Mit unseren
modifizierten Emulatoren ganz normal
die App nutzen
§  Es werden automatisch Testskripte
erstellt
§ 

Replay
§ 

Reports

Nach dem Aufnehmen §  Nach jedem Testlauf
Tests auf verschiedenen
werden
Geräte- und
umfangreiche
Systemkonfigurationen
Protokolle
abspielen
bereitgestellt
§  Find bugs before
your users do!
Zu den Testing
Crowd Farben
SPEAKER

WARUM?

PROZESS

Was?

METHODEN

FAZIT

Womit?

§  Testen durch echte Nutzer in der
“Wolke”

§  Crowd Testing Anbieter: TestHub,
WorkHub, Testbirds, Utest …

§  Usability Tests auch explorative
Funktionstests

§  Ich berate gern

Wer?
§  Crowd

Pros
§  Externer Blick auf App
§  Mehr Geräte erreichbar
§  Usability Tests

Wann?
§  Pre-Release

Cons
§  Feedback muss gut ausgewertet
werden
§  Crowdtester sind oftmals nicht
geschult
Fazit
SPEAKER

WARUM?

PROZESS

METHODEN

Qualitätssicherung ist
immer eine Mischung
aus vielen Methoden!
Aber...

FAZIT
FRAGEN?
Hannes Lenke
Geschäftsführer
hannes.lenke@testobject.com
+49 (0)175 – 546 066 4

Mobile App Testing In Agile Environment

  • 1.
    Mobile App Testingim agilen Umfeld Test more. Worry less.
  • 2.
  • 3.
  • 4.
    Zu den Farben HannesLenke SPEAKER WARUM? PROZESS METHODEN FAZIT §  Gründer & Geschäftsführer der TestObject GmbH seit 2011 §  Ehemals IT-Consultant §  Mit TestObject zahlreiche Projekte im Mobile Testing Umfeld betreut §  Stellvertretender Vorsitz Fachgruppe Mobile Devices & Apps des Arbeitskreises Software-Qualität und Fortbildung (ASQF)
  • 5.
  • 6.
    Zu den Farben KennenSie das? SPEAKER WARUM? PROZESS METHODEN FAZIT
  • 7.
    Zu den Farben WarumTesten? SPEAKER WARUM? PROZESS METHODEN FAZIT „Your app’s rating is one of the most important factors influencing its ranking in the various lists and search results in Google Play.“ (Google Developers Guide)
  • 8.
    Zu den Farben Testen,das beste Marketing SPEAKER WARUM? PROZESS Zusammenhang: Rating - Ranking Posi%ve   Bewertungen   Mehr   Downloads   Mehr   Downloads   Besseres   Ranking   METHODEN FAZIT §  Bewertungen und Engagement bestimmen Position in Charts §  Position hat direkten Einfluss auf Downloads §  Höher bewertete Apps bekommen mehr Bewertungen “Die Appqualität genauestens überprüfen, bevor die App gelauncht wird. Denn mit Bugs oder Performance-Problemen erhält man zwangsläufig schlechte Bewertungen, die dann die App zusätzlich im Ranking drücken.” (Richard Buettner, Geschäftsführer AMA) Quellen: AMA, TechCrunch, Fiksu
  • 9.
  • 10.
    Fragmentierung – Geräte SPEAKER WARUM? PROZESS METHODEN FAZIT DerMobile-Markt ist extrem fragmentiert, was Testing vor besondere Herausforderungen stellt! §  Device-Fragmentierung (allein über 11.000 Android Geräte am Markt) §  Betriebssysteme (Android, iOS …) §  Bildschirmgrößen und -auflösungen Quelle:  Opensignals  
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
    Lösung? So frühwie möglich anfangen! SPEAKER WARUM? PROZESS METHODEN FAZIT Mobile  App  Development  Process   Phase  1   Test  Planning  /   Test  Cases   Phase  2   Phase  3   Phase  n   • Smoke  Tes%ng   • Regression  Tes%ng   • Func%onal  Tes%ng   • Performance  &   Stress  tes%ng   • Smoke  Tes%ng   • Regression  Tes%ng   • Func%onal  Tes%ng   • Performance  &   Stress  tes%ng   • Smoke  Tes%ng   • Regression  Tes%ng   • Func%onal  Tes%ng   • Performance  &   Stress  tes%ng   • Smoke  Tes%ng   • Regression  Tes%ng   • Func%onal  Tes%ng   • Performance  &   Stress  tes%ng  
  • 18.
    Continuous Integration SPEAKER WARUM? Commit PROZESS Source Code Repository Build Report Deploy Continuous Testing FAZIT § Continuous Integration ermöglicht es Tests nach jedem Commit auszuführen Pull Development METHODEN §  Automatisiertes Testen nach jedem Commit §  Direkte Bugreports schon während der Entwicklungsphase §  Einsetzbar in allen LebenszyklusPhasen
  • 19.
  • 20.
    Zu richtige Testprozess Lösung:Der den Farben UNTERNEHMEN MOBILE TESTING CLOUD-TESTING CROWD-TESTING PREISE Unit Tests Manuelles Testen 1.  Unit Tests Monkey Tests 2.  Manuelles Testen 3.  UI-Tests (Regressions & Funktionstests) 4.  Stresstests 5.  Crowd Tests / Usability Tests 6.  Monitoring UI - Tests Crowd Tests Monitoring Stresstests Development QA Production
  • 21.
    Zu den Farben ManuellesTesten SPEAKER WARUM? PROZESS Was? METHODEN FAZIT Womit? §  Funktionelles Testen seperater App-Teile §  Emulatoren / Simulatoren & echten Geräten §  Usability Aspekte können mit abgedeckt werden §  Detaillierte Testpläne sollten vorhanden sein Wer? §  Tester, Entwickler & Akzeptanzgruppe Pros Wann? §  Entwicklungsphase & Pre-Release Cons §  Leicht auszuführen §  Zeit, Kosten und Fehlerrate §  Sofortiges Feedback §  Skaliert nicht
  • 22.
    Zu den Farben Ressourcensparen durch Automatisierung SPEAKER WARUM? PROZESS METHODEN FAZIT Ressourcen ROI Investment Testzyklen Vor- und Nachteile Testautomatisierung - Kosten der Einrichtung - Skripte verfassen und managen + Einsparungen manuelles Testen VS + Skripte können wiederverwendet werden + Schnellere Testzyklen, “Time to Market” + größere Sicherheit und Objektivität  
  • 23.
    Zu Unittests den Farben SPEAKER WARUM? PROZESS Was? METHODEN FAZIT Womit? § Testen einzelner SoftwareModule §  Android: Roboelectric, Junit, Emulatoren.. §  Soll-Vergleich dient als Grundlage für die Tests §  iOS: OCUnit, GHUnit, OCMock, Simulatoren Wer? §  Entwickler Pros §  Leicht auszuführen (CI) §  Testabdeckung 100% isolierter Komponenten mit wenigen Testfällen Wann? §  Entwicklungsphase Cons §  Fehlerfreiheit wird nicht nachgewieesen nur unterstützt
  • 24.
  • 25.
    Zu den Farben MonkeyTests SPEAKER WARUM? PROZESS Was? §  Zufälliges Testen der App §  Mehrere Tausend zufällige Aktionen (Klicks, Text Eingaben u.ä.) Wer? §  Entwickler & Tester Pros §  Leicht auszuführen (CI) §  Nahezu ohne Wartungsaufwand METHODEN FAZIT Womit? §  Android: Monkeyrunner, TestObject Random Input.. §  iOS: Anteater Wann? §  Entwicklungsphase Cons §  Fehler werden eher zufällig entdeckt
  • 26.
    Zu den Farben MonkeyTests SPEAKER WARUM? PROZESS METHODEN FAZIT
  • 27.
    ZuUI Testing den Farben SPEAKER WARUM? PROZESS Was? METHODEN FAZIT Womit? § Testen der Benutzeroberfläche und Funktionen §  Android: TestObject, Robotium, Monkeytalk… §  Sowohl Basis Tests als auch komplexe Szenarien §  iOS: Bald TestObject, Xcode, UIAutomation, … Wer? §  Entwickler & Tester Pros §  (Cloud) leicht aufzusetzen (CI) §  Erhöht Sicherheit & Kommunikation Wann? §  Entwicklungsphase, Pre-Release Tests Cons §  Wirksamkeit nach einigen Testläufen §  Wartungsintensiver
  • 28.
  • 29.
    Zu den Farben AutomatisiertesTesting in der Cloud SPEAKER WARUM? PROZESS METHODEN FAZIT -­‐  Test  your  mobile  app  in  the  cloud   -­‐  Create  testscripts  in  5  minutes   -­‐  Run  your  scripts  automated   Upload Einfach App hochladen §  Läuft direkt im Browser §  Aktuell für Androidund Web-Apps und bald für iOS §  Record Mit unseren modifizierten Emulatoren ganz normal die App nutzen §  Es werden automatisch Testskripte erstellt §  Replay §  Reports Nach dem Aufnehmen §  Nach jedem Testlauf Tests auf verschiedenen werden Geräte- und umfangreiche Systemkonfigurationen Protokolle abspielen bereitgestellt §  Find bugs before your users do!
  • 30.
    Zu den Testing CrowdFarben SPEAKER WARUM? PROZESS Was? METHODEN FAZIT Womit? §  Testen durch echte Nutzer in der “Wolke” §  Crowd Testing Anbieter: TestHub, WorkHub, Testbirds, Utest … §  Usability Tests auch explorative Funktionstests §  Ich berate gern Wer? §  Crowd Pros §  Externer Blick auf App §  Mehr Geräte erreichbar §  Usability Tests Wann? §  Pre-Release Cons §  Feedback muss gut ausgewertet werden §  Crowdtester sind oftmals nicht geschult
  • 31.
  • 32.