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 Test Lab-Kontingenten 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 ausführen, z. B. ein Telefon, Tablet oder tragbares Gerät. Geräte in einer Testmatrix werden anhand des Gerätemodells, der Betriebssystemversion, der Bildschirmausrichtung und des Gebietsschemas (auch bekannt als geografische und Spracheinstellungen) identifiziert.
- Testen, Testausfü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 den Test optional fragmentieren 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 Test Lab vor
Verfügbare Testtypen
Sie können die folgenden Tests mit Test Lab ausführen. Beachten Sie, dass alle Testtypen auf 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 Komponententest : Ein Test, den Sie mit den Frameworks Espresso oder UI Automator geschrieben haben. Mit diesem Test können Sie explizite Aussagen über den Zustand Ihrer App machen, um die korrekte Funktionalität mit AndroidJUnitRunnerAPIs zu überprüfen.
Unter Ausführen eines Instrumentierungstests finden Sie Anweisungen zum Vorbereiten Ihres Tests für die Ausführung in Test Lab.
Anweisungen zum Erstellen eines Instrumentierungstests finden Sie in der Dokumentation für Android-Entwickler .
Robo-Test : Ein automatisierter Test, der die Benutzeroberfläche Ihrer App analysiert und sie dann methodisch untersucht, indem Benutzeraktivitäten simuliert werden, ohne dass Sie Code schreiben müssen. Weitere Informationen finden Sie unter Über Robo-Tests .
Spielschleifentest : Ein Test, der einen „Demomodus“ 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 gut funktioniert. Wenn Sie sich für die Durchführung eines Spielschleifentests 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 (besuchen Sie Informationen zu Game Loop-Tests , um mehr zu erfahren). Sie können Loops auch mithilfe von Labels organisieren, damit Sie sie verfolgen und bestimmte Loops erneut ausführen können.
Anweisungen zum Ausführen dieses Tests mit Test Lab finden Sie unter Ausführen eines Spielschleifentests .
Tools zum Ausführen Ihres Tests
Sie können die folgenden Tools auswählen, um Ihren Test durchzuführen:
Empfohlen für Erstbenutzer : Mit der Firebase-Konsole können Sie eine App hochladen und Tests über Ihren Webbrowser starten. Anweisungen zum Ausführen von Tests mit diesem Tool finden Sie unter Testen mit der Firebase-Konsole .
Mit der Android Studio-Integration können Sie Ihre App testen, ohne Ihre Entwicklungsumgebung zu verlassen. Anweisungen zum Ausführen von Tests mit diesem Tool finden Sie unter Testen mit Android Studio .
Die gcloud-Befehlszeilenschnittstelle ermöglicht es Ihnen, Tests interaktiv über die Befehlszeile auszuführen, und eignet sich auch gut für die Skripterstellung als Teil Ihres automatisierten Build- und Testprozesses. Anweisungen zum Ausführen von Tests mit diesem Tool finden Sie unter Testen mit der gcloud-Befehlszeilenschnittstelle .
Sie können Ihre App auch kostenlos mit Test Lab testen, wenn Sie die APK-Dateien Ihrer App über den Alpha- oder Betakanal hochladen und im Play Store veröffentlichen. Weitere Informationen finden Sie unter Verwenden von Pre-Launch-Berichten zum Identifizieren von Problemen und Robo-Tests .
Schritt 2 : Wählen Sie Ihr Testgerät aus
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. Das Testen auf Geräten in Test Lab hilft Ihnen, Probleme zu 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 initiieren, 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 oder fehlerhafte Ergebnisse erzielt haben, 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 Firebase-Testlaborergebnisse analysieren.
Wenn Sie einen Test von Android Studio aus 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 bereit sind, neue Tests durchzuführen. Bei Geräten, die wir mit einem benutzerdefinierten Wiederherstellungs-Image flashen können, gehen wir noch einen Schritt weiter, indem wir diese Geräte zwischen den Testläufen flashen.
Für die von Test Lab verwendeten virtuellen Geräte werden Geräteinstanzen nach ihrer Verwendung gelöscht, sodass jeder Testlauf eine neue virtuelle Geräteinstanz verwendet.
Test Lab und Google Play-Dienste
Test Lab-Geräte werden normalerweise mit der neuesten Version des Google Play-Dienste-SDK ausgeführt, bei einigen kann es jedoch einige Tage dauern, bis sie aktualisiert werden, nachdem eine neue Version des SDK veröffentlicht wurde. Beachten Sie, dass bei einigen Geräten Kompatibilitätsprobleme auftreten können.
Zulassen, dass Testgeräte auf private Backend-Server zugreifen
Einige mobile Apps müssen mit privaten Back-End-Diensten kommunizieren, um während des Testens richtig zu funktionieren. Wenn Ihre Back-End-Server durch Firewallregeln geschützt sind, können Sie den Zugriff für die physischen und virtuellen Geräte von Test Lab erlauben, 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, und leider kann diese Funktion von bösartigen Apps missbraucht werden, die darauf ausgelegt sind, betrügerische Werbeeinnahmen zu generieren.
So beheben Sie dieses Problem:
Wenn Sie Drittanbieter für digitale Werbung verwenden oder mit ihnen zusammenarbeiten (z. B. Werbenetzwerke oder Demand-Side-Plattformen), wird Ihnen empfohlen, während der App-Entwicklung und -Tests Testanzeigen anstelle von echten 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 Datenverkehr, der von Test Lab generiert wird, herauszufiltern, indem Sie die folgenden IP-Adressblöcke verwenden . Sie müssen Google-eigene Anzeigenanbieter nicht benachrichtigen; Test Lab übernimmt das für Sie.
IP-Adressen, die von Test Lab-Geräten verwendet werden
Der gesamte von Test Lab-Geräten generierte Netzwerkverkehr stammt von 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- Befehlszeilenschnittstelle verwenden. Die Liste wird durchschnittlich einmal jährlich aktualisiert.
Plattform und Gerätetyp | CIDR-IP-Adressblock |
---|---|
Physische Android- und iOS-Geräte | 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 | 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) |