Mit Firebase Test Lab können Sie Ihre App auf einer Reihe von Geräten und Konfigurationen auf Qualität testen. Dieser Leitfaden bietet einen Überblick über die Schlüsselkonzepte von Test Lab, iOS-Angebote und Anweisungen zum Starten des Testens.
Informationen zu Test Lab-Kontingenten und Preisplänen finden Sie unter Nutzung, Kontingente und Preise .
Schlüsselkonzepte und Begriffe
Wenn Sie einen Test oder eine Reihe von Testfällen für von Ihnen ausgewählte Geräte und Konfigurationen ausführen, führt Test Lab den Test für Ihre App in einem Stapel 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 Telefon, Tablet oder tragbares Gerät. Geräte in einer Testmatrix werden anhand des Gerätemodells, der Betriebssystemversion, der Bildschirmausrichtung und des Gebietsschemas (auch bekannt als geografische und Spracheinstellungen) identifiziert.
- Testen, 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 fragmentieren und seine 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 : Bereiten Sie Ihren Test zum Hochladen in Test Lab vor
Sie können die folgenden Tests mit Test Lab ausführen. Beachten Sie, dass alle Testtypen auf physischen Geräten bis zu 45 Minuten lang ausgeführt werden können und jede nicht abgefangene Ausnahme zu einem Testfehler führt.
XCTest (einschließlich XCUITests) : Ein Komponententest, den Sie mit dem XCTest-Framework geschrieben haben. Unter XCTest erstellen finden Sie Anweisungen zum Ändern eines XCTests für die Ausführung mit Test Lab.
Spielschleifentest : Ein Test, der einen „Demomodus“ verwendet, um Spieleraktionen in Gaming-Apps zu simulieren. Dies ist eine schnelle und skalierbare Methode, um zu überprüfen, ob Ihr Spiel für Benutzer gut funktioniert. Wenn Sie sich für die Durchführung eines Spielschleifentests entscheiden, können Sie:
Schreiben Sie native Tests für Ihre Spiel-Engine.
Vermeiden Sie es, denselben Code für verschiedene Benutzeroberflächen oder Testframeworks zu schreiben.
Erstellen Sie optional mehrere Schleifen, die in einer einzigen Testausführung ausgeführt werden. Sie können Loops auch mithilfe von Labels organisieren, damit Sie sie verfolgen und bestimmte Loops erneut ausführen können.
Unter Einen Spielschleifentest ausführen finden Sie Anweisungen zum Ausführen Ihres Tests in Test Lab.
Schritt 2 : Wählen Sie ein Tool aus, um Ihren Test auszuführen
Sie können die folgenden Tools auswählen, um Ihren Test durchzuführen:
Mit der Firebase-Konsole können Sie eine App hochladen und Tests von überall aus starten. Anweisungen zur Verwendung dieses Tools finden Sie unter Testen mit der Firebase-Konsole .
Die gcloud-Befehlszeilenschnittstelle (CLI) ermöglicht es Ihnen, Tests interaktiv über die Befehlszeile auszuführen, und eignet sich auch gut für die Skripterstellung als Teil Ihres automatisierten Build- und Testprozesses. Anweisungen zur Verwendung dieses Tools finden Sie unter Testen mit der gcloud-Befehlszeilenschnittstelle .
Führen Sie vor dem Testen auf realen Geräten Ihren Test lokal auf einem Simulator aus, um sicherzustellen, dass er sich wie beabsichtigt verhält. Anweisungen finden Sie unter Lokal testen .
Schritt 3 : Testgeräte angeben
Mit Test Lab können Sie Ihre App auf einer Vielzahl von iOS-Geräten und -Modellen testen, die in einem Google-Rechenzentrum gehostet werden. Weitere Informationen finden Sie unter Verfügbare Geräte.
Schritt 4 : Überprüfen Sie die Testergebnisse
Unabhängig davon, wie Sie Ihre Tests initiieren, werden alle Ihre Testergebnisse von Test Lab verwaltet und können online eingesehen werden.
Die Zusammenfassung der Testergebnisse wird automatisch gespeichert und kann in der Firebase-Konsole angezeigt werden. Es enthält die relevantesten Daten für Ihren Test, einschließlich testfallspezifischer Videos, Screenshots, der Anzahl der Tests, die bestanden, fehlgeschlagen oder fehlerhafte Ergebnisse erzielt haben, und mehr.
Die Rohtestergebnisse 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 Kosten der Speicherung verantwortlich. Wenn Sie keinen Bucket angeben, erstellt Test Lab kostenlos einen für Sie.
Weitere Einzelheiten finden Sie unter Firebase-Testlaborergebnisse 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, um sicherzustellen, dass sie bereit sind, neue Tests durchzuführen. Bei Geräten, die wir mit einem benutzerdefinierten Wiederherstellungs-Image flashen können, gehen wir noch einen Schritt weiter, indem wir diese Geräte zwischen den Testläufen flashen.
Für die von Test Lab verwendeten virtuellen Geräte werden Geräteinstanzen nach ihrer Verwendung gelöscht, sodass jeder Testlauf eine neue virtuelle Geräteinstanz verwendet.
Zulassen, dass Test Lab-Geräte auf private Back-End-Server zugreifen
Einige mobile Apps müssen mit privaten Back-End-Diensten kommunizieren, um während des Testens richtig zu funktionieren. Wenn Ihre Back-End-Server durch Firewallregeln geschützt sind, können Sie den Zugriff für die physischen und virtuellen Geräte von Test Lab erlauben, indem Sie die folgenden IP-Adressblöcke verwenden, um Routen durch Ihre Firewall zu öffnen.
Mobile Werbung
Test Lab bietet eine skalierbare Infrastruktur, die App-Tests automatisiert, und leider kann diese Funktion von bösartigen Apps missbraucht werden, die darauf ausgelegt sind, betrügerische Werbeeinnahmen zu generieren.
So beheben Sie dieses Problem:
Wenn Sie Drittanbieter für digitale Werbung verwenden oder mit ihnen zusammenarbeiten (z. B. Werbenetzwerke oder Demand-Side-Plattformen), wird Ihnen empfohlen, 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 Anbieter digitaler Werbung, mit denen Sie zusammenarbeiten, um Einnahmen und den gesamten entsprechenden Datenverkehr, der von Test Lab generiert wird, herauszufiltern, indem Sie die folgenden IP-Adressblöcke verwenden . Sie müssen Google-eigene Anzeigenanbieter nicht benachrichtigen; Test Lab übernimmt das für Sie.
IP-Adressen, die von Test Lab-Geräten verwendet werden
Der gesamte von Test Lab-Geräten generierte Netzwerkverkehr stammt von den folgenden IP-Adressblöcken . Sie können auf diese Liste auch zugreifen, indem Sie den Befehl gcloud beta firebase test ip-blocks list
in der gcloud- Befehlszeilenschnittstelle verwenden. Die Liste wird durchschnittlich einmal jährlich aktualisiert.
Plattform und Gerätetyp | CIDR-IP-Adressblock |
---|---|
Physische Android- und iOS-Geräte | 70.32.128.0/19 (hinzugefügt 02-2022) 108.177.6.0/23 108.177.18.192/26 (hinzugefügt 02-2022) 108.177.29.64/27 (erweitert 02-2022) 108.177.31.160/27 (hinzugefügt 02-2022) 199.36.156.8/29 (hinzugefügt 02-2022) 199.36.156.16/28 (hinzugefügt 02-2022) 209.85.131.0/27 (hinzugefügt 02-2022) 2001:4860:1008::/48 (hinzugefügt 02-2022) 2001:4860:1018::/48 (hinzugefügt 02-2022) 2001:4860:1019::/48 (hinzugefügt 02-2022) 2001:4860:1020::/48 (hinzugefügt 02-2022) 2001:4860:1022::/48 (hinzugefügt 02-2022) |
Virtuelle Android-Geräte | 34.68.194.64/29 (hinzugefügt 11-2019) 34.69.234.64/29 (hinzugefügt 11-2019) 34.73.34.72/29 (hinzugefügt 11-2019) 34.73.178.72/29 (hinzugefügt 11-2019) 34.74.10.72/29 (hinzugefügt 02-2022) 34.136.2.136/29 (hinzugefügt 02-2022) 34.136.50.136/29 (hinzugefügt 02-2022) 34.145.234.144/29 (hinzugefügt 02-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 7-2019) 35.245.243.240/29 (hinzugefügt 02-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) |