Firebase Test Lab vous permet de tester votre application sur différents appareils et configurations. Ce guide de démarrage vous propose un chemin d'implémentation à suivre et vous présente les 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 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.
É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înera l'échec d'un test.
Test d'instrumentation ou test unitaire instrumenté : 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 pour vérifier que les fonctionnalités sont correctes à l'aide des API AndroidJUnitRunner.
Consultez Exécuter un test d'instrumentation pour savoir comment préparer votre test à l'exécution dans Test Lab.
Pour savoir comment créer un test d'instrumentation, consultez la documentation Android Developers.
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. Il s'agit d'un moyen rapide et évolutif de vérifier que votre jeu fonctionne correctement pour les utilisateurs. Lorsque vous choisissez d'exécuter un test de boucle de jeu, vous pouvez :
Écrire des tests natifs à votre moteur de jeu
Évitez d'écrire le même code pour différentes UI ou frameworks de test.
Vous pouvez également créer plusieurs boucles à exécuter dans un même test (pour en savoir plus, consultez À propos des tests de boucles 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 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. Pour savoir comment exécuter des tests à l'aide de cet outil, consultez Tester avec la console Firebase.
L'intégration d'Android Studio vous permet de tester votre application sans quitter votre environnement de développement. Pour savoir comment exécuter des tests à l'aide de cet outil, consultez Tester avec Android Studio.
L'interface de ligne de commande gcloud vous permet d'exécuter des tests de manière interactive depuis la ligne de commande. Elle est également adaptée à la création de scripts dans le cadre de votre processus de compilation et de test automatisé. Pour savoir comment exécuter des tests à l'aide de cet outil, consultez Tester avec gcloud CLI.
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 permet de tester 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 survenir 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 façon 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écapitulatif des résultats des tests 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 aux scénarios de test, le nombre de tests réussis, échoués ou ayant généré des résultats instables, et plus encore.
Les résultats bruts des tests 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, vous êtes responsable des coûts de stockage. 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 Firebase Test Lab.
Lorsque vous lancez un test depuis Android Studio, vous pouvez également examiner les résultats des tests dans votre environnement de développement.
Nettoyage de l'appareil
Google prend très au sérieux la sécurité des données de votre application. Nous suivons les bonnes pratiques standards du secteur pour supprimer les données des applications et réinitialiser les paramètres système des appareils physiques après chaque série de tests afin de nous assurer qu'ils sont prêts à exécuter de nouveaux tests. Pour les appareils sur lesquels nous pouvons installer une image de récupération personnalisée, nous allons plus loin en installant ces appareils entre les séries de 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.
Test Lab et les 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 avoir besoin de 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 de 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 à mauvais escient 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é numérique tiers ou si vous travaillez avec eux (par exemple, des plates-formes côté demande ou des réseaux publicitaires), nous vous recommandons d'utiliser des annonces tests plutôt que des annonces réelles lors du développement et du test de votre application.
Si vous devez utiliser de vraies annonces dans votre test, informez les fournisseurs de publicité numérique avec lesquels vous travaillez de filtrer les revenus et tout le trafic correspondant générés à partir de 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 la gcloud CLI. 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 (étendue 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ée 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 |
Les blocs d'adresses IP des appareils ne sont plus utilisés |
74.125.122.32/29 (supprimée en février 2022) 216.239.44.24/29 (supprimée en février 2022) |