Firebase Test Lab vous permet de tester la qualité de votre application sur différents appareils et différentes configurations. Ce guide présente les concepts clés de Test Lab, les offres iOS et des instructions pour commencer les tests.
Pour en savoir plus sur les quotas et les forfaits Test Lab, consultez la section Consommation, quotas et tarifs.
Concepts et termes 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 de manière groupée, 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 fractionner 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
Vous pouvez exécuter les tests suivants avec Test Lab. Notez que tous les types de test peuvent s'exécuter jusqu'à 45 minutes sur les appareils physiques et que toute exception non détectée entraînera un échec du test.
XCTest (y compris XCUITests): test unitaire que vous avez écrit à l'aide du framework XCTest. Consultez Créer un XCTest pour savoir comment modifier un XCTest afin de l'exécuter avec Test Lab.
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:
Écrivez des tests natifs pour 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 une seule exécution de test. Vous pouvez également organiser les boucles à l'aide de libellés pour pouvoir les suivre et les réexécuter.
Consultez Exécuter un test de boucle de jeu pour savoir comment exécuter votre test dans Test Lab.
Étape 2: Choisissez un outil pour exécuter votre test
Vous pouvez choisir les outils suivants pour exécuter votre test:
La console Firebase vous permet d'importer une application et de lancer des tests depuis n'importe où. Pour savoir comment utiliser cet outil, consultez la section Tester avec la console Firebase.
La CLI (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 adaptée à la création de scripts dans le cadre de votre processus de compilation et de test automatisés. Pour savoir comment utiliser cet outil, consultez Tester avec la CLI gcloud.
Avant de tester sur des appareils réels, exécutez votre test localement sur un simulateur pour vous assurer qu'il se comporte comme prévu. Pour obtenir des instructions, consultez la section Tester en local.
Étape 3: Spécifiez les appareils de test
Avec Test Lab, vous pouvez exécuter votre test sur votre application sur une large gamme d'appareils et de modèles iOS hébergés dans un centre de données Google. Pour en savoir plus, consultez la section Appareils disponibles.
Étape 4: Examiner les résultats des tests
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 spécifiques au scénario de test, des captures d'écran, le nombre de tests ayant réussi, échoué ou dont les résultats sont irréguliers, etc.
Les résultats bruts des tests 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 Analyser les résultats de Firebase Test Lab.
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.
Autoriser les appareils Test Lab à 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 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 des 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 pendant le développement et les tests de l'application.
Si vous devez utiliser des annonces réelles dans votre test, informez-en les fournisseurs de publicité numérique avec lesquels vous travaillez afin de filtrer les revenus et tout le trafic correspondant généré à partir de Test Lab à l'aide des blocs d'adresses IP ci-dessous. Vous n'avez pas besoin d'en 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.
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é le 02-2022) 209.85.131.0/27 (ajouté le 02-2022) 2001:4860:1008::/48 (ajouté le 02-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é le 11-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ée le 02-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é le 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é 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 non utilisés |
74.125.122.32/29 (supprimé en février 2022) 216.239.44.24/29 (supprimé en février 2022) |