Mais conteúdo relacionado
Semelhante a Android Testing (20)
Mais de Alexander Pacha (6)
Android Testing
- 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
- 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. © 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. © Zühlke 2015
Automatisierte UI-Tests
Testerstellung mit dem Robotium Recorder
Android Testing | Alexander Pacha
Testmatrix
9. Oktober 2015 Folie 6
- 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. © 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. © 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