Wie kann man automatisierte Tests in einer Bitrise App Pipeline einrichten?

Melden
  1. Einführung
  2. Vorbereitung der Testumgebung
  3. Erstellung der Bitrise Workflow
  4. Hinzufügen von Test-Schritten
  5. Konfiguration der Test-Schritte
  6. Integration in die Pipeline
  7. Ergebnis und Fehlerbehandlung
  8. Fazit

Einführung

Bitrise ist eine beliebte Continuous Integration (CI) und Continuous Delivery (CD) Plattform, die speziell für mobile App-Entwicklung optimiert ist.

Die Einrichtung von automatisierten Tests innerhalb einer Bitrise Pipeline ist essenziell, um sicherzustellen, dass Änderungen am Code nicht zu Regressionen führen und die Qualität der App dauerhaft hoch bleibt.

Vorbereitung der Testumgebung

Bevor automatisierte Tests in der Pipeline eingerichtet werden können, sollte eine lokale Testumgebung vorbereitet sein. Dazu gehört, dass alle Tests erfolgreich auf dem lokalen Rechner ausgeführt werden können.

Abhängig von der verwendeten Technologie (z.B. Android mit Gradle, iOS mit Xcode, React Native mit Jest, etc.) müssen die entsprechenden Testskripte vorhanden sein.

Außerdem sollten alle notwendigen Abhängigkeiten und Konfigurationen (z.B. simulierte Geräte oder Emulationsumgebungen) definiert sein.

Erstellung der Bitrise Workflow

In Bitrise wird ein Workflow definiert, der die einzelnen Schritte der Pipeline beschreibt. In einem Workflow können neben dem Bauen der App auch Tests ausgeführt werden.

Im Bitrise Dashboard lässt sich ein neuer Workflow anlegen, in dem man Schritt für Schritt die gewünschten "Steps" hinzufügen kann. Für die Ausführung der Tests wird üblicherweise ein spezieller Step verwendet, der die Tests startet.

Hinzufügen von Test-Schritten

Bitrise bietet zahlreiche vorgefertigte Steps, die speziell für das Ausführen von Tests auf bestimmten Plattformen gedacht sind. Für Android-Apps kann beispielsweise der Step "Run Gradle Unit Tests" oder "Run Unit Tests" genutzt werden.

Für iOS-Apps gibt es den Step "Xcode Test for iOS" oder "Run Xcode Tests". Diese Steps führen die im Projekt definierten Tests anhand der jeweiligen Testbefehle aus.

Bei plattformübergreifenden Frameworks wie React Native oder Flutter können Custom Script Steps hinzugefügt werden, die z.B. "npm test" oder entsprechend definierten Testbefehl ausführen.

Konfiguration der Test-Schritte

Beim Hinzufügen der Test-Schritte muss man typischerweise einige Parameter konfigurieren. Beispielsweise bei Android muss das Gradle-Task definiert werden, welches die Tests ausführt, z.B. "testDebugUnitTest".

Bei iOS kann der Scheme-Name angegeben werden, das simulierte Gerät oder die Testarten (Unit Tests, UI Tests).

Falls spezielle Umgebungsvariablen nötig sind, etwa für Testdaten- oder API-Zugriffe, können diese in Bitrise unter den Secrets oder Umgebungsvariablen hinterlegt und in den Schritten referenziert werden.

Integration in die Pipeline

Nachdem die Test-Schritte konfiguriert sind, sollten sie idealerweise nach dem Bauschritt, aber vor dem Deployment- oder Release-Schritt ausgeführt werden. So wird sichergestellt, dass die App erst weiterverarbeitet wird, wenn die Tests erfolgreich waren.

In Bitrise ist es möglich, die Reihenfolge der Schritte flexibel anzupassen, damit der Workflow den gewünschten Ablauf abbildet.

Ergebnis und Fehlerbehandlung

Wenn ein Testschritt fehlschlägt, bricht Bitrise den Workflow standardmäßig ab, was bedeutet, dass nachfolgende Schritte nicht ausgeführt werden. Dies hilft dabei, fehlerhaften Code nicht weiter zu veröffentlichen oder auszuliefern.

Bitrise stellt auch ausführliche Logs bereit, mit denen sich die Testergebnisse und Fehler leicht nachvollziehen lassen. Zudem kann man Tests so configurieren, dass Berichte (z.B. JUnit, XCTest Reports) generiert und visualisiert werden.

Fazit

Automatisierte Tests in einer Bitrise Pipeline zu integrieren ist ein wichtiger Schritt, um die Qualität von mobilen Apps sicherzustellen.

Dadurch können Fehler frühzeitig erkannt und behoben werden, bevor sie in die Produktion gelangen. Der Prozess besteht hauptsächlich darin, den passenden Test-Run-Step in den Workflow zu integrieren, ihn korrekt zu konfigurieren und somit einen kontinuierlichen Testprozess zu etablieren.

0

Kommentare