Commencer les tests avec des appareils virtuels Android

Ce document décrit les AVD pour Test Lab, y compris les avantages et les limites connues. Nous vous fournissons également des recommandations sur la façon de tester votre application tout au long du cycle de vie du développement. Test Lab Les AVD sont semblables aux AVD pour Android Studio, mais ils sont optimisés pour les performances avec les tests dans le cloud. Il existe donc quelques différences entre les deux.

Les AVD Test Lab avec un suffixe .arm ou (Arm) sont des émulateurs avancés qui offrent les avantages suivants :

  • Temps d'exécution des tests plus rapide

  • Tailles et densités d'écran alignées sur les AVD d'Android Studio pour plus de cohérence

  • Accélération graphique compatible avec les GPU

Le tableau suivant décrit les avantages de l'utilisation d'appareils virtuels :

Avantage Description Cas d'utilisation
Haute disponibilité Vous pouvez exécuter des tests et obtenir des résultats plus rapidement lorsque vous effectuez des tests avec des appareils virtuels. Comme les appareils virtuels sont créés à la demande, vos tests démarrent presque immédiatement, ce qui permet de valider rapidement votre application. Tester de petites mises à jour de votre application ou effectuer des tests de régression.
Durées de test plus longues Les appareils virtuels acceptent une durée de test maximale de 60 minutes. Les tests sur les appareils physiques sont limités à une durée de test de 45 minutes sur chaque appareil. Exécuter des tests plus longs
Réduction des coûts Les appareils virtuels sont facturés 1 $par heure pour chaque appareil virtuel utilisé pour tester votre application. Tests quotidiens à l'aide de systèmes d'intégration continue ou avant l'archivage du code. Pour en savoir plus, consultez Niveaux d'utilisation, quotas et tarifs de Test Lab.

Tester votre application avec des appareils virtuels

Vous pouvez tester votre application avec des appareils virtuels de la même manière qu'avec des appareils physiques. Vous pouvez sélectionner des appareils virtuels pour vos tests lorsque vous configurez une matrice de test. Pour en savoir plus sur l'exécution de tests avec Test Lab, consultez Commencer à tester pour Android avec Firebase Test Lab.

Afficher les modèles et les API compatibles

Pour afficher les modèles et les API AVD compatibles avec Test Lab, exécutez la commande suivante :

gcloud firebase test android models list --filter=virtual

Bonnes pratiques pour tester votre application

Les appareils virtuels augmentent votre éventail d'options lorsque vous testez votre application avec Test Lab. Nous vous recommandons de suivre les bonnes pratiques suivantes pour tester votre application tout au long de son cycle de développement :

Utiliser l'émulateur Android Studio ou un appareil physique connecté

Lorsque vous développez votre application, utilisez l'émulateur Android Studio ou un appareil physique connecté pour examiner chaque build lors de la validation initiale. Si vous avez des tests d'instrumentation, vous pouvez également les exécuter depuis Android Studio sur des appareils physiques ou virtuels fournis par Test Lab.

Utiliser des systèmes d'intégration continue pour chaque modification de code lorsque vous travaillez sur des projets partagés

Si vous travaillez sur un projet de grande envergure ou si vous contribuez à des projets partagés à l'aide de GitHub ou d'un site similaire, nous vous recommandons d'utiliser des systèmes d'intégration continue (CI). Testez vos applications sur des appareils virtuels chaque fois que le système CI s'exécute ou avant chaque requête d'extraction. Pour en savoir plus sur l'utilisation de Test Lab avec les systèmes d'intégration continue, consultez Utiliser Test Lab pour Android avec les systèmes d'intégration continue.

Testez votre application sur des appareils physiques avec Test Lab avant de publier des mises à jour importantes.

Avant de publier des mises à jour d'applications comportant des modifications importantes de l'UI et des fonctionnalités, nous vous recommandons d'utiliser Test Lab pour tester votre application sur des appareils physiques. Cela vous aidera à vous assurer que votre application est stable et performante sur un large éventail d'appareils physiques populaires. Les tests sur des appareils physiques garantissent également la couverture des tests pour toute fonctionnalité d'application qui repose sur des fonctionnalités d'appareils physiques non simulées par les appareils virtuels. Pour en savoir plus sur ces fonctionnalités, consultez Limites connues.

Mises à jour des appareils virtuels

L'équipe Android ajoute régulièrement de nouvelles images d'appareils virtuels, en abandonne d'anciennes et met à jour celles qui existent déjà. Nous appliquons ces mises à jour à nos images d'appareils virtuels pour nous assurer que vous effectuez des tests sur des versions d'Android à jour qui reflètent l'expérience de vos utilisateurs.

Dans de rares cas, ces mises à jour peuvent entraîner des échecs de tests inattendus. En cas de mise à jour potentiellement incompatible connue, Test Lab inclura des informations dans les notes de version. De manière générale, nous vous recommandons d'utiliser des frameworks de test (par exemple, Espresso) qui sont robustes à ces changements dans la mesure du possible. Lorsque cela n'est pas possible, nous vous recommandons de cibler les appareils virtuels Arm, qui devraient être mis à jour moins fréquemment.

Limitations connues

Certaines fonctionnalités des appareils physiques ne sont actuellement pas simulées par les appareils virtuels, ou le sont avec certaines limites. Le tableau suivant récapitule les fonctionnalités qui ne sont actuellement pas disponibles sur les appareils virtuels ou qui sont disponibles avec certaines limites :

Fonctionnalité Détails
Interfaces binaires d'application (ABI) Tous les appareils ne sont pas compatibles avec tous les ABI. Si vous développez avec le NDK Android, veillez à générer du code pour les ABI compatibles avec les appareils que vous ciblez (voir Appareils disponibles dans Test Lab). Pour en savoir plus sur la gestion des ABI, consultez ABI Android.

Remarque : Si un test de votre matrice de test est marqué comme "Non valide", cela peut être dû au fait que votre application dépend d'un code natif non compatible avec l'ABI de l'appareil.

Performances graphiques Les appareils virtuels Nexus et Pixel utilisent le rendu graphique logiciel. Les performances des applications gourmandes en ressources graphiques peuvent être réduites. Si votre application est gourmande en ressources graphiques, envisagez d'utiliser SmallPhone.arm, MediumPhone.arm ou des appareils physiques à la place.
API graphiques OpenGL ES 3.x n'est pas compatible avec les appareils dont le niveau d'API est inférieur à 29. Les appareils plus récents ne sont pas entièrement compatibles avec les API OpenGL/Vulkan. Vous remarquerez peut-être de petites différences dans les graphismes.
Application Google Play Store L'application Google Play Store n'est pas compatible avec les appareils virtuels Arm.
Fonctionnalité de réalité augmentée (RA) Le test de la fonctionnalité de réalité augmentée (RA) n'est pas pris en charge sur les appareils virtuels.
Anciens niveaux d'API Les appareils virtuels Arm Test Lab ne sont pas compatibles avec les niveaux d'API inférieurs à 26.

Étapes suivantes