Firebase Test Lab können Sie Ihre App auf einer Reihe von Geräten und Konfigurationen testen. In dieser Anleitung für den Einstieg finden Sie einen Implementierungspfad, dem Sie folgen können , sowie eine Einführung in die Android-Angebote von Test Lab.
Informationen zu Test Lab Kontingenten und ‑Tarifen finden Sie unter Nutzung, Kontingente und Preise.
Wichtige Konzepte
Wenn Sie einen Test oder eine Reihe von Testfällen auf den von Ihnen ausgewählten Geräten und in den ausgewählten Konfigurationen ausführen, führt Test Lab den Test für Ihre App in einem Batch aus und zeigt die Ergebnisse 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 Smartphone, Tablet oder Wearable. Geräte in einer Testmatrix werden anhand des Gerätemodells, der Betriebssystemversion, der Bildschirmausrichtung und des Gebietsschemas (auch als geografische und Spracheinstellungen bezeichnet) identifiziert.
- Test, 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 aufteilen und die Testfälle auf verschiedenen Geräten ausführen.
- Test matrix
- 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: Test für den Upload zu Test Lab vorbereiten
Verfügbare Testtypen
Sie können die folgenden Tests mit Test Lab ausführen. Alle Testtypen sind auf 45 Minuten auf physischen Geräten und 60 Minuten auf virtuellen Geräten begrenzt. Jede nicht abgefangene Ausnahme führt zu einem Testfehler.
Instrumentierungstest oder instrumentierter Unittest: Ein Test, den Sie mit den Espresso oder UI Automator Frameworks geschrieben haben. Mit diesem Test können Sie explizite Zusicherungen zum Status Ihrer App machen, um die korrekte Funktion mit AndroidJUnitRunnerAPIs zu überprüfen.
Unter Instrumentierungstest ausführen finden Sie eine Anleitung dazu, wie Sie Ihren Test für die Ausführung in Test Lab vorbereiten.
Eine Anleitung zum Erstellen eines Instrumentierungstests finden Sie in der Android Developers-Dokumentation.
Robo-Test: Ein automatisierter Test, der die Benutzeroberfläche Ihrer App analysiert und sie dann methodisch untersucht, indem er Nutzeraktivitäten simuliert. Sie müssen keinen Code schreiben. Weitere Informationen finden Sie unter Robo-Tests.
Spielschleifentest: Ein Test, bei dem im Demomodus Spieleraktionen in Gaming-Apps simuliert werden. So können Sie schnell und skalierbar überprüfen, ob Ihr Spiel für Nutzer gut funktioniert. Wenn Sie einen Spielschleifentest ausführen, haben Sie folgende Möglichkeiten:
Tests schreiben, die nativ für Ihre Spiel-Engine sind
Vermeiden, denselben Code für verschiedene Benutzeroberflächen oder Test Frameworks zu schreiben
Optional mehrere Schleifen erstellen, die in einer einzigen Testausführung ausgeführt werden sollen (weitere Informationen finden Sie unter Spielschleifentests). Sie können Schleifen auch mit Labels organisieren, damit Sie sie im Blick behalten und bestimmte Schleifen noch einmal ausführen können.
Eine Anleitung zum Ausführen dieses Tests mit Test Lab finden Sie unter Spielschleifentest ausführen.
Tools zum Ausführen des Tests
Sie können die folgenden Tools verwenden, um Ihren Test auszuführen:
Empfohlen für Erstnutzer: In der Firebase Konsole können Sie eine App hochladen und Tests über Ihren Webbrowser starten. Eine Anleitung zum Ausführen von Tests mit diesem Tool finden Sie unter Mit der Firebase Konsole testen.
Mit der Android Studio-Integration können Sie Ihre App testen, ohne die Entwicklungsumgebung zu verlassen. Eine Anleitung zum Ausführen von Tests mit diesem Tool finden Sie unter Mit Android Studio testen.
Mit der gcloud-Befehlszeilenschnittstelle können Sie Tests interaktiv über die Befehlszeile ausführen. Sie eignet sich auch gut für Skripts im Rahmen Ihres automatisierten Build- und Testprozesses. Eine Anleitung zum Ausführen von Tests mit diesem Tool finden Sie unter Mit der gcloud CLI testen.
Sie können Ihre App auch kostenlos mit Test Lab testen, wenn Sie die APK-Dateien Ihrer App über den Alpha- oder Betakanal in den Play Store hochladen und veröffentlichen. Weitere Informationen finden Sie unter Pre-Launch-Berichte zum Erkennen von Problemen verwenden und Robo-Tests.
Schritt 2: Testgerät auswählen
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. Tests auf Geräten in Test Lab helfen 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: Testergebnisse überprüfen
Unabhängig davon, wie Sie Ihre Tests starten, werden alle Testergebnisse von Test Lab verwaltet und können online eingesehen werden.
Die Zusammenfassung der Testergebnisse wird automatisch gespeichert und kann in der Firebase Konsole eingesehen werden. Sie enthält die wichtigsten Daten für Ihren Test, einschließlich videospezifischer Testfälle, Screenshots, der Anzahl der bestandenen, fehlgeschlagenen oder unzuverlässigen Tests und mehr.
Die Rohdaten der Testergebnisse 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 Speicherkosten verantwortlich. Wenn Sie keinen Bucket angeben, erstellt Test Lab kostenlos einen für Sie.
Weitere Informationen finden Sie unter Ergebnisse Firebase Test Lab analysieren.
Wenn Sie einen Test in Android Studio starten, können Sie die Testergebnisse auch in Ihrer Entwicklungsumgebung einsehen.
Gerätereinigung
Google nimmt die Sicherheit Ihrer App-Daten sehr ernst. Wir folgen branchenüblichen Best Practices, um App-Daten zu entfernen und die Systemeinstellungen für physische Geräte nach jeder Testausführung zurückzusetzen, damit sie für neue Tests bereit sind. Bei Geräten, die wir mit einem benutzerdefinierten Wiederherstellungs Image flashen können, gehen wir noch einen Schritt weiter und flashen diese Geräte zwischen den Testausführungen.
Bei den von Test Lab verwendeten virtuellen Geräten werden Geräteinstanzen nach der Verwendung gelöscht, sodass bei jeder Testausführung eine neue virtuelle Geräteinstanz verwendet wird.
Test Lab und Google Play-Dienste
Test Lab Geräte verwenden in der Regel die neueste Version des Google Play Dienste-SDK. Bei einigen Geräten kann es jedoch einige Tage dauern, bis sie nach der Veröffentlichung einer neuen Version des SDK aktualisiert werden. Beachten Sie, dass bei einigen Geräten Kompatibilitätsprobleme auftreten können.
Testgeräten Zugriff auf private Back-End-Server gewähren
Einige mobile Apps müssen mit privaten Back-End-Diensten kommunizieren, um während des Tests ordnungsgemäß zu funktionieren. Wenn Ihre Back-End-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 unten aufgeführten IP-Adressblöcke verwenden, um Routen durch Ihre Firewall zu öffnen.
Werbung auf Mobilgeräten
Test Lab bietet eine skalierbare Infrastruktur, mit der App-Tests automatisiert werden können. Diese Funktion kann jedoch von schädlichen Apps missbraucht werden, die betrügerische Werbeeinnahmen generieren sollen.
So beheben Sie das Problem:
Wenn Sie digitale Werbeanbieter von Drittanbietern verwenden oder mit ihnen zusammenarbeiten (z. B. Werbenetzwerke oder Demand-Side-Plattformen), empfehlen wir, 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 digitalen Werbeanbieter, mit denen Sie zusammenarbeiten, damit sie Einnahmen und den entsprechenden Traffic, der von Test Lab generiert wird, mithilfe derIP-Adressblöcke unten herausfiltern. Sie müssen keine Werbeanbieter benachrichtigen, die zu Google gehören. Test Lab übernimmt das für Sie.
Von Test Lab Geräten verwendete IP-Adressen
Der gesamte Netzwerk-Traffic, der von Test Lab Geräten generiert wird, stammt aus den
folgenden
IP-Adressblöcken.
Sie können auch über den
gcloud beta firebase test ip-blocks list
Befehl
in der gcloud CLI auf diese Liste zugreifen. Die Liste wird durchschnittlich einmal pro Jahr aktualisiert.
| Plattform und Gerätetyp | CIDR-IP-Adressblock |
|---|---|
| Physische Android- und iOS-Geräte, virtuelle Arm-Geräte |
70.32.128.0/19 (hinzugefügt im Februar 2022) 108.177.6.0/23 108.177.18.192/26 (hinzugefügt im Februar 2022) 108.177.29.64/27 (erweitert im Februar 2022) 108.177.31.160/27 (hinzugefügt im Februar 2022) 199.36.156.8/29 (hinzugefügt im Februar 2022) 199.36.156.16/28 (hinzugefügt im Februar 2022) 209.85.131.0/27 (hinzugefügt im Februar 2022) 2001:4860:1008::/48 (hinzugefügt im Februar 2022) 2001:4860:1018::/48 (hinzugefügt im Februar 2022) 2001:4860:1019::/48 (hinzugefügt im Februar 2022) 2001:4860:1020::/48 (hinzugefügt im Februar 2022) 2001:4860:1022::/48 (hinzugefügt im Februar 2022) 2001:4860:101d::/48 (hinzugefügt im Oktober 2025) 2001:4860:101e::/48 (hinzugefügt im Oktober 2025) 2001:4860:1031::/48 (hinzugefügt im Oktober 2025) 70.32.128.48/28 (hinzugefügt im April 2024) 70.32.150.192/27 (hinzugefügt im September 2025) 108.177.6.0/27 (hinzugefügt im September 2025) 108.177.24.160/27 (hinzugefügt im September 2025) 108.177.29.0/27 (hinzugefügt im September 2025) |
| Virtuelle Android-Geräte (nicht Arm) |
34.68.194.64/29 (hinzugefügt im November 2019) 34.69.234.64/29 (hinzugefügt im November 2019) 34.73.34.72/29 (hinzugefügt im November 2019) 34.73.178.72/29 (hinzugefügt im November 2019) 34.74.10.72/29 (hinzugefügt im Februar 2022) 34.136.2.136/29 (hinzugefügt im Februar 2022) 34.136.50.136/29 (hinzugefügt im Februar 2022) 34.145.234.144/29 (hinzugefügt im Februar 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 im Juli 2019) 35.245.243.240/29 (hinzugefügt im Februar 2022) 199.192.115.0/30 199.192.115.8/30 199.192.115.16/29 |
| IP-Blöcke für Geräte, die nicht mehr verwendet werden |
74.125.122.32/29 (entfernt im Februar 2022) 216.239.44.24/29 (entfernt im Februar 2022) |