Mit Firebase Test Lab können Sie die Qualität Ihrer App auf einer Reihe von Geräten und Konfigurationen testen. Dieser Leitfaden bietet einen Überblick über die wichtigsten Konzepte von Test Lab, iOS-Angebote und Anleitungen zum Starten von Tests.
Informationen zu Test Lab-Kontingenten und Preismodellen finden Sie unter Nutzung, Kontingente und Preise.
Wichtige Konzepte und Begriffe
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 × 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), 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 seine Testläufe auf verschiedenen Geräten ausführen.
- Testmatrix
- Enthält die Status und Testergebnisse für Ihre Testläufe. Wenn die Ausführung eines Tests in einer Matrix fehlschlägt, schlägt die gesamte Matrix fehl.
Schritt 1: Test für den Upload zu Test Lab vorbereiten
Sie können die folgenden Tests mit Test Lab ausführen. Alle Testtypen können auf physischen Geräten bis zu 45 Minuten lang ausgeführt werden. Nicht abgefangene Ausnahmen führen zu einem Testfehler.
XCTest (einschließlich XCUITests): Ein Einheitentest, den Sie mit dem XCTest-Framework geschrieben haben. Eine Anleitung zum Ändern eines XCTest für die Ausführung mit Test Lab finden Sie unter XCTest erstellen.
Spielschleifentest: Ein Test, bei dem mit einem „Demomodus“ Spieleraktionen in Gaming-Apps simuliert werden. So lässt sich 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 Game-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 einzelnen Testausführung ausgeführt werden. Sie können Loops auch mit Labels organisieren, um den Überblick zu behalten und bestimmte Loops noch einmal auszuführen.
Eine Anleitung zum Ausführen des Tests in Test Lab finden Sie unter Spielschleifentest ausführen.
Schritt 2: Tool für den Test auswählen
Sie können für Ihren Test die folgenden Tools auswählen:
In der Firebase-Konsole können Sie eine App hochladen und Tests von überall aus starten. Eine Anleitung zur Verwendung dieses Tools finden Sie unter Mit der Firebase-Konsole testen.
Mit der gcloud-Befehlszeile 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 zur Verwendung dieses Tools finden Sie unter Mit der gcloud CLI testen.
Bevor Sie auf echten Geräten testen, führen Sie den Test lokal auf einem Simulator aus, um sicherzustellen, dass er sich wie erwartet verhält. Eine Anleitung finden Sie unter Lokal testen.
Schritt 3: Testgeräte angeben
Mit Test Lab können Sie Ihre Tests für Ihre App auf einer Vielzahl von iOS-Geräten und ‑Modellen ausführen, die in einem Google-Rechenzentrum gehostet werden. Weitere Informationen
Schritt 4: 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-Konsole aufgerufen werden. Sie enthält die wichtigsten Daten für Ihren Test, einschließlich testfallspezifischer Videos, Screenshots, der Anzahl der bestandenen, fehlgeschlagenen oder instabilen Tests und 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.
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. 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-Gerä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 verwenden oder mit ihnen zusammenarbeiten (z. B. Werbenetzwerke oder Demand-Side-Plattformen), empfehlen wir Ihnen, während der App-Entwicklung und beim Testen 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 der IP-Adressblöcke unten herausfiltern. Sie müssen keine von Google betriebenen Anzeigenanbieter benachrichtigen. 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 die gcloud CLI 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) 70.32.128.48/28 (hinzugefügt im April 2024) |
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 02-2022) 216.239.44.24/29 (entfernt 02-2022) |