Die vorliegende Masterthesis beschäftigt sich mit dem Einsatz von Continuous Integration in der Android-Entwicklung. Dabei liegt das Hauptaugenmerk auf automatisierten Tests. Ziel der Arbeit ist zum einen, die Besonderheiten und Möglichkeiten beim Testen von mobilen, insbesondere Android-Anwendungen aufzuzeigen.
Zum anderen wird eine Ende-zu-Ende-Buildkette beschrieben, mit welcher der Integrationsprozess von Android-Anwendungen unter Einsatz des Werkzeugs Jenkins vollständig automatisiert werden kann. Zusätzlich wird ein Konzept für einen skalierbaren Gerätepool vorgestellt, mit dem es möglich ist, Android-Anwendungen parallel auf beliebig vielen Endgeräten zu testen.
CD nicht im Lieferumfang enthalten!
Inhaltsverzeichnis (Table of Contents)
- 1. Einleitung
- 1.1. Kontext der Arbeit
- 1.2. Ziel der Arbeit
- 1.3. Aufbau der Arbeit
- 2. Continuous Integration als Konzept
- 2.1. Definition
- 2.2. Die zehn CI-Praktiken
- 2.3. Vorteile von Continuous Integration
- 3. Testen von Android-Anwendungen
- 3.1. Besonderheiten
- 3.1.1. Konfigurationsvielfalt
- 3.1.2. Ein- und Ausgabe
- 3.2. Testumgebungen
- 3.3. Test-Arten
- 3.4. Werkzeuge
- 3.4.1. Android Testing Framework
- 3.4.2. Monkeyrunner
- 3.4.3. Robotium
- 3.4.4. Robolectric
- 3.5. Beispiele
- 3.5.1. Beispielanwendung: PixBox-App
- 3.5.2. Testen mit dem ATF
- 3.5.3. Testen mit Monkeyrunner
- 4. Entwicklung einer CI-Kette für Android-Projekte
- 4.1. Die CI-Kette im Überblick
- 4.2. Jenkins CI-Server
- 4.2.1. Jenkins - Ein historischer Überblick
- 4.2.2. Die Architektur von Jenkins
- 4.2.3. Jenkins-Server für diese Arbeit
- 4.3. Versionsmanagement mit Git
- 4.4. Automatisierte Builds
- 4.4.1. Werkzeuge
- 4.4.2. Jenkins-Integration
Zielsetzung und Themenschwerpunkte (Objectives and Key Themes)
Diese Masterthesis untersucht die Anwendung von Continuous Integration in der Android-Entwicklung mit Schwerpunkt auf automatisierten Tests. Sie zielt darauf ab, die Besonderheiten und Möglichkeiten beim Testen mobiler Anwendungen, insbesondere auf Android, aufzuzeigen. Des Weiteren beschreibt sie eine vollständige, automatisierte Buildkette für Android-Anwendungen unter Verwendung von Jenkins und stellt ein Konzept für einen skalierbaren Gerätepool vor, der paralleles Testen auf einer beliebigen Anzahl von Geräten ermöglicht.
- Continuous Integration in der Android-Entwicklung
- Automatisierte Tests für Android-Anwendungen
- Besonderheiten des Testens mobiler Anwendungen
- Entwicklung einer Ende-zu-Ende-Buildkette mit Jenkins
- Konzept für einen skalierbaren Gerätepool
Zusammenfassung der Kapitel (Chapter Summaries)
Kapitel 1 führt in das Thema Continuous Integration und seine Bedeutung in der Android-Entwicklung ein. Kapitel 2 beschreibt das Konzept von Continuous Integration, seine Definition, die CI-Praktiken und seine Vorteile. Kapitel 3 geht detailliert auf das Testen von Android-Anwendungen ein, einschließlich der Besonderheiten, Testumgebungen, Testarten und Werkzeuge. Kapitel 4 präsentiert eine vollständige CI-Kette für Android-Projekte, einschließlich der Verwendung von Jenkins als CI-Server, Versionsmanagement mit Git und automatisierten Builds.
Schlüsselwörter (Keywords)
Continuous Integration, Android, Mobile Entwicklung, Automatisierung, Tests, Buildkette, Jenkins, Gerätepool.
- Quote paper
- Max Batt (Author), 2013, Continuous Integration und automatisierte Tests für Android, Munich, GRIN Verlag, https://www.grin.com/document/314757