Beginnen Sie mit dem Testen für Android mit Firebase Test Lab

Mit Firebase Test Lab können Sie Ihre App auf einer Reihe von Geräten und Konfigurationen testen. Dieser Leitfaden „Erste Schritte“ bietet einen Implementierungspfad, dem Sie folgen können, sowie eine Einführung in die Android-Angebote von Test Lab.

Informationen zu Testlaborkontingenten und Preisplänen finden Sie unter Nutzung, Kontingente und Preise .

Schlüssel Konzepte

Wenn Sie einen Test oder eine Reihe von Testfällen für von Ihnen ausgewählte Geräte und Konfigurationen ausführen, führt Test Lab den Test für Ihre App in einem Stapel aus und zeigt die Ergebnisse dann als Testmatrix an.

Geräte × Testausführungen = Testmatrix

Gerät
Ein physisches oder virtuelles Gerät (nur Android), auf dem Sie einen Test durchführen, z. B. ein Telefon, Tablet oder tragbares Gerät. Geräte in einer Testmatrix werden nach Gerätemodell, Betriebssystemversion, Bildschirmausrichtung und Gebietsschema (auch als Geografie- und Spracheinstellungen bezeichnet) identifiziert.
Test, Testdurchführung
Ein Test (oder eine Reihe von Testfällen), der auf einem Gerät ausgeführt werden soll. Sie können einen Test pro Gerät ausführen oder optional den Test aufteilen und seine Testfälle auf verschiedenen Geräten ausführen.
Testmatrix
Enthält die Status und Testergebnisse für Ihre Testausführungen. Wenn eine Testausführung in einer Matrix fehlschlägt, schlägt die gesamte Matrix fehl.

Schritt 1 : Bereiten Sie Ihren Test zum Hochladen in das Testlabor vor

Verfügbare Testtypen

Sie können die folgenden Tests mit Test Lab ausführen. Beachten Sie, dass alle Testtypen auf eine Laufzeit von 45 Minuten auf physischen Geräten und 60 Minuten auf virtuellen Geräten beschränkt sind. Jede nicht abgefangene Ausnahme führt zu einem Testfehler.

  • Instrumentierungstest oder instrumentierter Unit-Test : Ein Test, den Sie mit den Espresso- oder UI Automator- Frameworks geschrieben haben. Mit diesem Test können Sie explizite Aussagen über den Status Ihrer App machen, um mithilfe von AndroidJUnitRunnerAPIs die korrekte Funktionalität zu überprüfen.

  • Robo-Test : Ein automatisierter Test, der die Benutzeroberfläche Ihrer App analysiert und sie dann methodisch untersucht, indem er Benutzeraktivitäten simuliert, ohne dass Sie Code schreiben müssen. Weitere Informationen finden Sie unter „Über Robo-Tests“ .

  • Game-Loop-Test : Ein Test, der einen „Demo-Modus“ verwendet, um Spieleraktionen in Gaming-Apps zu simulieren. Dies ist eine schnelle und skalierbare Methode, um zu überprüfen, ob Ihr Spiel für Benutzer eine gute Leistung erbringt. Wenn Sie sich für die Durchführung eines Game Loop-Tests entscheiden, können Sie:

    • Schreiben Sie native Tests für Ihre Spiel-Engine

    • Vermeiden Sie es, denselben Code für verschiedene Benutzeroberflächen oder Testframeworks zu schreiben

    • Erstellen Sie optional mehrere Schleifen, die in einer einzigen Testausführung ausgeführt werden (weitere Informationen finden Sie unter „Über Game-Loop-Tests “). Sie können Schleifen auch mithilfe von Beschriftungen organisieren, sodass Sie den Überblick behalten und bestimmte Schleifen erneut ausführen können.

    Anweisungen zum Ausführen dieses Tests mit Test Lab finden Sie unter Ausführen eines Game-Loop-Tests .

Tools zur Durchführung Ihres Tests

Sie können die folgenden Tools zur Durchführung Ihres Tests auswählen:

Sie können Ihre App auch kostenlos mit Test Lab testen, wenn Sie die APK-Dateien Ihrer App über den Alpha- oder Beta-Kanal hochladen und im Play Store veröffentlichen. Weitere Informationen finden Sie unter Verwenden von Pre-Launch-Berichten zur Identifizierung von Problemen und Robo-Tests .

Schritt 2 : Wählen Sie Ihr Testgerät

Test Lab unterstützt Tests auf verschiedenen Marken und Modellen von Android-Geräten, die in einem Google-Rechenzentrum installiert sind und ausgeführt werden. Mithilfe von Tests auf Geräten im Testlabor können Sie Probleme erkennen, die beim Testen Ihrer App mit Emulatoren in Android Studio möglicherweise nicht auftreten. Weitere Informationen finden Sie unter Verfügbare Geräte.

Schritt 3 : Überprüfen Sie die Testergebnisse

Unabhängig davon, wie Sie Ihre Tests starten, werden alle Ihre Testergebnisse von Test Lab verwaltet und können online eingesehen werden.

Die Zusammenfassung der Testergebnisse wird automatisch gespeichert und kann in der Firebase-Konsole angezeigt werden. Es enthält die relevantesten Daten für Ihren Test, einschließlich testfallspezifischer Videos, Screenshots, der Anzahl der Tests, die bestanden, fehlgeschlagen sind oder fehlerhafte Ergebnisse lieferten, und mehr.

