© Zühlke 2015
Android Testing
Android Testing | Alexander Pacha 9. Oktober 2015 Folie 1
© Zühlke 2015
Testen von mobilen Anwendungen
Orientierung an normalem Testen
• Unit- und Integrationstests
• Separation of...
© Zühlke 2015
Testpyramide
Unit-Tests
Integrations-Tests
Automatisierte UI-Tests
Manuelle Tests
Gewünschte
Anzahl der Test...
© Zühlke 2015
Unit- und Integrationstests
Android Testing | Alexander Pacha
• JUnit4 (Android Testing Support Library)
• M...
© Zühlke 2015
Automatisierte UI-Tests
Tools, Frameworks und Services
Android Testing | Alexander Pacha
• Robotium: Erweite...
© Zühlke 2015
Automatisierte UI-Tests
Testerstellung mit dem Robotium Recorder
Android Testing | Alexander Pacha
Testmatri...
© Zühlke 2015
Automatisierte UI-Tests
Der erzeugte Testcode
Android Testing | Alexander Pacha 9. Oktober 2015 Folie 7
© Zühlke 2015
Tipps
Android Testing | Alexander Pacha
• Auslagern von Businesslogik in separate Bibliothek sinnvoll
• Ermö...
© Zühlke 2015
Zusammenfassung
• Unit- und Integrationstests sehr wichtig
• Saubere Architektur notwendig für Testbarkeit
•...
© Zühlke 2015
Links
Robotium Quellcode: https://github.com/robotiumtech/robotium
Robotium Dokumentation: https://github.co...
Nächste SlideShare
Wird geladen in …5
×

Android Testing

367 Aufrufe

Veröffentlicht am

Meine Folien zum Thema Android Testing vom Freitalk am 09. Oktober 2015.

Veröffentlicht in: Ingenieurwesen
0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
367
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Android Testing

  1. 1. © Zühlke 2015 Android Testing Android Testing | Alexander Pacha 9. Oktober 2015 Folie 1
  2. 2. © Zühlke 2015 Testen von mobilen Anwendungen Orientierung an normalem Testen • Unit- und Integrationstests • Separation of Concerns • Testautomatisierung (CI) Zusätzliche Herausforderungen • Physisches Gerät vs. Emulator • Verschiedene Formfaktoren • Verschiedene OS-Versionen • Bugs im OS und SDK Android Testing | Alexander Pacha Fragmentierung  Testmatrix 9. Oktober 2015 Folie 2
  3. 3. © Zühlke 2015 Testpyramide Unit-Tests Integrations-Tests Automatisierte UI-Tests Manuelle Tests Gewünschte Anzahl der Tests Android Testing | Alexander Pacha 9. Oktober 2015 Folie 3
  4. 4. © Zühlke 2015 Unit- und Integrationstests Android Testing | Alexander Pacha • JUnit4 (Android Testing Support Library) • Mockito Voraussetzungen: • Verwendung von Interfaces und Dependency Injection • Saubere Architektur (z.B. MVP) 9. Oktober 2015 Folie 4
  5. 5. © Zühlke 2015 Automatisierte UI-Tests Tools, Frameworks und Services Android Testing | Alexander Pacha • Robotium: Erweiterung des Android Test Frameworks um Anwendungsszenarien (leichter) zu testen • Kostenlose Bibliothek • Kommerziellen Robotium Recorder (~300€ / Jahr) • Espresso • Selendroid • Appium • Rannorex Ergänzung: • TestObject – Cloud-Service zum Testen auf realen physischen Geräten 9. Oktober 2015 Folie 5
  6. 6. © Zühlke 2015 Automatisierte UI-Tests Testerstellung mit dem Robotium Recorder Android Testing | Alexander Pacha Testmatrix 9. Oktober 2015 Folie 6
  7. 7. © Zühlke 2015 Automatisierte UI-Tests Der erzeugte Testcode Android Testing | Alexander Pacha 9. Oktober 2015 Folie 7
  8. 8. © Zühlke 2015 Tipps Android Testing | Alexander Pacha • Auslagern von Businesslogik in separate Bibliothek sinnvoll • Ermöglicht Tests ohne Gerät/Emulator • Verwendung von MVVM/MVP-Pattern um Testbarkeit zu erhöhen • Xamarin Android Player verwenden • Sehr performant zum Entwickeln • Erlaubt einfache Installation von Google Play Services • Viele weitere Tools, die evaluiert und bei Bedarf eingesetzt werden sollten: • Z.B. Robolectric: http://robolectric.org 9. Oktober 2015 Folie 8
  9. 9. © Zühlke 2015 Zusammenfassung • Unit- und Integrationstests sehr wichtig • Saubere Architektur notwendig für Testbarkeit • Automatisierte UI-Tests auf realen Geräten notwendig um folgende Probleme und Bugs zu finden: • Unterschiedliches Verhalten von manchen physischen Geräten (z.B. 90°-Rotation des Kamerabildes) • Bugs im SDK • Bugs in der Vendor-Customization Testet hart, testet gründlich, testet automatisch Android Testing | Alexander Pacha Mobile Apps richtig testen 9. Oktober 2015 Folie 9
  10. 10. © Zühlke 2015 Links Robotium Quellcode: https://github.com/robotiumtech/robotium Robotium Dokumentation: https://github.com/RobotiumTech/robotium/wiki Robotium Recorder Website: http://robotium.com/ Google „Android Test Support Library“: https://google.github.io/android-testing-support-library/ Testing Support Library Dokumentation: https://developer.android.com/tools/testing-support- library/index.html Android Testing Samples: https://github.com/googlesamples/android-testing Android MVP: http://antonioleiva.com/mvp-android/ Robolectric: http://robolectric.org/ Android Architecture – The Clean Way? http://fernandocejas.com/2014/09/03/architecting-android- the-clean-way/ Android CIs: • http://greenhouseci.com/ • https://circleci.com • Jenkins (http://www.vogella.com/tutorials/Jenkins/article.html#android_jenkinsbuild) Android Testing | Alexander Pacha 9. Oktober 2015 Folie 10

×