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, 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 mit der ToolResults-API untersuchen . Auf dieser Seite wird beschrieben, wie Sie diese Testergebnisse überprüfen und analysieren.

Schlüssel Konzepte

Um die Ergebnisse all Ihrer vorherigen Testläufe anzuzeigen, wählen Sie in der Firebase-Konsole im linken Navigationsbereich Ihres Projekts Test Lab aus. Auf dieser Seite werden alle Testläufe der Apps angezeigt, die Sie mit Ihrem Projekt mithilfe von Test Lab 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 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.

In den folgenden Abschnitten wird erläutert, wie Sie in den Testergebnissen navigieren.

Interpretieren Sie die Ergebnisse der Testhistorie

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

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.

Interpretieren Sie die Ergebnisse der Testmatrix

Wenn Sie einen Test über die Benutzeroberfläche von Test Lab 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 gcloud-Befehl 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 schlüssig, 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 von Ihnen ausgewählte 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 für eine Testmatrix-Ergebnisseite mit nur vier TestausführungenErgebnisse der Testmatrix

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 Ihrem Firebase-Projekt zugeordnet sind.

Beispiel für eine Testmatrix-Listenseite Liste der Testmatrix

Eine Testmatrix kann bestanden, fehlgeschlagen 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 Robo-Testergebnisse

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 durchsucht. 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. Sie können die Hinweise verwenden, um den Fortschritt von Robo zu verfolgen und eventuell aufgedeckte Fehler zu reproduzieren.

Beispielvideo zu Robo-Testergebnissen

Ergebnisse des Robo-Tests

Interpretieren Sie die Ergebnisse einer einzelnen Testausführung

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

Beispiel für die Ergebnisseite einer Testausführung Ergebnisse der Testausführung

Auf dieser Seite können Sie die Zeit sehen, die für jede Testausführung benötigt wird. 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 Robo-Test enthalten die detaillierten Testergebnisse auch eine Aktivitätskarte, die die UI-Pfade grafisch darstellt, die von Robo-Test besucht wurden.

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 Stacktraces, Protokollen und Videos. Diese Funktion funktioniert unabhängig davon, ob Sie Android Orchestrator verwenden oder nicht.

Beispiel-Testfall-Ergebnisseite Testfallergebnisse

Zugänglichkeitsergebnisse 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 zur Verbesserung 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 Leistungsmetriken zurück:

Metrisch Erforderliche Gerätekonfiguration
App-Startzeit API 19+
CPU auslastung API21+
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:

  • Missed 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 Rendern länger als 16 ms gedauert hat.
  • Langsamer UI-Thread: Die Anzahl der Male, die der UI-Thread länger 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 länger 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, dividiert 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. Renderdaten werden von dumpsys graphicsstats gesammelt.

Detaillierte Testergebnisse

Detaillierte Testergebnisse sind 90 Tage lang nach Ausführung eines Tests verfügbar 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 Quelldateien anzeigen 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, den Sie besitzen. Sie können dann die Alterseinstellung festlegen, um festzulegen, wie lange Ergebnisse in Ihrem Cloud Storage-Bucket gespeichert werden. Informationen zum Ändern der Alterseinstellung finden Sie unter Lebenszyklusbedingungen .