Tests de la plate-forme Android

Le projet Android Open Source (AOSP) fournit plusieurs outils et suites de tests pour tester différentes parties de votre implémentation. Avant d'utiliser les pages de ce , vous devez connaître les termes suivants:

Appareil compatible avec Android
Un appareil capable d'exécuter n'importe quelle application tierce développée par des développeurs tiers. à l'aide du SDK et du NDK Android. Les appareils compatibles avec Android doivent respecter le les exigences du document de définition de compatibilité (CDD) et transmettez la Compatibility Test Suite (CTS) Les appareils compatibles avec Android peuvent participer à l'écosystème Android, ce qui inclut la licence potentielle de Google Play, la licence potentielle de la suite d'applications et d'API Google Mobile Services (GMS), et l'utilisation de la marque Android. Tout le monde peut utiliser le code source Android, mais pour être considéré comme faisant partie de l'écosystème Android, un appareil doit être compatible avec Android.
artefact
Journal lié à la compilation qui permet le dépannage local.
Document de définition de la compatibilité (CDD)
Document qui énumère la configuration logicielle et matérielle requise pour une appareil compatible avec Android.
La suite de tests de compatibilité

Suite de test gratuite de qualité professionnelle, disponible en téléchargement au format binaire ou source dans AOSP. La CTS est un ensemble de tests unitaires conçus pour être intégrés votre flux de travail quotidien. L'objectif de CTS est de révéler les incompatibilités, et de s'assurer que le logiciel reste compatible tout au long du processus de développement.

Les tests CTS et de plate-forme ne s'excluent pas mutuellement. Voici quelques consignes générales :

  • Si un test vérifie l'exactitude des fonctions ou des comportements de l'API Framework, Le test doit être appliqué à tous les partenaires OEM, mais dans CTS.
  • Si un test vise à détecter des régressions lors du développement de la plate-forme, et qu'il peut nécessiter une autorisation privilégiée pour être effectué, et qu'il peut dépendre des détails d'implémentation (tels que publiés dans AOSP), il doit s'agir d'un test de plate-forme.
Services Google Mobile (GMS)

Ensemble d'applications et d'API Google qui peuvent être préinstallées sur les appareils.

GoogleTest (GTest)

Framework de tests et de simulation C++ Les binaires GTest accèdent généralement à des couches d'abstraction de niveau inférieur ou effectuent une communication IPC brute avec divers services système. L'approche de test pour GTest est généralement étroitement liée au service testé. CTS contient le framework GTest.

test d'instrumentation

Environnement d'exécution de test spécial lancé par la commande am instrument, dans lequel le processus d'application ciblé est redémarré et initialisé avec un contexte d'application de base, et un thread d'instrumentation est lancé dans la machine virtuelle du processus d'application. CTS contient des tests d'instrumentation.

Logcat

Outil de ligne de commande qui crée un journal des messages système, y compris les traces de la pile enregistrées lorsque l'appareil génère une erreur et les messages que vous avez écrits à partir de votre application avec la classe Log.

journalisation

L'utilisation d'un journal pour garder une trace des événements du système informatique, tels que en tant qu'erreurs. La journalisation dans Android est complexe en raison du mélange de normes utilisées qui sont combinées dans l'outil Logcat.

test postsubmit

Un test Android qui est effectué lorsqu'un nouveau correctif est validé dans un branche de noyau commune. En saisissant aosp_kernel comme nom de branche partiel, vous peut voir la liste des branches du noyau avec les résultats disponibles. Par exemple, les résultats de android-mainline sont disponibles à l'adresse https://ci.android.com/builds/branches/aosp_kernel-common-android-mainline/grid

test avant envoi

Test utilisé pour empêcher l'introduction de défaillances dans le noyaux courants.

Fédération commerciale

Également appelé Tradefed, un test continu conçu pour exécuter des tests sur des appareils Android. Par exemple : Tradefed est utilisé pour exécuter les tests de la suite de tests de compatibilité et de la suite de test fournisseur.

Suite de test de fournisseur (VTS)

Ensemble de fonctionnalités étendues pour les tests Android, la promotion d'un processus de développement basé sur les tests et l'automatisation des tests de la couche d'abstraction matérielle (HAL) et du noyau de l'OS.

Types de tests de plate-forme

Un test de plate-forme interagit généralement avec un ou plusieurs des services système Android ou des couches HAL, exécute les fonctionnalités de l'objet testé et vérifie la validité du résultat du test. Un test de plate-forme peut:

  • (Type 1) Exercice sur les API du framework à l'aide du framework Android. Les API spécifiques utilisées peuvent inclure les suivantes :
    • API publiques destinées aux applications tierces
    • Les API cachées destinées aux applications privilégiées, à savoir les API système ou API privées (@hide, ou protected, package private)
  • (Type 2) Appeler des services système Android à l'aide d'une liaison brute ou de proxys IPC directement.
  • (Type 3) Interagir directement avec les HAL à l'aide d'API de bas niveau ou d'interfaces IPC.

Les tests de type 1 et 2 sont généralement des tests d'instrumentation, tandis que les tests de type 3 sont généralement des GTests.

Et maintenant ?

Voici une liste de documents que vous pouvez consulter pour en savoir plus :