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'interface utilisateur Test Lab dans la console Firebase et l'API Testing. Quelle que soit la façon 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 les résultats de ces tests.

Concepts clés

Pour afficher 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 lot, puis affiche les résultats sous forme de matrice de test.

Appareils × Exécutions de tests = Matrice de tests

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

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

Lorsque vous lancez un test via l'interface utilisateur Test Lab, vous êtes redirigé vers une page où vous pouvez consulter votre matrice de test et cliquer sur une exécution de test spécifique pour afficher les résultats. 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. Voici les résultats possibles pour toute exécution de test dans une matrice de test :

  • Réussite Test réussi : aucune erreur n'a été rencontrée.
  • É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, probablement en raison d'une erreur Test Lab.
  • Test réussi ignoré : 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 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 pour 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 la matrice de test avec seulement quatre exécutions de test Résultats de la matrice de test

Vous êtes alors redirigé vers 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. Vous pouvez également cliquer sur le nom de l'application (encadré en 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 être réussie, échouer ou ne pas être concluante. Une matrice de test est indiquée comme ayant échoué ou comme 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 lors de l'exploration, semblables à la fonctionnalité "Afficher les touches" d'Android. Vous pouvez utiliser les indications pour suivre la progression de Robo et reproduire les éventuels bugs qu'il pourrait découvrir.

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

Résultats des tests 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 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 nécessaire à l'exécution de chaque test. Vous pouvez également consulter les résultats de cas de test spécifiques correspondant à des méthodes dans votre APK de test (pour les tests d'instrumentation) ainsi que les résultats détaillés des tests, y compris les journaux de test, les captures d'écran et les vidéos. Pour le test Robo, les résultats détaillés 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 instrumentés, Test Lab sépare chaque test sur 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 scénario de test Résultats des scénarios 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 effectuer 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 et versions ultérieures
Utilisation du processeurAPI 21 et versions ultérieures
Utilisation de la mémoire
Activité réseau
Images par secondeAPI 21 ou version ultérieure, et inclut un SurfaceView

Résultats détaillés des tests

Les résultats détaillés des tests sont disponibles pendant 90 jours après leur exécution. Ils 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 des tests dans le bucket Cloud Storage en cliquant sur Résultats des tests sur la page des résultats de l'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é.

Si vous souhaitez conserver des résultats de test détaillés pendant plus de 90 jours, vous pouvez les envoyer vers un bucket Cloud Storage dont vous êtes propriétaire à 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.

Lorsque vous exécutez un test, 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).., 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 accorder ce rôle au principal, vous pouvez utiliser l'option de ligne de commande gcloud --results-bucket.