32
Mobile App Testing im agilen Umfeld Test more. Worry less.

Mobile App Testing In Agile Environment

Embed Size (px)

DESCRIPTION

Review of the dynamic global world of mobile apps focusing on QA practices and testing trends and tools.

Citation preview

Page 1: Mobile App Testing In Agile Environment

Mobile App Testing im agilen Umfeld

Test more. Worry less.

Page 2: Mobile App Testing In Agile Environment

SPEAKER

WARUM QUALITÄTSICHERUNG?

QUALITÄTSICHERUNG ALS PROZESS

TESTMETHODEN IM ÜBERBLICK

Agenda

FAZIT

Page 3: Mobile App Testing In Agile Environment

HANNES LENKE

Page 4: Mobile App Testing In Agile Environment

Zu den Farben Hannes Lenke

§  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)

SPEAKER WARUM? PROZESS METHODEN FAZIT

Page 5: Mobile App Testing In Agile Environment

WARUM QUALTITÄTSSICHERUNG?

Page 6: Mobile App Testing In Agile Environment

Zu den Farben Kennen Sie das?

SPEAKER WARUM? PROZESS METHODEN FAZIT

Page 7: Mobile App Testing In Agile Environment

Zu den Farben Warum Testen?

„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)

SPEAKER WARUM? PROZESS METHODEN FAZIT

Page 8: Mobile App Testing In Agile Environment

Zu den Farben Testen, das beste Marketing

Posi%ve  Bewertungen  

Mehr  Downloads  

Besseres  Ranking  

Mehr  Downloads  

§  Bewertungen und Engagement

bestimmen Position in Charts

§  Position hat direkten Einfluss auf Downloads

§  Höher bewertete Apps bekommen mehr Bewertungen

Zusammenhang: Rating - Ranking

Quellen: AMA, TechCrunch, Fiksu

“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)

SPEAKER WARUM? PROZESS METHODEN FAZIT

Page 9: Mobile App Testing In Agile Environment

WELCHEN PROBLEMEN BEGEGNEN WIR?

Page 10: Mobile App Testing In Agile Environment

Der Mobile-Markt ist extrem fragmentiert, was Testing vor besondere Heraus-forderungen stellt! §  Device-Fragmentierung (allein über 11.000

Android Geräte am Markt)

§  Betriebssysteme (Android, iOS …)

§  Bildschirmgrößen und -auflösungen

Fragmentierung – Geräte

SPEAKER WARUM? PROZESS METHODEN FAZIT

Quelle:  Opensignals  

Page 11: Mobile App Testing In Agile Environment

Fragmentierung - Betriebssysteme

SPEAKER WARUM? PROZESS METHODEN FAZIT

Quelle:  Opensignals  

Page 12: Mobile App Testing In Agile Environment

Fragmentierung – Bildschirmgrößen

SPEAKER WARUM? PROZESS METHODEN FAZIT

Quelle:  Opensignals  

Page 13: Mobile App Testing In Agile Environment

Fragmentierung – Bildschirmgrößen

SPEAKER WARUM? PROZESS METHODEN FAZIT

Quelle:  Opensignals  

Page 14: Mobile App Testing In Agile Environment

QUALITÄTSSICHERUNGS PROZESS

Page 15: Mobile App Testing In Agile Environment

Agile Projekte

SPEAKER WARUM? PROZESS METHODEN FAZIT

Quelle:  World  Quality  Report  Capgemini    

Page 16: Mobile App Testing In Agile Environment

Agile Projekte

SPEAKER WARUM? PROZESS METHODEN FAZIT

Quelle:  Utest    

Page 17: Mobile App Testing In Agile Environment

Lösung? So früh wie möglich anfangen!

Test  Planning  /  Test  Cases  

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

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

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

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

Mobile  App  Development  Process  

SPEAKER WARUM? PROZESS METHODEN FAZIT

Page 18: Mobile App Testing In Agile Environment

Continuous Integration

Development

Source Code Repository

Build

Continuous Testing

Commit Pull

Deploy Report

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

§  Automatisiertes Testen nach jedem

Commit §  Direkte Bugreports schon während

der Entwicklungsphase

§  Einsetzbar in allen Lebenszyklus- Phasen

SPEAKER WARUM? PROZESS METHODEN FAZIT

Page 19: Mobile App Testing In Agile Environment

Testmethoden

Page 20: Mobile App Testing In Agile Environment

Zu den Farben Lösung: Der richtige Testprozess

Development QA Production

Unit Tests

UI - Tests

Crowd Tests

Stresstests

Monitoring

1.  Unit Tests

2.  Manuelles Testen

3.  UI-Tests (Regressions & Funktionstests)

4.  Stresstests

5.  Crowd Tests / Usability Tests

6.  Monitoring

UNTERNEHMEN MOBILE TESTING CLOUD-TESTING CROWD-TESTING PREISE

Manuelles Testen

Monkey Tests

Page 21: Mobile App Testing In Agile Environment

Zu den Farben Manuelles Testen

Was? Womit?

Cons

Wann?

§  Entwicklungsphase & Pre-Release

Wer? §  Tester, Entwickler &