Die Rohtestergebnisse enthalten Testprotokolle und Details zu App-Fehlern und werden automatisch in einem Google Cloud-Bucket gespeichert. Wenn Sie einen Bucket angeben, sind Sie für die Kosten der Speicherung verantwortlich. Wenn Sie keinen Bucket angeben, erstellt Test Lab kostenlos einen für Sie.

Weitere Einzelheiten finden Sie unter Analysieren der Ergebnisse des Firebase-Testlabors.

Wenn Sie einen Test über Android Studio starten, können Sie die Testergebnisse auch in Ihrer Entwicklungsumgebung überprüfen.

Gerätebereinigung

Google nimmt die Sicherheit Ihrer App-Daten sehr ernst. Wir befolgen branchenübliche Best Practices, um App-Daten zu entfernen und Systemeinstellungen für physische Geräte nach jedem Testlauf zurückzusetzen, um sicherzustellen, dass sie für die Durchführung neuer Tests bereit sind. Bei Geräten, die wir mit einem benutzerdefinierten Wiederherstellungsimage flashen können, gehen wir noch einen Schritt weiter, indem wir diese Geräte zwischen den Testläufen flashen.

Für die vom Testlabor verwendeten virtuellen Geräte werden Geräteinstanzen nach ihrer Verwendung gelöscht, sodass bei jedem Testlauf eine neue virtuelle Geräteinstanz verwendet wird.


Testlabor und Google Play-Dienste

Testlaborgeräte laufen normalerweise mit der neuesten Version des Google Play Services SDK, bei einigen kann es jedoch einige Tage dauern, bis sie aktualisiert werden, nachdem eine neue Version des SDK veröffentlicht wurde. Beachten Sie, dass es bei einigen Geräten zu Kompatibilitätsproblemen kommen kann.

Zulassen, dass Testgeräte auf private Backend-Server zugreifen

Einige mobile Apps müssen mit privaten Backend-Diensten kommunizieren, um während des Tests ordnungsgemäß zu funktionieren. Wenn Ihre Backend-Server durch Firewall-Regeln geschützt sind, können Sie den Zugriff für die physischen und virtuellen Geräte von Test Lab zulassen, indem Sie die folgenden IP-Adressblöcke verwenden, um Routen durch Ihre Firewall zu öffnen.

Mobile Werbung

Test Lab bietet eine skalierbare Infrastruktur, die App-Tests automatisiert. Leider kann diese Funktion von böswilligen Apps missbraucht werden, die betrügerische Werbeeinnahmen generieren sollen.

Um dieses Problem zu beheben:

  • Wenn Sie Drittanbieter digitaler Werbung nutzen oder mit ihnen zusammenarbeiten (z. B. Werbenetzwerke oder Demand-Side-Plattformen), wird empfohlen, während der App-Entwicklung und beim Testen Testanzeigen anstelle echter Anzeigen zu verwenden.

  • Wenn Sie in Ihrem Test echte Anzeigen verwenden müssen, benachrichtigen Sie die Anbieter digitaler Werbung, mit denen Sie zusammenarbeiten, um Einnahmen und den gesamten entsprechenden vom Testlabor generierten Datenverkehr mithilfe der folgenden IP-Adressblöcke herauszufiltern. Sie müssen die Google-eigenen Anzeigenanbieter nicht benachrichtigen; Test Lab übernimmt das für Sie.

Von Testlaborgeräten verwendete IP-Adressen

Der gesamte von Testlaborgeräten generierte Netzwerkverkehr stammt aus den folgenden IP-Adressblöcken . Sie können auf diese Liste auch zugreifen, indem Sie den Befehl gcloud beta firebase test ip-blocks list in der gcloud- CLI verwenden. Die Liste wird durchschnittlich einmal im Jahr aktualisiert.

Plattform und Gerätetyp CIDR-IP-Adressblock
Physische Android- und iOS-Geräte, virtuelle Geräte aktivieren

70.32.128.0/19 (hinzugefügt 02-2022)

108.177.6.0/23

108.177.18.192/26 (hinzugefügt 02-2022)

108.177.29.64/27 (erweitert 02-2022)

108.177.31.160/27 (hinzugefügt 02-2022)

199.36.156.8/29 (hinzugefügt 02-2022)

199.36.156.16/28 (hinzugefügt 02-2022)

209.85.131.0/27 (hinzugefügt 02-2022)

2001:4860:1008::/48 (hinzugefügt 02-2022)

2001:4860:1018::/48 (hinzugefügt 02-2022)

2001:4860:1019::/48 (hinzugefügt 02-2022)

2001:4860:1020::/48 (hinzugefügt 02-2022)

2001:4860:1022::/48 (hinzugefügt 02-2022)

Virtuelle Android-Geräte (nicht armiert)

34.68.194.64/29 (hinzugefügt 11-2019)

34.69.234.64/29 (hinzugefügt 11-2019)

34.73.34.72/29 (hinzugefügt 11-2019)

34.73.178.72/29 (hinzugefügt 11-2019)

34.74.10.72/29 (hinzugefügt 02-2022)

34.136.2.136/29 (hinzugefügt 02-2022)

34.136.50.136/29 (hinzugefügt 02-2022)

34.145.234.144/29 (hinzugefügt 02-2022)

35.192.160.56/29

35.196.166.80/29

35.196.169.240/29

35.203.128.0/28

35.234.176.160/28

35.243.2.0/27 (hinzugefügt 7-2019)

35.245.243.240/29 (hinzugefügt 02-2022)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

Geräte-IP-Blöcke werden nicht mehr verwendet

74.125.122.32/29 (entfernt 02-2022)

216.239.44.24/29 (entfernt 02-2022)