Mit Firebase Test Lab können Sie Ihre App auf einer Vielzahl von Geräten und Konfigurationen testen. Dieser Leitfaden für den Einstieg enthält einen Implementierungspfad, dem Sie folgen können, sowie eine Einführung in die Android-Angebote von Test Lab.
Informationen zu Test Lab-Kontingenten und ‑Preismodellen finden Sie unter Nutzung, Kontingente und Preise.
Wichtige Konzepte
Wenn Sie einen Test oder eine Reihe von Testläufen für die von Ihnen ausgewählten Geräte und Konfigurationen ausführen, Test Lab wird der Test für Ihre App in einem Batch ausgeführt. Die Ergebnisse werden dann als Testmatrix angezeigt.
Geräte × Testläufe = 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 von Gerätemodell, Betriebssystemversion, Bildschirmausrichtung und Gebietsschema (auch als geografische und Spracheinstellungen bezeichnet) identifiziert.
- Test, Testausführung
- Ein Test oder eine Reihe von Testläufen, die auf einem Gerät ausgeführt werden sollen. Sie können einen Test pro Gerät ausführen oder den Test optional aufteilen und seine Testläufe auf verschiedenen Geräten ausführen.
- Testmatrix
- Enthält die Status und Testergebnisse für Ihre Testläufe. 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
Mit Test Lab können Sie die folgenden Tests ausführen. Alle Testtypen können auf physischen Geräten maximal 45 Minuten und auf virtuellen Geräten maximal 60 Minuten ausgeführt werden. Jede nicht abgefangene Ausnahme führt zu einem Testfehler.
Instrumentierungstest oder instrumentierter Einheitentest: Ein Test, den Sie mit den Frameworks Espresso oder UI Automator geschrieben haben. Mit diesem Test können Sie explizite Behauptungen zum Status Ihrer App aufstellen, um die korrekte Funktionalität mithilfe von AndroidJUnitRunnerAPIs zu überprüfen.
Eine Anleitung dazu, wie Sie Ihren Test für die Ausführung in Test Lab vorbereiten, finden Sie unter Instrumentierungstest ausführen.
Eine Anleitung zum Erstellen eines Instrumentierungstests finden Sie in der Dokumentation für Android-Entwickler.
Robo-Test: Ein automatisierter Test, bei dem die Benutzeroberfläche Ihrer App analysiert und dann methodisch untersucht wird, indem Nutzeraktivitäten simuliert werden. Sie müssen dafür keinen Code schreiben. Weitere Informationen finden Sie unter Robo-Tests.
Spielschleifentest: Ein Test, bei dem mithilfe eines „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 für Ihre Spiele-Engine nativ sind
Vermeiden Sie, denselben Code für verschiedene UIs oder Testframeworks zu schreiben.
Optional können Sie mehrere Schleifen erstellen, die in einer einzigen Testausführung ausgeführt werden. Weitere Informationen zu Spielschleifentests Sie können Loops auch mit Labels organisieren, um sie im Blick zu behalten und bestimmte Loops noch einmal auszuführen.
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 für Ihren Test auswählen:
Empfohlen für neue Nutzer: Über die 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 Android Studio finden Sie hier.
Mit der gcloud-Befehlszeile können Sie Tests interaktiv über die Befehlszeile ausführen. Sie eignet sich auch gut für das Scripting 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 Google 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. Wenn Sie Ihre App auf Geräten in Test Lab testen, können Sie Probleme erkennen, die beim Testen Ihrer App mit Emulatoren in Android Studio möglicherweise nicht auftreten. Weitere Informationen
Schritt 3: Testergebnisse ansehen
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 Console aufgerufen werden. Er enthält die wichtigsten Daten für Ihren Test, darunter testfallspezifische Videos, Screenshots, die Anzahl der bestandenen, fehlgeschlagenen oder instabilen Tests und vieles mehr.
Die Rohdaten der Testergebnisse enthalten Testlogs 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 Firebase Test Lab-Ergebnisse analysieren.
Wenn Sie einen Test in Android Studio starten, können Sie die Testergebnisse auch in Ihrer Entwicklungsumgebung ansehen.
Gerätespeicherplatz freigeben
Google nimmt die Sicherheit Ihrer App-Daten sehr ernst. Wir halten uns an die branchenüblichen Best Practices, um App-Daten zu entfernen und die Systemeinstellungen für physische Geräte nach jedem Testlauf zurückzusetzen. So stellen wir sicher, dass sie für neue Tests bereit sind. Bei Geräten, auf denen wir ein benutzerdefiniertes Recovery-Image flashen können, gehen wir noch einen Schritt weiter und flashen diese Geräte zwischen den Testläufen.
Bei den von Test Lab verwendeten virtuellen Geräten werden Geräteinstanzen nach der Verwendung gelöscht, sodass bei jedem Testlauf eine neue virtuelle Geräteinstanz verwendet wird.
Test Lab und Google Play-Dienste
Auf Test Lab-Geräten wird in der Regel die aktuelle Version des Google Play-Dienste-SDK ausgeführt. Bei einigen Geräten kann es jedoch einige Tage dauern, bis sie nach der Veröffentlichung einer neuen Version des SDK aktualisiert werden. Beachte, dass es bei einigen Geräten zu Kompatibilitätsproblemen kommen kann.
Testgeräten den Zugriff auf private Backend-Server erlauben
Einige mobile Apps müssen während des Tests mit privaten Backend-Diensten kommunizieren, damit sie richtig funktionieren. Wenn Ihre Backend-Server durch Firewallregeln geschützt sind, können Sie den Zugriff für die physischen und virtuellen Geräte von Test Lab zulassen, indem Sie die IP-Adressblöcke unten verwenden, um Routen durch Ihre Firewall zu öffnen.
Werbung auf Mobilgeräten
Test Lab bietet eine skalierbare Infrastruktur, die das Testen von Apps automatisiert. Leider kann diese Funktion von schädlichen Apps missbraucht werden, die darauf ausgelegt sind, betrügerische Werbeeinnahmen zu generieren.
So beheben Sie das Problem:
Wenn Sie digitale Werbeanbieter von Drittanbietern (z. B. Werbenetzwerke oder Demand-Side-Plattformen) verwenden oder mit ihnen zusammenarbeiten, sollten Sie während der App-Entwicklung und beim Testen Testanzeigen anstelle von echten Anzeigen 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 der IP-Adressblöcke unten herausfiltern. Sie müssen keine Google-eigenen Anzeigenanbieter benachrichtigen. Test Lab übernimmt das für Sie.
Von Test Lab-Geräten verwendete IP-Adressen
Der gesamte Netzwerkverkehr, der von Test Lab-Geräten generiert wird, stammt aus den folgenden IP-Adressblöcken.
Sie können auch über die gcloud-Befehlszeile mit dem gcloud beta firebase test ip-blocks list-Befehl 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: 09-2025) 108.177.6.0/27 (hinzugefügt im September 2025) 108.177.24.160/27 (hinzugefügt: 09-2025) 108.177.29.0/27 (hinzugefügt im September 2025) 108.177.25.128/27 (hinzugefügt im Mai 2026) 108.177.26.128/26 (hinzugefügt im Mai 2026) 108.177.29.192/26 (hinzugefügt im Mai 2026) 172.217.120.64/26 (hinzugefügt im Mai 2026) 172.217.120.128/26 (added 05-2026) 2001:4860:1037::/48 (hinzugefügt: 05/2026) 2001:4860:1038::/48 (hinzugefügt am 05-2026) 2001:4860:103a::/48 (added 05-2026) |
| 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: 11/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 |
| 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) |