Analyser les résultats de Firebase Test Lab

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'UI Test Lab dans la console Firebase et l'API Testing. Quelle que soit la manière dont vous choisissez de lancer 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 explique comment examiner et analyser ces résultats de test.

Concepts clés

Dans la console Firebase, vous pouvez consulter les résultats de tous vos tests précédents en accédant à DevOps et engagement > Test Lab. Cette page affiche tous les résultats détaillés des 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 lot, puis affiche les résultats sous la forme d'une matrice de test.

Appareils × Exécutions de test = Matrice de test

Appareil
Appareil physique ou virtuel (Android uniquement) sur lequel vous exécutez un test, par exemple un téléphone, une tablette ou un accessoire connecté. Les appareils d'une matrice de test sont identifiés par le modèle d'appareil, la version de l'OS, l'orientation de l'écran et les paramètres régionaux (également appelés paramètres géographiques et linguistiques).
Test, exécution de test
Un test (ou un ensemble de scénarios de test) à exécuter sur un appareil. Vous pouvez exécuter un test par appareil ou, si vous le souhaitez, segmenter le test et exécuter ses scénarios de test sur différents appareils.
Matrice de test
Contient les états et les résultats de vos exécutions de test. Si une exécution de test échoue dans une matrice, l'ensemble de la matrice é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 en bas de la liste des tests de l'application pour afficher la liste complète de cette application.

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

Lorsque vous lancez 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 des résultats de la matrice de test.

Dans une matrice de test classique, vous pouvez exécuter un test sur une dizaine 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 :

  • Réussite Test réussi : aucun échec n'a été rencontré.
  • Échec Échec du test : au moins un échec a été rencontré.
  • Non concluant Test réussi : les résultats du test n'étaient pas concluants, peut-être en raison d'une erreur Test Lab.
  • Ignorée Test réussi : les valeurs de dimension sélectionnées pour certaines exécutions de test de la matrice n'étaient pas compatibles. Cela se produit lorsque les appareils que vous avez sélectionnés ne sont pas compatibles 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 de toutes les matrices de test d'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

Vous accédez alors à la liste des matrices de test de votre application. Vous pouvez cliquer sur le nom d'une matrice de test pour afficher ses résultats, ou sur le nom de l'application (indiqué dans l'encadré rouge ci-dessous) pour afficher la liste des matrices de test des 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 affichée comme ayant échoué ou non concluante si l'une des exécutions de test de cette matrice échoue ou n'est pas concluante.

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 l'exploration de votre UI par Robo, 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, semblables à la fonctionnalité "Afficher les éléments sélectionnés" d'Android. Vous pouvez utiliser les indications pour suivre la progression de Robo et reproduire les bugs qu'il pourrait découvrir.

Exemple de vidéo des résultats d'un test Robo

Résultats du test Robo

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

Sur la page des résultats de la matrice de test, cliquez sur l'une des exécutions de test pour afficher 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 du test

Sur cette page, vous pouvez voir le temps requis pour chaque exécution de test. Vous pouvez également consulter les résultats de scénarios de test spécifiques correspondant 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 détaillés du test incluent également une carte d'activité qui affiche graphiquement les chemins d'UI visités par le test Robo.

Résultats des tests d'instrumentation partitionnés

Pour vous aider à interpréter les résultats des tests d'instrumentation, Test Lab sépare chaque test dans sa propre page de rapport détaillé, avec des traces de la pile, des journaux et des vidéos. Cette fonctionnalité est disponible 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 Robo utilisent Accessibility Scanner pour Android 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 savoir comment examiner et 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 l'amélioration de l'accessibilité de votre application, consultez la documentation Android sur l'accessibilité destinée aux développeurs.

Métriques de performances

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

MétriqueConfiguration requise de l'appareil
Délai de démarrage de l'applicationAPI 19 ou version ultérieure
Utilisation du processeurAPI 21 ou version ultérieure
Utilisation de mémoire
Activité réseau
Images par secondeAPI 21 ou version ultérieure, et inclut un SurfaceView

Résultats de test 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 détaillés du test dans le bucket Cloud Storage en cliquant sur Résultats du test sur la page des résultats d'exécution du test. Lorsque les résultats détaillés des tests ne sont plus disponibles, vous pouvez toujours voir quels tests ont réussi ou échoué.

Si vous souhaitez conserver les résultats de test détaillés pendant plus de 90 jours, vous pouvez les envoyer à un bucket Cloud Storage qui vous appartient à 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 de stockage des résultats dans votre bucket Cloud Storage. Pour savoir comment modifier le paramètre Âge, consultez Conditions de cycle de vie.

Si vous recevez l'erreur does not have storage.objects.create access to the Google Cloud Storage object. Permission 'storage.objects.create' denied on resource (or it may not exist).. lors de l'exécution d'un test, il est possible que le compte principal qui exécute le test ne dispose pas de l'autorisation appropriée sur le projet. Par défaut, Firebase crée un bucket pour vous dans Google Cloud Storage. Toutefois, le compte principal qui exécute le test doit disposer du rôle "roles/editor", qui est un rôle permissif. Si vous ne pouvez pas attribuer ce rôle au compte principal, vous pouvez utiliser l'option de ligne de commande gcloud --results-bucket.