Akzeptanzgruppe

§  Funktionelles Testen seperater App-Teile

§  Usability Aspekte können mit abgedeckt werden

§  Emulatoren / Simulatoren & echten Geräten

§  Detaillierte Testpläne sollten vorhanden sein

Pros §  Leicht auszuführen

§  Sofortiges Feedback

§  Zeit, Kosten und Fehlerrate

§  Skaliert nicht

SPEAKER WARUM? PROZESS METHODEN FAZIT

Page 22: Mobile App Testing In Agile Environment

Zu den Farben Ressourcen sparen durch Automatisierung

- Kosten der Einrichtung

- Skripte verfassen und managen

+ Einsparungen manuelles Testen

+ Skripte können wiederverwendet werden

+ Schnellere Testzyklen, “Time to Market”

+ größere Sicherheit und Objektivität  

Vor- und Nachteile Testautomatisierung

VS

ROI

Investment

Testzyklen

Ressourcen

SPEAKER WARUM? PROZESS METHODEN FAZIT

Page 23: Mobile App Testing In Agile Environment

Zu den Farben Unittests

Was? Womit?

Cons

Wann?

§  Entwicklungsphase

Wer?

§  Entwickler

§  Testen einzelner Software-Module

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

§  Android: Roboelectric, Junit, Emulatoren..

§  iOS: OCUnit, GHUnit, OCMock, Simulatoren

Pros §  Leicht auszuführen (CI)

§  Testabdeckung 100% isolierter Komponenten mit wenigen Testfällen

§  Fehlerfreiheit wird nicht nachgewieesen nur unterstützt

SPEAKER WARUM? PROZESS METHODEN FAZIT

Page 24: Mobile App Testing In Agile Environment

Zu den Farben Unittests

SPEAKER WARUM? PROZESS METHODEN FAZIT

Page 25: Mobile App Testing In Agile Environment

Zu den Farben Monkey Tests

Was? Womit?

Cons

Wann?

§  Entwicklungsphase

Wer?

§  Entwickler & Tester

§  Zufälliges Testen der App

§  Mehrere Tausend zufällige Aktionen (Klicks, Text Eingaben u.ä.)

§  Android: Monkeyrunner, TestObject Random Input..

§  iOS: Anteater

Pros §  Leicht auszuführen (CI)

§  Nahezu ohne Wartungsaufwand

§  Fehler werden eher zufällig entdeckt

SPEAKER WARUM? PROZESS METHODEN FAZIT

Page 26: Mobile App Testing In Agile Environment

Zu den Farben Monkey Tests

SPEAKER WARUM? PROZESS METHODEN FAZIT

Page 27: Mobile App Testing In Agile Environment

Zu den Farben UI Testing

Was? Womit?

Cons

Wann? §  Entwicklungsphase, Pre-Release

Tests

Wer?

§  Entwickler & Tester

§  Testen der Benutzeroberfläche und Funktionen

§  Sowohl Basis Tests als auch komplexe Szenarien

§  Android: TestObject, Robotium, Monkeytalk…

§  iOS: Bald TestObject, Xcode, UIAutomation, …

Pros §  (Cloud) leicht aufzusetzen (CI)

§  Erhöht Sicherheit & Kommunikation

§  Wirksamkeit nach einigen Testläufen

§  Wartungsintensiver

SPEAKER WARUM? PROZESS METHODEN FAZIT

Page 28: Mobile App Testing In Agile Environment

Zu den Farben UI Testing

SPEAKER WARUM? PROZESS METHODEN FAZIT

Page 29: Mobile App Testing In Agile Environment

Zu den Farben Automatisiertes Testing in der Cloud

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

Upload Record Replay Reports §  Einfach App

hochladen §  Läuft direkt im

Browser §  Aktuell für Android-

und Web-Apps und bald für iOS

§  Mit unseren modifizierten Emula- toren ganz normal die App nutzen

§  Es werden auto- matisch Testskripte erstellt

§  Nach dem Aufnehmen Tests auf verschiedenen Geräte- und Systemkonfigurationen abspielen

§  Nach jedem Testlauf werden umfangreiche Protokolle bereitgestellt

§  Find bugs before your users do!

SPEAKER WARUM? PROZESS METHODEN FAZIT

Page 30: Mobile App Testing In Agile Environment

Zu den Farben Crowd Testing

Was? Womit?

Cons

Wann?

§  Pre-Release

Wer?

§  Crowd

§  Testen durch echte Nutzer in der “Wolke”

§  Usability Tests auch explorative Funktionstests

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

§  Ich berate gern

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

§  Feedback muss gut ausgewertet werden

§  Crowdtester sind oftmals nicht geschult

SPEAKER WARUM? PROZESS METHODEN FAZIT

Page 31: Mobile App Testing In Agile Environment

Fazit

Qualitätssicherung ist immer eine Mischung aus vielen Methoden!

Aber...

SPEAKER WARUM? PROZESS METHODEN FAZIT

Page 32: Mobile App Testing In Agile Environment

FRAGEN?

Hannes Lenke Geschäftsführer

[email protected] +49 (0)175 – 546 066 4