Analyser les résultats du laboratoire de test Firebase

Il existe plusieurs façons d'utiliser Firebase Test Lab pour exécuter des tests sur votre application Android, y compris l' interface de ligne de commande , Android Studio , l' interface utilisateur Test Lab dans la console Firebase et l' API de test . Quelle que soit la manière dont vous choisissez de démarrer vos tests, les résultats sont stockés dans le projet Firebase que vous spécifiez. Vous pouvez explorer les résultats à l'aide de l'API ToolResults en plus de l'un des outils ci-dessus. Cette page décrit comment examiner et analyser ces résultats de test.

Concepts clés

Pour voir les résultats de toutes vos exécutions de test précédentes, sélectionnez Test Lab dans le panneau de navigation de gauche de votre projet dans la console Firebase. Cette page affiche toutes les exécutions de test des applications que vous avez testées avec votre projet à l'aide de Test Lab.

Pour examiner les résultats des tests, vous devez d'abord comprendre trois concepts :

Lorsque vous exécutez un test ou un ensemble de scénarios de test sur les appareils et les configurations que vous avez sélectionnés, Test Lab exécute le test sur votre application dans un lot, puis affiche les résultats sous forme de matrice de test .

Appareils × Exécutions de test = Matrice de test

Appareil
Un appareil physique ou virtuel (Android uniquement) sur lequel vous exécutez un test, tel qu'un téléphone, une tablette ou un appareil portable. Les appareils d'une matrice de test sont identifiés par modèle d'appareil, version du système d'exploitation, orientation de l'écran et paramètres régionaux (également appelés paramètres géographiques et linguistiques).
Test, exécution des tests
Un test (ou un ensemble de cas de test) à exécuter sur un appareil. Vous pouvez exécuter un test par appareil, ou éventuellement partitionner le test et exécuter ses scénarios de test sur différents appareils.
Matrice d'essai
Contient les statuts et les résultats de test pour vos exécutions de test. Si l'exécution d'un test dans une matrice échoue, toute la matrice échoue.

Les sections suivantes expliquent comment parcourir les résultats de test.

Interpréter les résultats de l'historique des tests

Lorsque vous accédez à vos résultats de test en sélectionnant Test Lab , vous voyez les résultats des tests que vous avez exécutés jusqu'à présent.

L'historique des tests est regroupé par application. Seules les cinq matrices de test les plus récentes sont affichées pour chaque application ; si d'autres sont disponibles, vous pouvez cliquer sur le lien Toutes les matrices au bas de la liste des tests d'application pour afficher la liste complète de cette application.

Interpréter les résultats de la matrice de test

Lorsque vous démarrez un test via l'interface utilisateur de Test Lab , vous êtes redirigé vers une page où vous pouvez voir votre matrice de test et cliquer sur une exécution de test spécifique pour afficher les résultats du test. Android Studio et la commande gcloud fournissent également une URL pour la page de résultats de la matrice de test.

Dans une matrice de test typique, vous pouvez exécuter un test sur une douzaine d'appareils différents. Chaque exécution de test peut avoir un résultat différent. Les résultats possibles pour toute exécution de test dans une matrice de test sont les suivants :

  • PasséTest réussi : Aucun échec n'a été rencontré.
  • ÉchouéTest échoué : Au moins un échec a été rencontré.
  • Non concluantTest réussi : Les résultats des tests n'étaient pas concluants, peut-être en raison d'une erreur du laboratoire de test.
  • IgnoréTest réussi : Les valeurs de dimension sélectionnées pour certaines exécutions de test dans la matrice étaient incompatibles. Cela se produit lorsque les appareils que vous avez sélectionnés sont incompatibles avec un ou plusieurs des niveaux d'API Android que vous avez sélectionnés.

Pour examiner les résultats de test agrégés pour toutes les matrices de test pour une application donnée dans votre projet Firebase, cliquez sur le nom de l'application, comme illustré dans l'exemple suivant :

Exemple de page de résultats de matrice de test avec seulement quatre exécutions de test Résultats de la matrice de test

Cela vous amène à la liste des matrices de test pour votre application, où vous pouvez cliquer sur le nom de n'importe quelle matrice de test pour voir les résultats de la matrice de test, et où vous pouvez cliquer sur le nom de l'application (affiché dans la case rouge ci-dessous) pour afficher le liste de matrices de test pour les autres applications associées à votre projet Firebase.

Exemple de page de liste de matrices de test Liste des matrices de test

Une matrice de test peut réussir, échouer ou ne pas être concluante. Une matrice de test est signalée comme ayant échoué ou non concluante si des exécutions de test dans cette matrice échouent ou ne sont pas concluantes.

Interpréter les résultats des tests Robo

