Commencer à tester Android avec Firebase Test Lab

Firebase Test Lab vous permet de tester votre application sur différents appareils et configurations. Ce guide de démarrage vous fournit un chemin d'implémentation à suivre, ainsi qu'une présentation des offres Android de Test Lab.

Pour en savoir plus sur les quotas et les forfaits Test Lab, consultez la section Consommation, quotas et tarifs.

Concepts clés

Lorsque vous exécutez un test ou un ensemble de cas de test sur les appareils et les configurations que vous avez sélectionnés, Test Lab exécute le test sur votre application en lot, puis affiche les résultats sous forme de 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, tel qu'un téléphone, une tablette ou un accessoire connecté. Les appareils d'une matrice de test sont identifiés par le modèle, 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 éventuellement diviser le test et exécuter ses scénarios de test sur différents appareils.
Matrice de test
Contient les états et les résultats des exécutions de test. Si l'exécution d'un test dans une matrice échoue, l'ensemble de la matrice échoue.

Étape 1: Préparez votre test pour l'importer dans Test Lab

Types de tests disponibles

Vous pouvez exécuter les tests suivants avec Test Lab. Notez que tous les types de tests sont limités à 45 minutes sur les appareils physiques et à 60 minutes sur les appareils virtuels. Toute exception non détectée entraîne l'échec du test.

  • Test d'instrumentation ou test unitaire d'instrumentation : test que vous avez écrit à l'aide des frameworks Espresso ou UI Automator. Avec ce test, vous pouvez effectuer des assertions explicites sur l'état de votre application pour vérifier le bon fonctionnement à l'aide des API AndroidJUnitRunner.

  • Test Robo: test automatisé qui analyse l'interface utilisateur de votre application, puis l'explore méthodiquement en simulant les activités des utilisateurs, sans que vous ayez à écrire de code. Pour en savoir plus, consultez la section À propos des tests Robo.

  • Test de boucle de jeu: test qui utilise un "mode démo" pour simuler les actions des joueurs dans les applications de jeu. Il s'agit d'un moyen rapide et évolutif de vérifier que votre jeu fonctionne bien pour les utilisateurs. Lorsque vous choisissez d'exécuter un test de boucle de jeu, vous pouvez:

    • Écrire des tests natifs pour votre moteur de jeu

    • Évitez d'écrire le même code pour différentes interfaces utilisateur ou frameworks de test.

    • Vous pouvez également créer plusieurs boucles à exécuter dans une seule exécution de test (pour en savoir plus, consultez la section À propos des tests de boucle de jeu). Vous pouvez également organiser les boucles à l'aide de libellés pour les suivre et les réexécuter.

    Pour savoir comment exécuter ce test avec Test Lab, consultez Exécuter un test de boucle de jeu.

Outils pour exécuter votre test

Vous pouvez exécuter votre test avec les outils suivants:

Vous pouvez également tester votre application sans frais avec Test Lab lorsque vous importez et publiez les fichiers APK de votre application sur le Play Store à l'aide du canal alpha ou bêta. Pour en savoir plus, consultez Utiliser les rapports pré-lancement pour identifier les problèmes et Tests Robo.

Étape 2: Choisissez votre appareil de test

Test Lab est compatible avec les tests sur plusieurs marques et modèles d'appareils Android installés et exécutés dans un centre de données Google. Les tests sur les appareils dans Test Lab vous aident à détecter des problèmes qui pourraient ne pas survenir lors du test de votre application à l'aide d'émulateurs dans Android Studio. Pour en savoir plus, consultez la section Appareils disponibles.

Étape 3: Examiner les résultats du test

Quelle que soit la manière dont vous lancez vos tests, tous leurs résultats sont gérés par Test Lab et peuvent être consultés en ligne.

Le résumé des résultats du test est stocké automatiquement et peut être consulté dans la console Firebase. Il contient les données les plus pertinentes pour votre test, y compris des vidéos et des captures d'écran spécifiques au cas de test, le nombre de tests réussis, échoués ou ayant donné des résultats incohérents, et plus encore.

Les résultats de test bruts contiennent des journaux de test et des informations sur les échecs de l'application. Ils sont automatiquement stockés dans un bucket Google Cloud. Si vous spécifiez un bucket, les coûts de stockage sont à votre charge. Si vous ne spécifiez pas de bucket, Test Lab en crée un pour vous sans frais.

Pour en savoir plus, consultez la section Analyser les résultats Firebase Test Lab.

Lorsque vous lancez un test depuis Android Studio, vous pouvez également consulter les résultats du test depuis votre environnement de développement.

