Analyser les résultats du laboratoire de test Firebase

Il y a 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 en utilisant 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 séries de tests précédents, sélectionnez Test Lab dans le panneau de navigation à 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 cas de test contre les dispositifs et les configurations que vous avez sélectionné, Test Lab exécute le test contre votre application dans un lot, puis affiche les résultats sous forme d' une matrice de test.

Périphériques × exécutions de test = matrice de test

Appareil
Un appareil physique ou virtuel (Android uniquement) sur lequel vous effectuez 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 le modèle d'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).
Tester, tester l'exécution
Un test (ou un ensemble de cas de test) à exécuter sur un appareil. Vous pouvez exécuter un test par appareil, ou éventuellement fragmenter le test et exécuter ses scénarios de test sur différents appareils.
Matrice de test
Contient les statuts et les résultats de test pour vos exécutions de test. Si une exécution de test dans une matrice échoue, la matrice entière échoue.

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

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

Lorsque vous accédez à vos résultats de test en sélectionnant Test de laboratoire, vous voyez les résultats des tests que vous avez effectué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 Tous en bas Matrices de la liste des tests d'application pour voir la liste complète pour cette application.

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

Lors du démarrage d' un test par l' interface utilisateur Test Lab , vous êtes redirigé vers une page où vous pouvez voir votre matrice de test et cliquez sur l'exécution d' un test spécifique pour afficher les résultats des tests. Android studio et la commande gcloud fournissent une URL pour les résultats de la matrice de test page ainsi.

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é.
  • ManquéTest échoué : Au moins un échec a été rencontré.
  • Non concluantTest réussi : Les résultats des tests n'étaient pas concluants, probablement 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 consulter 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 testRé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 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 ne pas être concluante. Une matrice de test est indiqué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 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 entreprises par Robo 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 de robots

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 de l'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 tester Robo , les résultats des tests détaillés comprennent une map activité qui est une représentation graphique des chemins UI 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é, 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 du 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, visite Commencez avec Accessibilité Scanner .

Pour plus d' informations sur la façon d'améliorer l'accessibilité de votre application, consultez la documentation d'accessibilité Android Developer .

Indicateurs de performance

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

Métrique Configuration de l'appareil 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 comprend un SurfaceView
Performances graphiques API 23+

Détails des performances graphiques

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

  • Vsync manqué: Le nombre d'événements Vsync manqués, divisé par le nombre de cadres qui ont plus de 16 ms à rendre.
  • Latence d'entrée élevée: Le nombre d'événements d'entrée qui ont plus de 24 ms, divisé par le nombre de trames qui a plus de 16 ms à rendre.
  • Thread d'interface utilisateur lente: Le nombre de fois que le thread d'interface utilisateur a plus de 8 ms pour terminer, divisé par le nombre de cadres qui ont plus de 16 ms à rendre.
  • Commandes lentes de traction: Le nombre de fois que l' envoi de commandes de dessin au GPU a pris plus de 12 ms, divisé par le nombre de trames qui a pris plus de 16 ms pour le rendu.
  • Téléchargements lents bitmap: Le nombre de fois que le bitmap a pris plus de 3,2 ms à télécharger sur le GPU divisé par le nombre de trames qui a plus de 16 ms à rendre.
  • Temps de rendu: La répartition des temps de rendu pour chaque trame de l'essai. 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. Rendre les données sont recueillies à partir dumpsys graphicsstats .

Résultats détaillés des tests

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 consulter les résultats détaillés des tests dans le seau Cloud Storage lorsque vous cliquez sur Afficher les fichiers source 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 détaillés des tests de plus de 90 jours, vous devez envoyer ces résultats de test dans un seau Cloud Storage que vous possédez en utilisant le --results seau l' option de ligne de commande gcloud . Vous pouvez ensuite régler le paramètre d'âge pour déterminer combien de temps les résultats sont stockés dans votre seau Cloud Storage. Voir les conditions du cycle de vie pour obtenir des informations sur la façon de modifier le réglage de l' âge.