Catch up on everthing we announced at this year's Firebase Summit. Learn more

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 commencer les tests.

Pour plus d' informations sur les quotas de test de laboratoire et des plans de prix, voir Utilisation, Quotas et prix .

Concepts et termes clés

Lorsque vous exécutez un test ou un ensemble de cas de test contre les dispositifs et les configurations que vous avez sélectionné, Test Lab exécute le test contre votre application dans un lot, puis affiche les résultats sous forme d' une matrice de test.

Périphériques × exécutions de test = matrice de test

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

Étape 1: Préparer votre test pour le téléchargement de Test Lab

Vous pouvez exécuter les tests suivants avec Test Lab. Notez que tous les types de test peuvent s'exécuter jusqu'à un maximum de 45 minutes sur les périphériques physiques, et toute exception non détectée entraînera un échec du test.

  • XCTest (y compris XCUITests): vous avez un test unitaire écrit en utilisant le cadre XCTest . Visite Créer un XCTest pour obtenir des instructions sur la modification d' un XCTest pour exécuter avec Test Lab.

  • Jeu Test Loop: test A qui utilise une « démonstration en mode » pour les actions des joueurs simulent 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 Game Loop, vous pouvez :

    • Ecrivez des tests natifs de 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 des boucles à l'aide d'étiquettes afin de pouvoir en garder une trace et réexécuter des boucles spécifiques.

    Visite Exécuter un test de boucle jeu pour obtenir des instructions sur la façon d'exécuter votre test dans le test de laboratoire.

É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 lancer l' analyse de partout. Voir Test avec la console Firebase pour obtenir des instructions sur l' utilisation de cet outil.

  • L'interface de ligne de commande gcloud (CLI) permet d'exécuter des tests de la ligne de commande interactive, et est aussi bien adapté pour les scripts dans le cadre de votre processus de construction et de tests automatisés. Voir Test avec la CLI gcloud pour obtenir des instructions sur l' utilisation de cet outil.

  • Avant de tester sur des appareils réels, exécutez votre test en local sur un simulateur pour vous assurer qu'il se comporte comme prévu. Voir un test local pour obtenir des instructions.

Étape 3: Spécifier les dispositifs 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, voir les périphériques disponibles.

Étape 4: Examen des résultats des tests

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

Les résultats des tests bruts contiennent les journaux de test et les détails de l' échec de l' application, et sont automatiquement stockées dans un seau Google Cloud. Si vous spécifiez un compartiment, vous êtes responsable du coût du stockage. Si vous ne spécifiez pas de compartiment, Test Lab en crée un gratuitement pour vous.

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

Nettoyage de l'appareil

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

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 principaux privés

Certaines applications mobiles doivent communiquer avec des services backend privés pour fonctionner correctement pendant les tests. Si vos serveurs back - end sont protégés par des règles de pare - feu, vous pouvez autoriser l' accès pour les périphériques physiques et virtuels de test de laboratoire en utilisant les blocs d'adresses IP ci - dessous pour les routes ouvertes à travers votre pare - feu.

Publicité mobile

Test Lab fournit une infrastructure évolutive qui automatise les tests d'applications, et malheureusement, cette capacité 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 plates-formes côté demande), il est recommandé d'utiliser des publicités de test plutôt que de vraies publicités pendant le développement et les tests de l'application.

  • Si vous devez utiliser les annonces réelles dans votre test, informer les fournisseurs de publicité numériques que vous travaillez pour filtrer les revenus et tout le trafic correspondant généré à partir de test de laboratoire en utilisant les blocs d'adresse 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 de test de laboratoire provient des sources suivantes blocs d'adresses IP . Notez que vous pouvez également accéder à cette liste en utilisant les gcloud beta firebase test ip-blocks list commande dans la CLI gcloud. La liste est mise à jour périodiquement (une fois par an en moyenne).

Plateforme et type d'appareil Bloc d'adresse IP CIDR
Appareils physiques Android et iOS

108.177.6.0/23

70.32.147.112/28 (ajouté 03-2020)

74.125.122.32/29 (ajouté 04-2020)

108.177.29.80/28 (ajouté 04-2020)

216.239.44.24/29 (ajouté 04-2020)

Appareils virtuels Android

34.68.194.64/29 (ajouté le 11-2019)

34.69.234.64/29 (ajouté le 11-2019)

34.73.34.72/29 (ajouté le 11-2019)

34.73.178.72/29 (ajouté le 11-2019)

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)

199.192.115.0/30

199.192.115.8/30

199.192.115.15.16/29