Mit Firebase Test Lab können Sie Ihre App auf einer Reihe von Geräten und Konfigurationen testen. Dieser Startleitfaden 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, führt Test Lab den Test für Ihre App in einem Batch 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 Smartphone, ein Tablet oder ein Wearable. Geräte in einer Testmatrix werden durch Gerätemodell, Betriebssystemversion, Bildschirmausrichtung und Sprache (auch als Geografie- und Spracheinstellungen bezeichnet) identifiziert.
- Test, Testausführung
- Ein Test (oder eine Reihe von Testläufen), 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.
- 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: Test für den Upload in Test Lab vorbereiten
Verfügbare Testtypen
Sie können die folgenden Tests mit Test Lab ausführen. Beachten Sie, dass alle Testtypen auf physischen Geräten auf 45 Minuten und auf virtuellen Geräten auf 60 Minuten begrenzt sind. Jede nicht abgefangene Ausnahme führt zu einem Testfehler.
Instrumentierungstest oder instrumentierter Unittest: Ein Test, den Sie mit dem Espresso- oder UI Automator-Framework geschrieben haben. Mit diesem Test können Sie explizite Aussagen über den Status Ihrer App machen, um die korrekte Funktionalität mithilfe von AndroidJUnitRunnerAPIs zu überprüfen.
Unter Instrumentierungstest ausführen finden Sie eine Anleitung, wie Sie Ihren Test für die Ausführung in Test Lab vorbereiten.
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 systematisch durch Simulation von Nutzeraktivitäten untersucht wird, ohne dass Sie Code schreiben müssen. Weitere Informationen finden Sie unter Robo-Tests.
Spielschleifentest: Ein Test, bei dem ein „Demomodus“ verwendet wird, um Spieleraktionen in Gaming-Apps zu simulieren. Dies ist eine schnelle und skalierbare Methode, um zu prüfen, ob Ihr Spiel für Nutzer gut funktioniert. Wenn Sie einen Spielschleifentest ausführen, können Sie:
Tests schreiben, die nativ für Ihre Spiel-Engine sind
Vermeiden Sie es, denselben Code für verschiedene Benutzeroberflächen oder Test-Frameworks zu schreiben.
Optional können Sie mehrere Schleifen erstellen, die in einer einzigen Testausführung ausgeführt werden. Weitere Informationen finden Sie unter Spielschleifentests. Sie können Schleifen auch mithilfe von Labels organisieren, um den Überblick zu behalten und bestimmte Schleifen 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 den Test auswählen:
Empfohlen für neue Nutzer: Mit der Firebase Console 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.
Dank 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 findest du unter Mit Android Studio testen.
Mit der gcloud-Befehlszeile können Sie Tests interaktiv über die Befehlszeile ausführen. Sie eignet sich auch gut für die Skripterstellung 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 Beta-Kanal im 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. Durch das Testen auf Geräten in Test Lab können Sie Probleme erkennen, die beim Testen Ihrer App mit Emulatoren in Android Studio möglicherweise nicht auftreten. Weitere Informationen findest du unter Verfügbare Geräte.
Schritt 3: Testergebnisse prüfen
Unabhängig davon, wie Sie Ihre Tests initiieren, 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 aufgerufen werden. Er enthält die relevantesten Daten für Ihren Test, einschließlich testfallspezifischer Videos, Screenshots, der Anzahl der bestandenen, fehlgeschlagenen oder unzuverlässigen Testläufe 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 Firebase Test Lab-Ergebnisse analysieren.
Wenn Sie einen Test über Android Studio starten, können Sie die Testergebnisse auch in Ihrer Entwicklungsumgebung einsehen.
Gerätebereinigung
Google nimmt die Sicherheit Ihrer App-Daten sehr ernst. Wir halten uns an branchenübliche Best Practices, um App-Daten zu entfernen und Systemeinstellungen für physische Geräte nach jedem Testlauf zurückzusetzen, damit sie für neue Tests bereit sind. Bei Geräten, die wir mit einem benutzerdefinierten Wiederherstellungsimage 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 die Geräteinstanzen nach der Verwendung gelöscht, sodass für jeden 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 nach der Veröffentlichung einer neuen SDK-Version einige Tage dauern, bis sie aktualisiert werden. Bei einigen Geräten können Kompatibilitätsprobleme auftreten.
Testgeräten den Zugriff auf private Backend-Server gewähren
Einige mobile Apps müssen mit privaten Backend-Diensten kommunizieren, um während des Tests ordnungsgemäß zu 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 unten aufgeführten IP-Adressblöcke 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 mit Drittanbietern für digitale Werbung (z. B. Werbenetzwerken oder Demand-Side-Plattformen) zusammenarbeiten, sollten Sie während der App-Entwicklung und ‑Tests Testanzeigen anstelle von echten Anzeigen verwenden.
Wenn Sie in Ihrem Test echte Anzeigen verwenden müssen, benachrichtigen Sie die Anbieter digitaler Werbung, mit denen Sie zusammenarbeiten, damit sie die Einnahmen und den gesamten entsprechenden Traffic, der von Test Lab generiert wird, mithilfe der unten stehenden IP-Adressblöcke herausfiltern. Sie müssen die Google-eigenen Anzeigenanbieter nicht benachrichtigen. Das übernimmt Test Lab für Sie.
Von Test Lab-Geräten verwendete IP-Adressen
Der gesamte von Test Lab-Geräten generierte Netzwerk-Traffic stammt aus den folgenden IP-Adressblöcken.
Sie können diese Liste auch mit dem Befehl gcloud beta firebase test ip-blocks list in der gcloud CLI aufrufen. Die Liste wird im Durchschnitt einmal im 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) 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 (hinzugefügt im Mai 2026) 2001:4860:1037::/48 (hinzugefügt im Mai 2026) 2001:4860:1038::/48 (hinzugefügt im Mai 2026) 2001:4860:103a::/48 (hinzugefügt im Mai 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 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 |
| Geräte-IP-Blöcke werden nicht mehr verwendet |
74.125.122.32/29 (entfernt im Februar 2022) 216.239.44.24/29 (entfernt im Februar 2022) |