Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

Analysieren Sie die Ergebnisse des Firebase-Testlabors

Es gibt mehrere Möglichkeiten, Firebase Test Lab zum Ausführen von Tests in Ihrer Android-App zu verwenden, darunter die Befehlszeilenschnittstelle , Android Studio , die Test Lab-Benutzeroberfläche in der Firebase-Konsole und die Testing API . Unabhängig davon, wie Sie Ihre Tests starten, werden die Ergebnisse in dem von Ihnen angegebenen Firebase-Projekt gespeichert. Sie können die Ergebnisse zusätzlich zu den oben genannten Tools mit der ToolResults API untersuchen . Auf dieser Seite wird beschrieben, wie Sie diese Testergebnisse überprüfen und analysieren.

Schlüssel Konzepte

Um die Ergebnisse aller Ihrer vorherigen Testläufe anzuzeigen, wählen Sie Test Lab im linken Navigationsbereich Ihres Projekts in der Firebase-Konsole aus. Auf dieser Seite werden alle Testläufe der Apps angezeigt, die Sie mit Ihrem Projekt mit Test Lab getestet haben.

Um die Testergebnisse zu überprüfen, müssen Sie zunächst drei Konzepte verstehen:

Wenn Sie einen Test oder eine Reihe von Testfällen 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 durchfü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 als Geografie- und Spracheinstellungen bezeichnet) identifiziert.
Test, Testdurchfü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 teilen 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.

In den folgenden Abschnitten wird die Navigation in den Testergebnissen erläutert.

Ergebnisse des Testverlaufs interpretieren

Wenn Sie Ihre Testergebnisse navigieren , indem Test Lab Auswahl, können Sie die Ergebnisse der Tests sehen Sie bisher ausgeführt haben.

Der Testverlauf ist nach App gruppiert. Für jede App werden nur die letzten fünf Testmatrizen angezeigt; Wenn weitere verfügbar sind, können Sie unten in der App- Testliste auf den Link Alle Matrizen klicken, um die vollständige Liste für diese App anzuzeigen.

Ergebnisse der Testmatrix interpretieren

Wenn Sie einen Test über die Test Lab-Benutzeroberfläche starten, werden Sie zu einer Seite weitergeleitet, auf der Sie Ihre Testmatrix sehen und auf eine bestimmte Testausführung klicken können, um die Testergebnisse anzuzeigen. Android Studio und der Befehl gcloud stellen auch eine URL für die Ergebnisseite der Testmatrix bereit.

In einer typischen Testmatrix können Sie einen Test auf etwa einem Dutzend verschiedener Geräte durchführen. Jede Testausführung kann ein anderes Ergebnis haben. Die möglichen Ergebnisse für jede Testausführung in einer Testmatrix umfassen Folgendes:

  • BestandenTest bestanden : Es wurden keine Fehler festgestellt.
  • GescheitertIm Test durchgefallen : Mindestens ein Fehler ist aufgetreten.
  • Nicht schlüssigTest bestanden : Die Testergebnisse waren nicht eindeutig, möglicherweise aufgrund eines Fehlers im Testlabor.
  • ÜbersprungenTest bestanden : Die ausgewählten Dimensionswerte für einige Testausführungen in der Matrix waren nicht kompatibel. Dies tritt auf, wenn die von Ihnen ausgewählten Geräte nicht mit einer oder mehreren der von Ihnen ausgewählten Android-API-Ebenen kompatibel sind.

Um aggregierte Testergebnisse für alle Testmatrizen für eine bestimmte App in Ihrem Firebase-Projekt anzuzeigen, klicken Sie auf den Namen der App, wie im folgenden Beispiel gezeigt:

Beispiel-Testmatrix-Ergebnisseite mit nur vier TestausführungenErgebnisse der Testmatrix

Dadurch gelangen Sie zur Testmatrixliste für Ihre App, in der Sie auf den Namen einer beliebigen Testmatrix klicken können, um die Testmatrixergebnisse anzuzeigen, und wo Sie auf den Namen der App (in der roten Box unten angezeigt) klicken können, um die Testmatrixliste für andere Apps, die mit Ihrem Firebase-Projekt verknüpft sind.

Beispielseite für eine Testmatrixliste Liste der Testmatrix

Eine Testmatrix kann bestehen, fehlschlagen oder nicht schlüssig sein. Eine Testmatrix wird als fehlgeschlagen oder nicht schlüssig angezeigt, wenn Testausführungen in dieser Matrix fehlschlagen oder nicht schlüssig sind.

Ergebnisse des Robo-Tests interpretieren

Wenn Sie Ihre Tests mit Robo durchgeführt haben, enthalten Ihre Ergebnisse zusätzlich zu den üblichen Testmetriken Videos und Screenshots von Robo, die Ihre Benutzeroberfläche crawlen. Diese Videos und Screenshots enthalten visuelle Hinweise auf die Aktionen, die Robo während des Crawls ausgeführt hat, ähnlich der Funktion "Touches anzeigen" in Android. Sie können die Hinweise verwenden, um den Fortschritt von Robo zu verfolgen und alle Fehler zu reproduzieren, die möglicherweise aufgedeckt werden.

Beispielvideo mit Robo-Testergebnissen

