Google s'est engagé à promouvoir l'équité raciale pour les communautés noires. Regarde comment.
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 une présentation.

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 codage de test 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.

À ce titre, 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 comme des tests d'instrumentation , tandis que le type 3 est généralement écrit comme des tests natifs en utilisant le 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)

Android Compatibility Test Suite est une suite de différents types de tests, utilisée pour garantir 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 plate-forme 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é à détecter des régressions pendant le cycle de développement de la plate-forme, et peut nécessiter une autorisation privilégiée pour être exécuté, et peut dépendre des détails de mise en œuvre (tels que publiés dans AOSP), il ne doit s'agir que de tests de plate-forme

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