Infrastructure et suite de tests des fournisseurs

La suite Android Vendor Test Suite (VTS) fournit des tests approfondis sur les points suivants:

  • Noyau
  • Couche d'abstraction matérielle (HAL)

Le VTS s'exécute sur un ordinateur de bureau et exécute des scénarios de test directement sur des appareils connectés ou sur les émulateurs. Semblable à CTS, le VTS est une suite de tests automatisés utilise les principaux composants logiciels suivants.

  • La fédération des échanges commerciaux VTS un outil de test s'exécute sur votre machine hôte et gère l'exécution. Elle offre la possibilité de Configurer la segmentation sur plusieurs appareils testés. Vous pouvez également utiliser la commande Suite Réessayer pour ne relancer que les échecs plutôt que l'ensemble des suites de tests, ce qui réduit considérablement le temps de réexécution.
  • Les scénarios de test individuels sont exécutés sur l'appareil testé. Scénarios de test Il peut s'agir de tests de type gtest, de tests de noyau ou de tests de type JUnit écrits en Java.

Types de tests

Les différents types de tests VTS sont décrits dans les sections suivantes.

tests de type gtest

La plupart des tests VTS sont de type gtest qui vérifient le HAL la mise en œuvre. Le test est écrite en C++ et s'exécute sur l'appareil. Un gtest VTS classique effectue une itération chaque instance d'une interface donnée et exécute tous les scénarios de test s'y opposent. Consultez VtsHalHealthStorageV1_0TargetTest à titre d'exemple.

Tests du noyau Linux

  • Kselftest (external/linux-kselftest) est un recueil de tests inclus dans le dépôt du noyau Linux à tools/testing/selftests, dont 23 sont inclus dans VTS pour s'exécuter sur ARM.

  • Projet de test Linux (external/ltp) les tests valident la fiabilité, la robustesse et la stabilité du noyau Linux.

Tests de type JUnit

Dans VTS, un petit ensemble de tests pilotés par l'hôte est de type JUnit, par exemple : KernelApiSysfsTest Les tests Java sont implémentés BaseHostJUnit4Test, qui est associé à un appareil de test et peut exécuter pour effectuer une validation.

Tests Python3 autonomes

Certains tests VTS, tels que vts_treble_sys_prop_test sont écrits en Python 3. La Les tests basés sur Python sont implémentés en tant que unittest.TestCase. Chaque test cas peut interagir avec l’appareil via des commandes shell.