Robo-Testergebnisse

Ergebnisse einer einzelnen Testausführung interpretieren

Klicken Sie auf der Ergebnisseite der Testmatrix auf eine der Testausführungen, um das Ergebnis dieser spezifischen Testausführung anzuzeigen.

Beispielseite mit Testausführungsergebnissen Ergebnisse der Testausführung

Auf dieser Seite sehen Sie die benötigte Zeit für jede Testausführung. Sie können auch die Ergebnisse für bestimmte Testfälle sehen, die den Methoden in Ihrem Test-APK (für Instrumentierungstests) entsprechen, sowie detaillierte Testergebnisse, einschließlich Testprotokollen, Screenshots und Videos. Für Robo-Test enthalten detaillierte Testergebnisse auch eine Aktivitätskarte, die die UI-Pfade grafisch darstellt, die von Robo-Test besucht wurden.

Testergebnisse der partitionierten Instrumentierung

Um Sie bei der Interpretation instrumentierter Testergebnisse zu unterstützen, unterteilt Test Lab jeden Test in eine eigene detaillierte Berichtsseite mit Stack-Traces, Protokollen und Videos. Diese Funktion funktioniert unabhängig davon, ob Sie Android Orchestrator verwenden oder nicht.

Beispielseite mit Testfallergebnissen Testfallergebnisse

Ergebnisse zur Barrierefreiheit interpretieren

Robo-Tests verwenden den Android Accessibility Scanner, um Barrierefreiheitsprobleme in Ihrer App zu erkennen (beachten Sie, dass Sie einen Scan auch lokal auf Ihrem Gerät ausführen können). Anweisungen zum Überprüfen und Interpretieren der Barrierefreiheitsergebnisse Ihres Robo-Tests finden Sie unter Erste Schritte mit dem Barrierefreiheits-Scanner .

Allgemeine Informationen zum Verbessern der Barrierefreiheit Ihrer App finden Sie in der Dokumentation zur Barrierefreiheit für Android-Entwickler .

Leistungskennzahlen

Tests, die auf physischen Geräten ausgeführt werden, geben auch Leistungskennzahlen zurück:

Metrisch Erforderliche Gerätekonfiguration
App-Startzeit API 19+
CPU auslastung API 21+
Speichernutzung
Netzwerkaktivität
Bilder pro Sekunde API 21+ und beinhaltet ein SurfaceView
Grafikleistung API 23+

Details zur Grafikleistung

Der Grafikleistungsbericht enthält Statistiken zu mehreren wichtigen Grafikkennzahlen:

  • Missed Vsync: Die Anzahl der verpassten Vsync-Ereignisse geteilt durch die Anzahl der Frames, deren Rendern länger als 16 ms dauerte.
  • Hohe Eingabelatenz: Die Anzahl der Eingabeereignisse, die länger als 24 ms dauerten, geteilt durch die Anzahl der Frames, deren Rendern länger als 16 ms dauerte.
  • Langsamer UI-Thread: Die Häufigkeit, mit der der UI-Thread mehr als 8 ms benötigt hat, geteilt durch die Anzahl der Frames, deren Rendern länger als 16 ms dauerte.
  • Langsame Zeichenbefehle: Die Häufigkeit, mit der das Senden von Zeichenbefehlen an die GPU mehr als 12 ms dauerte, geteilt durch die Anzahl der Frames, deren Rendern länger als 16 ms dauerte.
  • Langsame Bitmap-Uploads: Die Häufigkeit, mit der das Hochladen der Bitmap auf die GPU länger als 3,2 ms dauerte, geteilt durch die Anzahl der Frames, deren Rendern länger als 16 ms dauerte.
  • Renderzeit: Die Verteilung der Renderzeiten für jeden Frame des Testlaufs. Renderzeiten von mehr als 32 Millisekunden führen zu einer spürbaren Verlangsamung Ihrer Benutzeroberfläche. Renderzeiten von 700+ weisen auf eingefrorene Frames hin. dumpsys graphicsstats von dumpsys graphicsstats gesammelt.

Detaillierte Testergebnisse

Detaillierte Testergebnisse sind 90 Tage lang verfügbar, nachdem Sie einen Test ausgeführt haben, und werden in einem Google Cloud Storage-Bucket gespeichert (sind aber auch in der Firebase-Konsole sichtbar). Sie können in der Cloud Storage - Bucket detaillierten Testergebnisse anzeigen , wenn Sie View Source - Dateien auf dem Testausführungsergebnisse Seite klicken. Wenn keine detaillierten Testergebnisse mehr verfügbar sind, können Sie immer noch sehen, welche Tests bestanden oder fehlgeschlagen sind.

Um detaillierte Testergebnisse länger als 90 Tage aufzubewahren, müssen Sie diese Testergebnisse mit der gcloud- Befehlszeilenoption --results-bucket an einen Cloud Storage-Bucket senden, der Ihnen gehört. Anschließend können Sie die Alte Einstellung festgelegt , um zu bestimmen , wie lange die Ergebnisse in Ihren Cloud Storage Eimern gespeichert sind. Siehe Lifecycle Bedingungen für Informationen , wie die Alten Einstellung zu ändern.