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, notamment l' interface de ligne de commande , Android Studio , l' interface utilisateur de 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 tests.

Concepts clés

Pour voir les résultats de toutes vos exécutions de tests 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 tests 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 par lots, puis affiche les résultats sous forme de matrice de test .

Appareils × Exécutions de tests = 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 dans une matrice de test sont identifiés par le modèle de l'appareil, la version du système d'exploitation, l'orientation de l'écran et les paramètres régionaux (également appelés paramètres géographiques et linguistiques).
Test, exécution de 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 de tests
Contient les statuts et les résultats des tests pour vos exécutions de tests. Si l’exécution d’un test dans une matrice échoue, la matrice entière échoue.

Les sections suivantes expliquent comment parcourir les résultats des tests.

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

Lorsque vous accédez aux résultats de vos tests 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 de tests d'application pour voir 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 : Aucune panne n'a été rencontrée.
  • ÉchouéTest échoué : Au moins un échec a été rencontré.
  • Non concluantTest réussi : Les résultats des tests n'ont pas été concluants, probablement en raison d'une erreur du laboratoire de test.
  • SautéTest réussi : Les valeurs de dimension sélectionnées pour certaines exécutions de tests dans la matrice étaient incompatibles. Cela se produit lorsque les appareils que vous avez sélectionnés sont incompatibles avec un ou plusieurs 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 d'une application donnée dans votre projet Firebase, cliquez sur le nom de l'application, comme indiqué dans l'exemple suivant :

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

Cela vous amène à la liste des matrices de test de 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 (indiqué dans l'encadré rouge ci-dessous) pour afficher le liste de matrices de test pour d'autres applications associées à votre projet Firebase.

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

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

Interpréter les résultats des tests Robo

Si vous avez effectué 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 effectuées par Robo pendant l'exploration, similaires à la fonctionnalité « Afficher les touches » d'Android. Vous pouvez utiliser les indications pour vous aider à suivre la progression de Robo et reproduire les bugs qu'il pourrait découvrir.

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

Résultats des tests robotisés

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

Depuis 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) ainsi que les résultats de test détaillés, notamment les journaux de test, les captures d'écran et les vidéos. Pour Robo test , les résultats de test détaillés incluent également une carte d'activité qui montre graphiquement les chemins d'interface utilisateur visités par Robo test.

Résultats des tests d'instrumentation partitionnés

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é, complétée par 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 scénario de test Résultats du scénario de test

Interpréter les résultats d’accessibilité

Les tests robotisés 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 manière d'examiner et d'interpréter les résultats d'accessibilité de votre test Robo, consultez Démarrer 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é des développeurs Android .

Indicateurs de performance

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

Métrique Configuration de périphérique requise
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 :

  • Vsync manqué : 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 : nombre de fois où le thread d’interface utilisateur a mis plus de 8 ms à se terminer, divisé par le nombre d’images dont le rendu a pris plus de 16 ms.
  • Commandes de dessin lentes : 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 mis plus de 3,2 ms à ê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 : répartition des temps de rendu pour chaque image de l'exécution du test. Des temps de rendu supérieurs à 32 millisecondes provoquent un ralentissement perceptible de votre interface utilisateur. Des temps de rendu supérieurs à 700 indiquent des images gelées. Les données de rendu sont collectées à partir dumpsys graphicsstats .

Résultats des tests détaillés

Les résultats détaillés des tests 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 de test 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 détaillés des tests 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 Âge pour déterminer la durée pendant laquelle les résultats sont stockés dans votre bucket Cloud Storage. Voir Conditions du cycle de vie pour plus d'informations sur la façon de modifier le paramètre Âge .