Skip to Content
Mobile Apps7 - Tipps für das ProjektTesten nativer Android Apps

Testen nativer Android Apps

Statische Code-Analyse

In Android Studio gibt es eingebaute Tools für die statische Code-Analyse, z. B. Lint-Checks, die potenzielle Probleme im Code erkennen können. Diese können mit Code → Inspect Code… ausgeführt werden.

Zusätzlich gibt es Tools für die statische Analyse von Android-/Kotlin-Code, z. B. Detekt  oder Ktlint .

Unit-Tests für Funktionen

In Kotlin werden Unit-Tests in der Regel mit JUnit geschrieben:

Es gibt auch moderne Test-Frameworks wie Kotest , die zusätzliche Funktionalitäten bieten.

Tests für UI-Komponenten

Ähnlich wie bei React Native können auch in nativen Android-Apps UI-Komponententests geschrieben werden, siehe z. B. UI-Testing für Compose in den Android-Docs: https://developer.android.com/develop/ui/compose/testing 

End-to-End-Tests mit Maestro

Allgemeine Informationen und Installation siehe Tests mit React Native.

Maestro nutzen

Test-Skript z. B. in app/src/androidTest/assets/maestro/first-flow.yaml:

appId: com.example.todosandroid2025 --- - launchApp: clearState: true - tapOn: "Neues Todo erstellen" - assertVisible: "Neues Todo" - inputText: "Check out Maestro!" - tapOn: "Hinzufügen" - assertVisible: "Check out Maestro!"

appId ist die applicationId der Android-App, die im Gradle-Skript in app definiert wird.

Ausführen mit maestro test app/src/androidTest/assets/maestro/first-flow.yaml. Im Emulator kann beobachtet werden, wie der UI-Test durchgeführt wird.

Alternativen zu Maestro

Appium (https://appium.io ) ist ebenfalls ein etabliertes und umfangreiches Open Source Testframework für End-to-End-Tests.

Android hat verschiedene eigene Ansätze (Espresso, UI-Automator, u.a.), siehe https://developer.android.com/training/testing .