Commencez à tester pour Android avec Firebase Test Lab

Firebase Test Lab vous permet de tester votre application sur une gamme d'appareils et de configurations. Ce guide de démarrage fournit un chemin de mise en œuvre à suivre, ainsi qu'une introduction aux offres Android de Test Lab.

Pour plus d'informations sur les quotas et les plans tarifaires de Test Lab, consultez Utilisation, quotas et tarification .

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

Appareils × Exécutions de tests = Matrice de test

Appareil
Un appareil physique ou virtuel (Android uniquement) sur lequel vous exécutez un test, tel qu'un téléphone, une tablette ou un appareil portable. Les appareils dans une matrice de test sont identifiés par le modèle de l'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).
Test, exécution de tests
Un test (ou un ensemble de cas de test) à exécuter sur un appareil. Vous pouvez exécuter un test par appareil, ou éventuellement partitionner le test et exécuter ses scénarios de test sur différents appareils.
Matrice de tests
Contient les statuts et les résultats des tests pour vos exécutions de tests. Si l’exécution d’un test dans une matrice échoue, la matrice entière échoue.

Étape 1 : Préparez votre test pour le téléchargement vers 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 interceptée entraînera un échec du test.

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

  • Test robot : un 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. Consultez À propos des tests Robo pour plus d’informations.

  • Test Game Loop : Un test qui utilise un « mode démo » pour simuler les actions des joueurs dans les applications de jeux. 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 Game Loop, vous pouvez :

    • Écrivez des tests natifs sur votre moteur de jeu

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

    • Créez éventuellement plusieurs boucles à exécuter en 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.

    Voir Exécuter un test Game Loop pour obtenir des instructions sur l’exécution de 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 de télécharger une application et de lancer des tests à partir de votre navigateur Web. Consultez Test avec la console Firebase pour obtenir des instructions sur l'exécution de 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 Test avec Android Studio pour obtenir des instructions sur l’exécution de tests à l’aide de cet outil.

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

Vous pouvez également tester votre application gratuitement avec Test Lab lorsque vous téléchargez et publiez les fichiers APK de votre application sur le Play Store en utilisant le canal alpha ou bêta. Pour plus d'informations, consultez Utiliser les rapports préalables au lancement pour identifier les problèmes et les tests Robo .

Étape 2 : Choisissez votre appareil de test

Test Lab prend en charge 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 les problèmes qui pourraient ne pas se produire lors du test de votre application à l'aide d'émulateurs dans Android Studio. Pour en savoir plus, consultez Appareils disponibles.

Étape 3 : Examiner les résultats des tests

Quelle que soit la manière dont vous lancez vos tests, tous vos résultats de tests 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, notamment des vidéos spécifiques à un cas de test, des captures d'écran, le nombre de tests qui ont réussi, échoué ou obtenu des résultats irréguliers, et bien plus encore.

Les résultats bruts des tests contiennent des journaux de test et des détails sur les échecs des applications, et sont automatiquement stockés dans un bucket Google Cloud. Si vous spécifiez un bucket, vous êtes responsable du coût du stockage. Si vous ne spécifiez pas de bucket, Test Lab en crée un gratuitement pour vous.

Pour plus de détails, consultez Analyser les résultats du laboratoire de test Firebase.

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

Nettoyage de l'appareil

Google prend très au sérieux la sécurité des données de vos applications. Nous suivons les meilleures pratiques standard 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 garantir 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 encore plus loin en flashant ces appareils entre les tests.

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


Services de laboratoire de tests et Google Play

Les appareils Test Lab fonctionnent généralement sur la dernière version du SDK des services Google Play, mais la mise à jour de certains peut nécessiter quelques jours 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 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 à travers votre pare-feu.

Publicité mobile

Test Lab fournit une infrastructure évolutive qui automatise les tests d'applications et, malheureusement, cette fonctionnalité peut être utilisée à mauvais escient par des applications malveillantes conçues pour générer des revenus publicitaires frauduleux.

Pour atténuer ce problème :

  • Si vous utilisez ou travaillez avec des fournisseurs de publicité numérique tiers (par exemple, des réseaux publicitaires ou des plateformes côté demande), il est recommandé d'utiliser des annonces de test plutôt que de véritables annonces lors du développement et des tests de l'application.

  • Si vous devez utiliser de vraies publicités dans votre test, informez les fournisseurs de publicité numérique avec lesquels vous travaillez pour filtrer les revenus et tout le trafic correspondant généré par Test Lab en utilisant les blocs d'adresses IP ci-dessous . Vous n'avez pas besoin d'informer les fournisseurs d'annonces appartenant à Google ; 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 gcloud CLI. La liste est mise à jour en moyenne une fois par an.

Type de plate-forme et d'appareil Blocage d'adresse IP CIDR
Appareils physiques Android et iOS, appareils virtuels Arm

70.32.128.0/19 (ajouté 02-2022)

108.177.6.0/23

108.177.18.192/26 (ajouté 02-2022)

108.177.29.64/27 (élargi 02-2022)

108.177.31.160/27 (ajouté le 02-2022)

199.36.156.8/29 (ajouté 02-2022)

199.36.156.16/28 (ajouté 02-2022)

209.85.131.0/27 (ajouté 02-2022)

2001:4860:1008::/48 (ajouté le 02-2022)

2001:4860:1018::/48 (ajouté le 02-2022)

2001:4860:1019::/48 (ajouté le 02-2022)

2001:4860:1020::/48 (ajouté le 02-2022)

2001:4860:1022::/48 (ajouté le 02-2022)

Appareils virtuels Android (non Arm)

34.68.194.64/29 (ajouté 11-2019)

34.69.234.64/29 (ajouté 11-2019)

34.73.34.72/29 (ajouté 11-2019)

34.73.178.72/29 (ajouté 11-2019)

34.74.10.72/29 (ajouté 02-2022)

34.136.2.136/29 (ajouté 02-2022)

34.136.50.136/29 (ajouté 02-2022)

34.145.234.144/29 (ajouté 02-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é 7-2019)

35.245.243.240/29 (ajouté 02-2022)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

Les blocs IP des appareils ne sont plus utilisés

74.125.122.32/29 (supprimé le 02-2022)

216.239.44.24/29 (supprimé le 02-2022)