Premiers pas avec Firebase Test Lab pour iOS

Firebase Test Lab vous permet de tester la qualité de votre application sur une gamme d'appareils et de configurations. Ce guide fournit un aperçu des concepts clés de Test Lab, des offres iOS et des instructions sur la façon de démarrer les tests.

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

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 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

Vous pouvez exécuter les tests suivants avec Test Lab. Notez que tous les types de tests peuvent s’exécuter jusqu’à 45 minutes maximum sur des appareils physiques, et toute exception non interceptée entraînera un échec du test.

  • XCTest (y compris XCUITests) : un test unitaire que vous avez écrit à l'aide du framework XCTest . Consultez Créer un XCTest pour obtenir des instructions sur la modification d’un XCTest à exécuter avec Test Lab.

  • 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 pour 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. 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 Game Loop pour obtenir des instructions sur la façon d’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 de télécharger une application et de lancer des tests depuis n'importe où. Consultez Test avec la console Firebase pour obtenir des instructions sur l'utilisation de cet outil.

  • L' interface de ligne de commande (CLI) de 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'utilisation de cet outil.

  • 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. Voir Tester localement pour obtenir des instructions.

Étape 3 : Spécifier 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 Appareils disponibles.

Étape 4 : 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.

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.


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 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)