Mobile Testing @ XING - ist
der Release Train pünktlich?
Düsseldorf, 27.04.2016
Sergej Mudruk
Team Lead QA
Daniel Knott
Senior Software Test Engineer
@dnlkntt
www.adventuresinqa.com
2
XING AG
• Gegründet 2003 als OpenBC
• Seit 2006 XING AG
• > 15 Mio. Mitglieder weltweit
• die meisten in der DACH Region
• > 50% Mobile Traffic
• App Releases jede 2 Wochen
3
Bedeutung
• iPhone-Einführung im 2007
• Verbraucher zunehmend mobil
• Apps immer noch nicht
selbstverständlich
• Weitere rapide „Mobilisierung“ der
Entwicklung
4
5
2014
6
X
W
S
+10
Release-Prozess
• 1 mobiles Entwicklungsteam pro Plattform
(iOS/ Android)
• Features-Anforderungen von Domain-
Teams
• Zentrale Priorisierung und Entwicklung
• Team-KooperationBackend / Mobile
• Releases – unregelmäßig / nach Bedarf
• ca. 1 Mal im Monat
• Kein Koordinationsbedarf
7
Warum verändern?
8
9
#Skalierung
10
#API-Calls in den Teams
11
#zentrales Team - Engpass
12
#Domainwissen
13
#Koordination BE<->App
14
#Full Stack Product thinking
15
2016
Team-Aufbau / Plattform Team
• Feature-bezogene Änderungen
- Patterns
- Maintenance
- Zentrale Komponenten
• Nicht zugeordnete
Komponenten
• Vorantreiben der Innovationen
16
Team-Aufbau / FrameworkTeam
• Infrastrukturelle Änderungen
- Bibliotheken
- Zentrale Komponenten
• Deployment
• CI-Infrastruktur (Jenkins)
• Tools:
- Development
- Automatisierung
• Crash Reports (Evaluierung)
17
18
X
W
S
+10
Release-Prozess
Wie die Releases heute organisiert sind.
19
Release-Train
• 2 zentrale Sub-Teams pro Plattform
• Features in den jeweiligen Domain-
Teams
• Team-Kooperation DSTs / mobile
Teams
• Vorgaben / Patterns
• Einheitlicher Release-Train-Prozess
20
21
Entwicklung asynchron
Feature Freeze
Public Release
Pre-Release / Beta-Test
1,5 Wochen
Sprintende 1,5 Wochen
insg. 4
Wochen
Wie stellt man die App Qualität sicher ?
• Abgeschlossenes Testen der neuen Features
• manuell
• Automatisierte Tests
• Erfolgreiche manuelle Regressionstests
• Testautomatisierung
• Frühe Fehlererkennung
22
Regressionstests
• jedes „unleashed“ Team
• eigener Bereich– einzeln und integriert
• zentrales Team
• generelle Koordination
• allgemeines Testen (Tracking, Update, etc.)
• Bereiche in der Teamverantwortung
23
Testautomatisierung- Android
• Unit Tests
• Statische Code Analyse
• UI Tests- „Espresso for
Android“
• Simulatoren / echte Geräte
• tägliche Builds
• tägliche Deployments
24
Frühe Fehlererkennung - Android
• „Beta Tests“ - Phase
- 1 Woche
- Google Play Store Tools
- User melden sich an
• „Staged rollout“
- 20%
- 50%
- 100%
25
26
27
28
Testautomatisierung- iOS
• Unit Tests + FB Snapshot-
Tests
• UI Tests – KIF
• mehrere Testsuiten
• iOS Simulatoren
• 2 Test Systeme
• tägliche Builds
• automatisches Deployment
29
Frühe Fehlererkennung - iOS
• Pre-release Phase
- 1,5 Wochen
- XING-intern
- jeder Mitarbeiter mit iOS
30
31
32
33
34
35
36
Erfahrungen
• Skalierung funktioniert
• keine zusätzlichen Tools benötigt
• versetzte Releases Android / iOS
• Knowhow Erweiterung benötigt
• zentrales Team koordiniert
• strikt sein
37
Vielen Dank für Ihre
Aufmerksamkeit!
www.xing.com
Daniel Knott
@dnlkntt
Sergej Mudruk

Mobile testing @ XING - Ist der Release Train pünktlich