Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI...

52
Mobile Automation & Mobile Device Cloud

Transcript of Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI...

Page 1: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Mobile Automation & Mobile Device Cloud

Page 2: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Schlechte Qualität zeigt sich in der mobilen Welt besonders schnell . schnell

Page 3: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build
Page 4: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build
Page 5: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

44% erzählen ihren freunden Von einer schlechten online-Erfahrung

44%

Page 6: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Fazit Wir müssen testen!

Fazit

Page 7: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Gerätechaos Teuer, Langsam, Unsicher

27.04.2016 – Intern – René Habermann 7

Gerätechaos

Page 8: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Mobile Device Cloud Aufbau

– Intern – René Habermann 8 27.04.2016

Portal Server

Device Host

Device Host

Device Host

Cloud

Page 9: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Mobile Device Cloud Aufbau

– Intern – René Habermann 9 27.04.2016

Portal Server

Device Host

Device Host

Device Host

Cloud

anual

utomation

Page 10: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Mobile Device Cloud

– Intern – René Habermann 10 27.04.2016

Kernfeatures

Gerätevielfalt, Versionsvielfalt

Flexibilität

Verfügbarkeit

App Verwaltung

Abrechenbarkeit

Page 11: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Mobile Device Cloud

– Intern – René Habermann 11 27.04.2016

Kernfeatures

Gerätevielfalt, Versionsvielfalt

Flexibilität

Verfügbarkeit

App Verwaltung

Abrechenbarkeit

Page 12: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Mobile Device Cloud

– Intern – René Habermann 12 27.04.2016

Kernfeatures

Gerätevielfalt, Versionsvielfalt

Flexibilität

Verfügbarkeit

App Verwaltung

Abrechenbarkeit

Page 13: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Mobile Device Cloud

– Intern – René Habermann 13 27.04.2016

Kernfeatures

Gerätevielfalt, Versionsvielfalt

Flexibilität

Verfügbarkeit

App Verwaltung

Abrechenbarkeit

Page 14: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Mobile Device Cloud

– Intern – René Habermann 14 27.04.2016

Kernfeatures

Gerätevielfalt, Versionsvielfalt

Flexibilität

Verfügbarkeit

App Verwaltung

Abrechenbarkeit

Page 15: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Manueller Zugriff Video entfernt

– Intern – René Habermann 15 27.04.2016

Page 16: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Systemkonfigurationen

– Intern – René Habermann 16 27.04.2016

Testmultiplikatoren

Page 17: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Systemkonfigurationen

– Intern – René Habermann 17 27.04.2016

5.x 4.x

2.3.x

9.x 8.x 7.x

Testmultiplikatoren

Page 18: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Systemkonfigurationen

– Intern – René Habermann 18 27.04.2016

5.x 4.x

2.3.x

9.x 8.x 7.x

Testmultiplikatoren

Page 19: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Systemkonfigurationen

– Intern – René Habermann 19 27.04.2016

5.x 4.x

2.3.x

9.x 8.x 7.x

= zu viel!

= zu viel!

36

Testmultiplikatoren

Page 20: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Systemkonfigurationen

– Intern – René Habermann 20 27.04.2016

5.x 4.x

2.3.x

9.x 8.x 7.x

= zu viel!

= zu viel!

36

Testmultiplikatoren

Aber bitte gegen alle 4 Umgebungen!

Page 21: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Systemkonfigurationen

– Intern – René Habermann 21 27.04.2016

9.x 8.x 7.x

= zu viel!

= zu viel!

36

Testmultiplikatoren

Aber bitte gegen alle 4 Umgebungen!

Und mit den 3 App Builds.

5.x 4.x

2.3.x

Page 22: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

App 2 App 1

Automatisierung Naiver Ansatz

– Intern – René Habermann 22 27.04.2016

Page 23: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

App 2 App 1

Automatisierung Naiver Ansatz

– Intern – René Habermann 23 27.04.2016

Funktion B Funktion A Funktion C Funktion B Funktion A Funktion C

Page 24: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

App 2 App 1

Automatisierung Naiver Ansatz

– Intern – René Habermann 24 27.04.2016

Automatisierung 1 - Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X

Funktion B Funktion A Funktion C Funktion B Funktion A Funktion C

Page 25: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

App 2 App 1

Automatisierung Naiver Ansatz

– Intern – René Habermann 25 27.04.2016

Automatisierung 1 - Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X

Funktion B Funktion A Funktion C Funktion B Funktion A Funktion C

Page 26: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

App 2 App 1

Automatisierung Naiver Ansatz

– Intern – René Habermann 26 27.04.2016

Automatisierung 1 - Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X

Funktion B Funktion A Funktion C Funktion B Funktion A Funktion C

Was passiert, wenn sich Funktion C ändert?

Page 27: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

App 2 App 1

Automatisierung Naiver Ansatz

– Intern – René Habermann 27 27.04.2016

Automatisierung 1 - Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X

Funktion B Funktion A Funktion C Funktion B Funktion A Funktion C

6 Testfälle müssen angepasst werden. Schlechte Wartbarkeit!

Page 28: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

App 2 App 1

Automatisierung Abstrahieren!

