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 fournit un parcours 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 Utilisation, quotas et tarifs.

Concepts clés

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.

É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 à une durée d'exécution de 45 minutes sur les appareils physiques et de 60 minutes sur les appareils virtuels. Toute exception non détectée entraînera 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. Ce test vous permet d'effectuer des assertions explicites sur l'état de votre application afin de vérifier son bon fonctionnement à l'aide des API AndroidJUnitRunner.

  • Test Robo : test automatisé qui analyse l'UI 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 À 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. C'est 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 (consultez À propos des tests de boucle de jeu pour en savoir plus). Vous pouvez également organiser les boucles à l'aide d'étiquettes afin de pouvoir les suivre et réexécuter des boucles spécifiques.

    Consultez Exécuter un test de boucle de jeu pour savoir comment exécuter ce test avec Test Lab.

Outils pour exécuter votre test

Vous pouvez choisir les outils suivants pour exécuter votre test :

  • Recommandé pour les nouveaux utilisateurs : la console Firebase vous permet d'importer une application et de lancer des tests depuis votre navigateur Web. Consultez Tester avec la console Firebase pour savoir comment exécuter des tests à l'aide de cet outil.

  • L'intégration d'Android Studio vous permet de tester votre application sans quitter votre environnement de développement. Consultez Tester avec Android Studio pour savoir comment exécuter des tests à l'aide de cet outil.

  • L'interface de ligne de commande gcloud vous permet d'exécuter des tests de manière interactive à partir de la ligne de commande. Elle est également bien adaptée à la création de scripts dans le cadre de votre processus de compilation et de test automatisé. Consultez Tester avec la gcloud CLI pour savoir comment exécuter des tests à l'aide de cet outil.

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 de la version alpha ou bêta. Pour en savoir plus, consultez Utiliser un rapport pré-lancement pour identifier les problèmes et Tests Robo.

Étape 2 : Choisissez votre appareil de test

Test Lab permet d'effectuer des 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 des appareils dans Test Lab vous aident à détecter les problèmes qui ne se produisent pas lorsque vous testez votre application à l'aide d'émulateurs dans Android Studio. Pour en savoir plus, consultez Appareils disponibles.

Étape 3 : Examiner les résultats du test

Quelle que soit la manière dont vous lancez vos tests, tous les 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 automatiquement stocké 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 scénario de test, le nombre de tests réussis, échoués ou instables, et plus encore.

Les résultats de test bruts contiennent les journaux de test et les détails des é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 Analyser les résultats de Firebase Test Lab.

Lorsque vous lancez un test depuis Android Studio, vous pouvez également consulter les résultats du test dans 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 des applications 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 sur lesquels nous pouvons flasher une image de restauration personnalisée, nous allons encore plus loin en flashant ces appareils entre les exécutions de tests.

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


Test Lab et services Google Play

Les appareils Test Lab exécutent généralement la dernière version du SDK des services Google Play, mais certains peuvent nécessiter quelques jours pour se mettre à jour après la sortie 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 de backend privés pour fonctionner correctement pendant les tests. Si vos serveurs backend sont protégés par des règles de pare-feu, vous pouvez autoriser l'accès aux appareils physiques et virtuels de Test Lab en utilisant les 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 des fournisseurs de publicité digitale tiers (par exemple, des réseaux publicitaires ou des plates-formes côté demande) ou si vous travaillez avec eux, nous vous recommandons d'utiliser des annonces tests plutôt que des annonces réelles pendant le développement et les tests de l'application.

  • Si vous devez utiliser de vraies annonces dans votre test, informez les fournisseurs de publicité digitale avec lesquels vous travaillez de filtrer les revenus et tout le trafic correspondant généré à partir de Test Lab en utilisant les blocs d'adresses IP ci-dessous. Vous n'avez pas besoin d'en informer les fournisseurs d'annonces appartenant à Google, car Test Lab s'en charge pour vous.

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 CLI gcloud. La liste est mise à jour en moyenne une fois par an.

Type de plate-forme et 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 (étendu 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)

2001:4860:101d::/48 (ajouté en octobre 2025)

2001:4860:101e::/48 (ajouté en octobre 2025)

2001:4860:1031::/48 (ajouté en octobre 2025)

70.32.128.48/28 (ajouté en avril 2024)

70.32.150.192/27 (ajouté en septembre 2025)

108.177.6.0/27 (ajouté en 09-2025)

108.177.24.160/27 (ajouté en septembre 2025)

108.177.29.0/27 (ajouté en septembre 2025)

108.177.25.128/27 (ajouté en mai 2026)

108.177.26.128/26 (ajouté en mai 2026)

108.177.29.192/26 (ajouté en mai 2026)

172.217.120.64/26 (ajouté en mai 2026)

172.217.120.128/26 (ajouté en mai 2026)

2001:4860:1037::/48 (ajouté en mai 2026)

2001:4860:1038::/48 (ajouté en mai 2026)

2001:4860:103a::/48 (ajouté en mai 2026)

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

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

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

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