Si vous avez exécuté vos tests avec Robo, vos résultats incluent des vidéos et des captures d'écran de Robo explorant votre interface utilisateur, en plus des métriques de test habituelles. Ces vidéos et captures d'écran incluent des indications visuelles des actions que Robo a prises pendant l'exploration, similaires à la fonction "Afficher les touches" d'Android. Vous pouvez utiliser les indications pour vous aider à suivre les progrès de Robo et reproduire les bogues qu'il pourrait découvrir.

Exemple de vidéo de résultats de test Robo

Résultats des tests robotisés

Interpréter les résultats d'une seule exécution de test

À partir de la page des résultats de la matrice de test, cliquez sur l'une des exécutions de test pour voir le résultat de cette exécution de test spécifique.

Exemple de page de résultats d'exécution de test Résultats d'exécution des tests

Sur cette page, vous pouvez voir le temps requis pour chaque exécution de test. Vous pouvez également voir les résultats de cas de test spécifiques qui correspondent aux méthodes de votre APK de test (pour les tests d'instrumentation) et les résultats de test détaillés, y compris les journaux de test, les captures d'écran et les vidéos. Pour le test Robo , les résultats de test détaillés incluent également une carte d'activité qui affiche graphiquement les chemins d'interface utilisateur qui ont été visités par le test Robo.

Résultats des tests d'instrumentation partitionnée

Pour vous aider à interpréter les résultats des tests instrumentés, Test Lab sépare chaque test dans sa propre page de rapport détaillée, avec des traces de pile, des journaux et des vidéos. Cette fonctionnalité fonctionne que vous utilisiez ou non Android Orchestrator.

Exemple de page de résultats de cas de test Résultats des cas de test

Interpréter les résultats d'accessibilité

Les tests Robo utilisent Android Accessibility Scanner pour détecter les problèmes d'accessibilité dans votre application (notez que vous pouvez également exécuter une analyse localement sur votre appareil). Pour obtenir des instructions sur la façon d'examiner et d'interpréter les résultats d'accessibilité de votre test Robo, consultez Premiers pas avec Accessibility Scanner .

Pour obtenir des informations générales sur la manière d'améliorer l'accessibilité de votre application, consultez la documentation sur l'accessibilité pour les développeurs Android .

Indicateurs de performance

Les tests exécutés sur des appareils physiques renvoient également des mesures de performances :

Métrique Configuration requise de l'appareil
Heure de démarrage de l'application API 19+
l'utilisation du processeur API 21+
Utilisation de la mémoire
Activité réseau
Images par seconde API 21+ et inclut un SurfaceView
Performances graphiques API 23+

Détails des performances graphiques

Le rapport sur les performances graphiques contient des statistiques sur plusieurs mesures graphiques clés :

  • Missed Vsync : nombre d'événements Vsync manqués, divisé par le nombre d'images dont le rendu a pris plus de 16 ms.
  • Latence d'entrée élevée : nombre d'événements d'entrée qui ont pris plus de 24 ms, divisé par le nombre d'images dont le rendu a pris plus de 16 ms.
  • Thread d'interface utilisateur lent : le nombre de fois que le thread d'interface utilisateur a pris plus de 8 ms pour se terminer, divisé par le nombre d'images dont le rendu a pris plus de 16 ms.
  • Commandes de dessin lentes : le nombre de fois où l'envoi de commandes de dessin au GPU a pris plus de 12 ms, divisé par le nombre d'images dont le rendu a pris plus de 16 ms.
  • Téléchargements de bitmap lents : nombre de fois où le bitmap a pris plus de 3,2 ms pour être téléchargé sur le GPU, divisé par le nombre d'images dont le rendu a pris plus de 16 ms.
  • Temps de rendu : distribution des temps de rendu pour chaque image de l'exécution du test. Les temps de rendu supérieurs à 32 millisecondes provoquent un ralentissement perceptible de votre interface utilisateur. Les temps de rendu de 700+ indiquent des images gelées. Les données de rendu sont collectées à partir de dumpsys graphicsstats .

Résultats des tests détaillés

Les résultats de test détaillés sont disponibles pendant 90 jours après l'exécution d'un test et sont stockés dans un bucket Google Cloud Storage (mais sont également visibles dans la console Firebase). Vous pouvez afficher les résultats des tests détaillés dans le bucket Cloud Storage lorsque vous cliquez sur Résultats des tests sur la page des résultats d'exécution des tests. Lorsque les résultats de test détaillés ne sont plus disponibles, vous pouvez toujours voir quels tests ont réussi ou échoué.

Pour conserver les résultats de test détaillés pendant plus de 90 jours, vous devez envoyer ces résultats de test à un bucket Cloud Storage que vous possédez à l'aide de l' option de ligne de commande gcloud --results-bucket . Vous pouvez ensuite définir le paramètre Age pour déterminer la durée de stockage des résultats dans votre bucket Cloud Storage. Voir Conditions du cycle de vie pour plus d'informations sur la modification du paramètre Âge .