– Intern – René Habermann 28 27.04.2016

Automatisierung 1 - Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X

Funktion B Funktion A Funktion C Funktion B Funktion A Funktion C

Abstrakt B Abstrakt A Abstrakt C Abstrakt B Abstrakt A Abstrakt C

Page 29: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

App 2 App 1

Automatisierung Abstrahieren!

– Intern – René Habermann 29 27.04.2016

Automatisierung 1 - Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X

Funktion B Funktion A Funktion C Funktion B Funktion A Funktion C

Abstrakt B Abstrakt A Abstrakt C Abstrakt B Abstrakt A Abstrakt C

2 Abstraktionen müssen angepasst werden. Bessere Wartbarkeit.

Page 30: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Automatisierung Einheitliche Technologie

– Intern – René Habermann 30 27.04.2016

Automatisierung – Java mit Xeta

Abstrakt B Abstrakt A Abstrakt C

App 2 App 1

Funktion B Funktion A Funktion C Funktion B Funktion A Funktion C

Page 31: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Automatisierung Einheitliche Technologie

– Intern – René Habermann 31 27.04.2016

Automatisierung – Java mit Xeta

Abstrakt B Abstrakt A Abstrakt C

App 2 App 1

Funktion B Funktion A Funktion C Funktion B Funktion A Funktion C

Abstrakt E Abstrakt D

Weniger Duplizierung, mehr Zeit zum Automatisieren

Page 32: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Automatisierung Einheitliche Technologie

– Intern – René Habermann 32 27.04.2016

Automatisierung – Java mit Xeta

Abstrakt B Abstrakt A Abstrakt C

App 2 App 1

Funktion B Funktion A Funktion C Funktion B Funktion A Funktion C

Abstrakt E Abstrakt D

Nur noch eine Anpassung. Endlich Wartbar!

Page 33: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Mobile Automatisierung Grundsätze

– Intern – René Habermann 33 27.04.2016

Einheitliche Technologie

Passende Abstraktionen

Page 34: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Mobile Automatisierung Grundsätze

– Intern – René Habermann 34 27.04.2016

Einheitliche Technologie

Passende Abstraktionen

Die große Toolfrage

Page 35: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Mobile Automatisierung Grundsätze

– Intern – René Habermann 35 27.04.2016

Einheitliche Technologie

Passende Abstraktionen

Die große Toolfrage

z.B. aufgebohrtes Page Object Pattern

Page 36: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

1 Skript, 1000 Ausführungen

– Vertraulich – André Hirsch 36 27.04.2016

1 Testskript

Page 37: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

2 Praxisbeispiele

Page 38: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

App - Sendungsverfolgung Lösung

– Intern – René Habermann 38 27.04.2016

Native App

Page 39: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

App - Sendungsverfolgung Lösung

– Intern – René Habermann 39 27.04.2016

Native App

Automatisierung Java mit Xeta

70% Wiederverwendung

Page 40: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

App - Sendungsverfolgung 1 Skript, 2 Plattformen

– Intern – René Habermann 40 27.04.2016

Testskript

Abstrakt

Page A Page B

Android Page A

iOS Page A

Android Page B

iOS Page B

Konkret 30%

70%

Page 41: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Continuous Integration Unstable Build

– Intern – René Habermann 41 27.04.2016

Kunde MMS

Cloud

Page 42: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Continuous Integration Testing Build

– Intern – René Habermann 42 27.04.2016

Kunde MMS

Cloud

Page 43: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

App - Sendungsverfolgung Vorteile

– Intern – René Habermann 43 27.04.2016

Einheitliche Technologie

Hohe Wartbarkeit, Erweiterbarkeit

Vollautomatischer Buildprozess

Verringerte Testaufwände

Page 44: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

– Intern – René Habermann 44 27.04.2016

Bestellcenter

GK Relaunch im responsive

design

Page 45: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Bestellcenter GK Responsive Design

– Intern – René Habermann 45 27.04.2016

Page 46: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Bestellcenter GK Desktop & Mobile browser

– Intern – René Habermann 46 27.04.2016

Page 47: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Bestellcenter GK Desktop & Mobile browser

– Intern – René Habermann 47 27.04.2016

Ziel, wie immer: Nur 1 Skript

Page 48: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Bestellcenter GK Lösung

– Intern – René Habermann 48 27.04.2016

Mobile Desktop

1 Skript

Page 49: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Bestellcenter GK Lösung

– Intern – René Habermann 49 27.04.2016

Mobile Desktop

1 Skript

Page 50: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Bestellcenter GK Lösung

– Intern – René Habermann 50 27.04.2016

Mobile Desktop

1 Skript

80% Wiederverwendung

Page 51: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Bestellcenter GK Vorteile

– Intern – René Habermann 51 27.04.2016

Einheitliche Technologie

Hohe Wartbarkeit, Erweiterbarkeit

Vollautomatischer Buildprozess

Verringerte Testaufwände

Page 52: Mobile Automation & Mobile Device Cloud · JavaScript mit Xcode - Nur auf OS X ... Java mit UI Automator Automatisierung 2 - JavaScript mit Xcode - Nur auf OS X ... Testing Build

Fragen? Erfahrungen?

Danke