Google is committed to advancing racial equity for Black communities. See how.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

Test de la plateforme Android

Ce contenu est destiné aux développeurs de plates-formes Android. Avant de comprendre comment les tests sont effectués sur la plate-forme Android, veuillez vous référer à l' architecture de la plate-forme Android pour un aperçu.

Ensuite, plongez dans les technologies précises à votre disposition dans cette section, telles que Vendor Test Suite (VTS) et sa myriade de didacticiels vidéo et codelab .

Notez également les mécanismes de test spécifiques à la sécurité disponibles pour détecter et renforcer vos appareils contre les vulnérabilités.

Pour les tests d'applications, commencez par les principes de base des tests et dirigez le laboratoire de tests Android à l'aide des exemples fournis.

Enfin, notez que les tests de pré-soumission de base sont disponibles via Repo Hooks qui peuvent exécuter des linters, vérifier le formatage et déclencher des tests unitaires avant de continuer, comme le téléchargement d'un commit. Notez que ces hooks sont désactivés par défaut. Voir l'introduction Repo Hooks pour plus de détails.

Quoi et comment tester

Un test de plate-forme interagit généralement avec un ou plusieurs des services système Android, ou couches HAL (Hardware Abstraction Layer), exerce les fonctionnalités du sujet testé et affirme l'exactitude du résultat du test.

En tant que tel, un test de plateforme peut:

  1. Exercer les API du framework via le framework d'application; Les API spécifiques utilisées peuvent inclure:
    • API publiques destinées aux applications tierces
    • API cachées destinées aux applications privilégiées, à savoir les API système
    • API privées (@hide, ou protected, package private)
  2. invoquez directement les services système Android via un liant brut / des proxys IPC
  3. interagissez directement avec les HAL via des API de bas niveau ou des interfaces IPC

Les types 1 et 2 sont généralement écrits en tant que tests d'instrumentation , tandis que les types 3 sont généralement écrits en tant que tests natifs à l'aide du framework gtest .

Pour en savoir plus, consultez nos exemples de bout en bout:

Familiarisez-vous avec ces outils, car ils sont intrinsèques aux tests sous Android.

Suite de tests de compatibilité (CTS)

La suite de tests de compatibilité Android est une suite de différents types de tests, utilisée pour assurer la compatibilité des implémentations de framework Android entre les partenaires OEM et entre les versions de plate-forme. La suite comprend également des tests d'instrumentation et des tests natifs (utilisant également le framework gtest).

Les tests CTS et de plateforme ne sont pas mutuellement exclusifs, et voici quelques directives générales:

  • si un test affirme l'exactitude des fonctions / comportements de l'API du framework, et qu'il doit être appliqué entre les partenaires OEM, il doit être en CTS
  • si un test est destiné à attraper des régressions pendant le cycle de développement de la plateforme, et peut nécessiter une autorisation privilégiée pour être exécuté, et peut dépendre des détails d'implémentation (tels que publiés dans AOSP), il ne doit s'agir que de tests de plateforme

Vendor Test Suite (VTS)

Vendor Test Suite (VTS) automatise les tests du noyau HAL et OS. Pour utiliser VTS pour tester une implémentation de système natif Android, configurez un environnement de test, puis testez un correctif à l'aide d'un plan VTS.

Infrastructure de test de la fédération commerciale

Trade Federation (tradefed ou TF pour faire court) est un cadre de test continu conçu pour exécuter des tests sur les appareils Android. TF peut exécuter des tests fonctionnels localement, à votre bureau, au sein de votre plateforme de paiement. Il y a deux fichiers requis pour exécuter un test dans TF, une source de test java et une configuration XML. Voir RebootTest.java et reboot.xml pour des exemples.

Débogage

La section Débogage résume les outils utiles et les commandes associées pour le débogage, le traçage et le profilage du code de plate-forme Android natif lors du développement de fonctionnalités au niveau de la plate-forme.