Analysieren Sie die Ergebnisse des Firebase-Testlabors

Es gibt mehrere Möglichkeiten, Firebase Test Lab zum Ausführen von Tests auf Ihrer Android-App zu verwenden, einschließlich der Befehlszeilenschnittstelle , Android Studio , der Test Lab-Benutzeroberfläche in der Firebase-Konsole und der Testing API . Wie auch immer Sie Ihre Tests starten, die Ergebnisse werden in dem von Ihnen angegebenen Firebase-Projekt gespeichert. Sie können die Ergebnisse zusätzlich zu den oben genannten Tools mithilfe 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 im linken Navigationsbereich Ihres Projekts in der Firebase-Konsole Testlabor aus. Auf dieser Seite werden alle Testläufe der Apps angezeigt, die Sie mit Test Lab mit Ihrem Projekt getestet haben.

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

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 durchführen, z. B. ein Telefon, Tablet oder tragbares Gerät. Geräte in einer Testmatrix werden nach Gerätemodell, Betriebssystemversion, Bildschirmausrichtung und Gebietsschema (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 optional den Test aufteilen 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 erläutert, wie Sie in den Testergebnissen navigieren.

Interpretieren Sie die Ergebnisse des Testverlaufs

Wenn Sie zu Ihren Testergebnissen navigieren, indem Sie Testlabor auswählen, sehen Sie die Ergebnisse der Tests, die Sie bisher durchgeführt haben.

Der Testverlauf ist nach App gruppiert. Für jede App werden nur die aktuellsten 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.

Interpretieren Sie die Ergebnisse der Testmatrix

Wenn Sie einen Test über die Benutzeroberfläche des Testlabors 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 Testmatrix-Ergebnisseite bereit.

In einer typischen Testmatrix führen Sie möglicherweise einen Test über etwa ein Dutzend verschiedene Geräte durch. Jede Testausführung kann zu einem anderen Ergebnis führen. Die möglichen Ergebnisse für jede Testausführung in einer Testmatrix umfassen Folgendes:

  • BestandenTest bestanden : Es sind keine Fehler aufgetreten.
  • FehlgeschlagenIm Test durchgefallen : Es ist mindestens ein Fehler 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 inkompatibel. Dies tritt auf, wenn die von Ihnen ausgewählten Geräte mit einer oder mehreren der von Ihnen ausgewählten Android-API-Ebenen nicht kompatibel sind.

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

Beispiel einer Testmatrix-Ergebnisseite mit nur vier TestausführungenTestmatrix-Ergebnisse

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

Beispiel einer Testmatrix-Listenseite Testmatrixliste

Eine Testmatrix kann bestehen, nicht bestehen 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.

Interpretieren Sie die Ergebnisse des Robo-Tests

Wenn Sie Ihre Tests mit Robo durchgeführt haben, enthalten Ihre Ergebnisse zusätzlich zu den üblichen Testmetriken Videos und Screenshots von Robo, der Ihre Benutzeroberfläche crawlt. Diese Videos und Screenshots enthalten visuelle Hinweise auf die Aktionen, die Robo während des Crawls durchgeführt hat, ähnlich der Funktion „Berührungen anzeigen“ in Android. Anhand der Hinweise können Sie den Fortschritt von Robo verfolgen und eventuell entdeckte Fehler reproduzieren.

Beispielvideo zu Robo-Testergebnissen

Robo-Testergebnisse

Interpretieren Sie die Ergebnisse einer einzelnen Testausführung

Klicken Sie auf der Seite mit den Testmatrix-Ergebnissen auf eine der Testausführungen, um das Ergebnis dieser spezifischen Testausführung anzuzeigen.

Beispielseite mit Testausführungsergebnissen Ergebnisse der Testausführung

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

Testergebnisse der partitionierten Instrumentierung

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

Beispiel einer Testfall-Ergebnisseite Testfallergebnisse

Interpretieren Sie die Ergebnisse zur Barrierefreiheit

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 Accessibility Scanner .

Allgemeine Informationen dazu, wie Sie die Barrierefreiheit Ihrer App verbessern können, finden Sie in der Dokumentation zur Barrierefreiheit für Android-Entwickler .

Leistungskennzahlen

Tests, die auf physischen Geräten ausgeführt werden, liefern auch Leistungsmetriken:

Metrisch Erforderliche Gerätekonfiguration
Startzeit der App 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 Grafikmetriken:

  • Verpasster Vsync: Die Anzahl der verpassten Vsync-Ereignisse, geteilt durch die Anzahl der Frames, deren Rendern länger als 16 ms gedauert hat.
  • Hohe Eingabelatenz: Die Anzahl der Eingabeereignisse, die länger als 24 ms gedauert haben, geteilt durch die Anzahl der Frames, deren Rendering länger als 16 ms gedauert hat.
  • Langsamer UI-Thread: Die Häufigkeit, mit der der UI-Thread mehr als 8 ms zum Abschließen benötigte, 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 gedauert hat, geteilt durch die Anzahl der Frames, deren Rendering länger als 16 ms gedauert hat.
  • 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. Renderdaten werden 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 detaillierte Testergebnisse im Cloud Storage-Bucket anzeigen, wenn Sie auf der Seite mit den Testausführungsergebnissen auf Testergebnisse klicken. Wenn keine detaillierten Testergebnisse mehr verfügbar sind, können Sie immer noch sehen, welche Tests bestanden oder nicht bestanden wurden.

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 Alterseinstellung festlegen, um zu bestimmen, wie lange Ergebnisse in Ihrem Cloud Storage-Bucket gespeichert werden. Informationen zum Ändern der Alterseinstellung finden Sie unter Lebenszyklusbedingungen .