Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Android Testing

454 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Ingenieurwesen
  • Als Erste(r) kommentieren

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

×