Nettoyage de l'appareil

Google prend la sécurité des données de votre application très au sérieux. Nous suivons les bonnes pratiques du secteur pour supprimer les données de l'application et réinitialiser les paramètres système des appareils physiques après chaque exécution de test afin de nous assurer qu'ils sont prêts à exécuter de nouveaux tests. Pour les appareils que nous pouvons flasher avec une image de récupération personnalisée, nous allons plus loin en flashant ces appareils entre les exécutions de test.

Pour les appareils virtuels utilisés par Test Lab, les instances d'appareils sont supprimées après leur utilisation afin que chaque exécution de test utilise une nouvelle instance d'appareil virtuel.


Test Lab et services Google Play

Les appareils Test Lab s'exécutent généralement sur la dernière version du SDK des services Google Play, mais certains peuvent nécessiter quelques jours pour être mis à jour après la publication d'une nouvelle version du SDK. Notez que vous pouvez rencontrer des problèmes de compatibilité avec certains appareils.

Autoriser les appareils de test à accéder aux serveurs backend privés

Certaines applications mobiles doivent communiquer avec des services backend privés pour fonctionner correctement lors des tests. Si vos serveurs backend sont protégés par des règles de pare-feu, vous pouvez autoriser l'accès des appareils physiques et virtuels de Test Lab à l'aide des blocs d'adresses IP ci-dessous pour ouvrir des routes via votre pare-feu.

Publicité mobile

Test Lab fournit une infrastructure évolutive qui automatise les tests d'applications. Malheureusement, cette fonctionnalité peut être utilisée de manière abusive par des applications malveillantes conçues pour générer des revenus publicitaires frauduleux.

Pour résoudre ce problème, procédez comme suit :

  • Si vous utilisez ou collaborez avec des fournisseurs de publicité numérique tiers (par exemple, des réseaux publicitaires ou des plates-formes côté demande), nous vous recommandons d'utiliser des annonces de test plutôt que des annonces réelles lors du développement et des tests de l'application.

  • Si vous devez utiliser des annonces réelles dans votre test, informez les fournisseurs de publicité numérique avec lesquels vous collaborez pour qu'ils filtrent les revenus et tout trafic correspondant généré à partir de Test Lab à l'aide des blocs d'adresses IP ci-dessous. Vous n'avez pas besoin d'informer les fournisseurs d'annonces appartenant à Google. Test Lab s'en charge.

Adresses IP utilisées par les appareils Test Lab

Tout le trafic réseau généré par les appareils Test Lab provient des blocs d'adresses IP suivants. Vous pouvez également accéder à cette liste à l'aide de la commande gcloud beta firebase test ip-blocks list dans la gcloud CLI. La liste est mise à jour en moyenne une fois par an.

Plate-forme et type d'appareil Bloc d'adresses IP CIDR
Appareils physiques Android et iOS, appareils virtuels ARM

70.32.128.0/19 (ajouté en février 2022)

108.177.6.0/23

108.177.18.192/26 (ajouté en février 2022)

108.177.29.64/27 (extension en février 2022)

108.177.31.160/27 (ajouté en février 2022)

199.36.156.8/29 (ajouté en février 2022)

199.36.156.16/28 (ajouté en février 2022)

209.85.131.0/27 (ajouté en février 2022)

2001:4860:1008::/48 (ajouté en février 2022)

2001:4860:1018::/48 (ajouté en février 2022)

2001:4860:1019::/48 (ajouté en février 2022)

2001:4860:1020::/48 (ajouté en février 2022)

2001:4860:1022::/48 (ajouté en février 2022)

70.32.128.48/28 (ajouté en avril 2024)

Appareils virtuels Android (non-ARM)

34.68.194.64/29 (ajouté en novembre 2019)

34.69.234.64/29 (ajouté en novembre 2019)

34.73.34.72/29 (ajouté en novembre 2019)

34.73.178.72/29 (ajouté en novembre 2019)

34.74.10.72/29 (ajouté en février 2022)

34.136.2.136/29 (ajouté en février 2022)

34.136.50.136/29 (ajouté en février 2022)

34.145.234.144/29 (ajouté en février 2022)

35.192.160.56/29

35.196.166.80/29

35.196.169.240/29

35.203.128.0/28

35.234.176.160/28

35.243.2.0/27 (ajouté en juillet 2019)

35.245.243.240/29 (ajouté en février 2022)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

Blocages d'adresses IP d'appareils qui ne sont plus utilisés

74.125.122.32/29 (supprimé en février 2022)

216.239.44.24/29 (supprimé en février 2022)