Mit Firebase Test Lab können Sie Ihre App auf verschiedenen Geräten und mit verschiedenen Konfigurationen testen. Dieser Startleitfaden enthält eine Anleitung zur Implementierung sowie eine Einführung in die Android-Angebote von Test Lab.
Informationen zu Kontingenten und Preismodellen für Test Lab finden Sie unter Nutzung, Kontingente und Preise.
Wichtige Konzepte
Wenn Sie einen Test oder eine Reihe von Testfällen auf ausgewählten Geräten und Konfigurationen ausführen, führt Test Lab den Test in einem Batch auf Ihrer App 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 Smartphone, ein Tablet oder ein Wearable-Gerät. Geräte in einer Testmatrix werden anhand von Gerätemodell, Betriebssystemversion, Bildschirmausrichtung und Gebietsschema (auch als Geografie- und Spracheinstellungen bezeichnet) identifiziert.
- Test, Testausführung
- Ein Test (oder eine Reihe von Testfällen), der auf einem Gerät ausgeführt wird. Sie können einen Test pro Gerät ausführen oder den Test optional in Shards aufteilen und die Testfälle auf verschiedenen Geräten ausführen.
- Testmatrix
- Enthält die Status und Testergebnisse Ihrer Testausführungen. Wenn eine Testausführung in einer Matrix fehlschlägt, schlägt die gesamte Matrix fehl.
Schritt 1: Test für das Hochladen in Test Lab vorbereiten
Verfügbare Testtypen
Sie können die folgenden Tests mit Test Lab ausführen. Hinweis: Alle Testtypen sind auf 45 Minuten auf physischen Geräten und 60 Minuten auf virtuellen Geräten beschränkt. Jegliche nicht erfasste Ausnahme führt zu einem Testfehler.
Instrumentierungstest oder Instrumentierungstest: Ein Test, den Sie mit den Frameworks Espresso oder UI Automator geschrieben haben. Mit diesem Test können Sie explizite Behauptungen über den Status Ihrer App machen, um die korrekte Funktion mithilfe der AndroidJUnitRunnerAPIs zu überprüfen.
Eine Anleitung zum Vorbereiten des Tests für die Ausführung in Test Lab finden Sie unter Instrumentierungstest ausführen.
Eine Anleitung zum Erstellen eines Instrumentierungstests finden Sie in der Android-Entwicklerdokumentation.
Robo-Test: Ein automatisierter Test, bei dem die Benutzeroberfläche Ihrer App analysiert und dann methodisch 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. So können Sie schnell und effizient prüfen, ob Ihr Spiel für Nutzer eine gute Leistung erbringt. Wenn Sie einen Spielschleifentest ausführen, haben Sie folgende Möglichkeiten:
Tests für Ihre Game Engine schreiben
Vermeiden Sie es, denselben Code für verschiedene UIs oder Testframeworks zu schreiben.
Optional können Sie mehrere Schleifen erstellen, um sie in einer einzigen Testausführung auszuführen. Weitere Informationen finden Sie unter Informationen zu Spielschleifentests. Sie können Schleifen auch mithilfe von Labels organisieren, damit Sie den Überblick 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 für Ihren Test verwenden:
Für neue Nutzer empfohlen: Mit der Firebase-Konsole können Sie eine Anwendung 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 verlassen zu müssen. Eine Anleitung zum Ausführen von Tests mit diesem Tool finden Sie 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 Scripts im Rahmen Ihres automatisierten Build- und Testprozesses. Eine Anleitung zum Ausführen von Tests mit diesem Tool finden Sie unter Testen Sie mit der gcloud CLI.
Sie können Ihre App auch kostenlos mit Test Lab testen, wenn Sie die APK-Dateien Ihrer App über den Alpha- oder Beta-Channel 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 und ausgeführt werden. Wenn Sie Ihre App auf Geräten in Test Lab testen, können Sie Probleme erkennen, die beim Testen 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 abgerufen werden.
Die Zusammenfassung der Testergebnisse wird automatisch gespeichert und kann in der Firebase-Konsole aufgerufen werden. Sie enthält die relevantesten Daten für Ihren Test, darunter testfallspezifische Videos, Screenshots, die Anzahl der bestandenen, fehlgeschlagenen oder fehlerhaften Tests usw.
Die Rohtestergebnisse enthalten Testlogs und Details zu Anwendungsfehlern und werden automatisch in einem Google Cloud-Bucket gespeichert. Wenn Sie einen Bucket angeben, tragen Sie die Kosten für den Speicherplatz. Wenn Sie keinen Bucket angeben, erstellt Test Lab einen kostenlos 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 prüfen.
Gerätebereinigung
Google nimmt die Sicherheit Ihrer App-Daten sehr ernst. Wir folgen den Best Practices der Branche, um nach jedem Testlauf App-Daten zu entfernen und die Systemeinstellungen für physische Geräte 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 Testläufen.
Bei den von Test Lab verwendeten virtuellen Geräten werden 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 normalerweise die neueste Version des Google Play Services SDK verwendet. Bei einigen Geräten kann es jedoch einige Tage dauern, bis die Aktualisierung nach der Veröffentlichung einer neuen SDK-Version abgeschlossen ist. Beachten Sie, dass bei einigen Geräten Kompatibilitätsprobleme auftreten können.
Testgeräten Zugriff auf private Backend-Server gewähren
Einige mobile Apps müssen mit privaten Backend-Diensten kommunizieren, um während der 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. Verwenden Sie dazu die IP-Adressblöcke unten, um Routen über Ihre Firewall zu öffnen.
Werbung auf Mobilgeräten
Test Lab bietet eine skalierbare Infrastruktur, die App-Tests automatisiert. Leider kann diese Funktion von schädlichen Apps missbraucht werden, die dazu dienen, betrügerische Werbeeinnahmen zu erzielen.
So beheben Sie das Problem:
Wenn Sie digitale Werbeanbieter von Drittanbietern verwenden oder mit ihnen zusammenarbeiten (z. B. Werbenetzwerke oder Demand-Side-Plattformen), sollten Sie während der App-Entwicklung und -Tests Testanzeigen statt echter Anzeigen verwenden.
Wenn Sie in Ihrem Test echte Anzeigen verwenden müssen, benachrichtigen Sie die Anbieter für digitale Werbung, mit denen Sie zusammenarbeiten. Damit werden die Umsätze und der entsprechende Traffic herausgefiltert, der über Test Lab generiert wird. Verwenden Sie dazu die unten aufgeführten IP-Adressblöcke. Sie müssen die Anzeigenanbieter von Google nicht benachrichtigen. Test Lab übernimmt das für Sie.
Von Test Lab-Geräten verwendete IP-Adressen
Der gesamte von Test Lab-Geräten generierte Netzwerktraffic stammt aus den folgenden IP-Adressblöcken.
Sie können auch über den Befehl gcloud beta firebase test ip-blocks list
in der gcloud-Befehlszeile auf diese Liste zugreifen. Die Liste wird durchschnittlich 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 (2022 hinzugefügt) 108.177.6.0/23 108.177.18.192/26 (02-2022 hinzugefügt) 108.177.29.64/27 (erweitert im Februar 2022) 108.177.31.160/27 (02–2022 hinzugefügt) 199.36.156.8/29 (02-2022 hinzugefügt) 199.36.156.16/28 (02–2022 hinzugefügt) 209.85.131.0/27 (202–2022 hinzugefügt) 2001:4860:1008::/48 (02-2022 hinzugefügt) 2001:4860:1018::/48 (02-2022 hinzugefügt) 2001:4860:1019::/48 (02-2022 hinzugefügt) 2001:4860:1020::/48 (02-2022 hinzugefügt) 2001:4860:1022::/48 (02-2022 hinzugefügt) 70.32.128.48/28 (April 2024 hinzugefügt) |
Virtuelle Android-Geräte (nicht ARM) |
34.68.194.64/29 (11-2019 hinzugefügt) 34.69.234.64/29 (11-2019 hinzugefügt) 34.73.34.72/29 (11-2019 hinzugefügt) 34.73.178.72/29 (11-2019 hinzugefügt) 34.74.10.72/29 (02-2022 hinzugefügt) 34.136.2.136/29 (02-2022 hinzugefügt) 34.136.50.136/29 (02-2022 hinzugefügt) 34.145.234.144/29 (02-2022 hinzugefügt) 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 (7-2019 hinzugefügt) 35.245.243.240/29 (02-2022 hinzugefügt) 199.192.115.0/30 199.192.115.8/30 199.192.115.16/29 |
Nicht mehr verwendete Geräte-IP-Blöcke |
74.125.122.32/29 (entfernt im Februar 2022) 216.239.44.24/29 (21.02.2022 entfernt) |