Suite de tests des fournisseurs (VTS) et infrastructure

Android 11 Vendor Test Suite (VTS) fournit des tests approfondis sur les éléments suivants :

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

VTS s'exécute sur une machine de bureau et exécute des cas de test directement sur les périphériques connectés ou sur les émulateurs. Semblable à CTS , VTS est une suite de test automatisé qui utilise les principaux composants logiciels suivants.

  • La VTS Trade Federation harnais de test fonctionne sur votre machine hôte et gère l' exécution des tests. Il offre la possibilité de Configurer Sharding sur plusieurs appareils sous test (DUT). Vous pouvez également utiliser la Suite Retry fonction pour une nouvelle tentative que les échecs plutôt que l'ensemble des suites de test, ce qui réduit considérablement le temps d' exécution re.
  • Les cas de test individuels sont exécutés sur le DUT. Les cas de test peuvent être des tests de style gtest, des tests de noyau ou des tests de style JUnit écrits en Java.

Types d'épreuves

tests de style gtest

La plupart des tests dans VTS sont des tests de style gtest qui vérifient l'implémentation de HAL. Le test est écrit en C++ et s'exécute sur l'appareil. Un gtest VTS typique parcourt chaque instance d'une interface donnée et exécute tous les cas de test sur celle-ci. Reportez - vous à VtsHalHealthStorageV1_0TargetTest pour un exemple.

Tests du noyau Linux

  • Kselftest ( externe / linux-kselftest ) est une collection de tests inclus dans le référentiel de Linux à tools/testing/selftests , dont 23 sont inclus dans VTS pour fonctionner sur ARM.

  • Linux Test Project ( externe / LTP tests) valider la fiabilité, la robustesse et la stabilité du noyau Linux.

Tests de style JUnit

Un petit ensemble de tests axées sur l' accueil dans VTS sont des tests de style JUnit, par exemple, KernelApiSysfsTest . Les tests Java sont mis en œuvre comme BaseHostJUnit4Test , qui est associé à un dispositif de test et peut exécuter des commandes shell pour effectuer la validation.

Tests Python3 autonomes

Certains tests VTS tels que vts_treble_sys_prop_test sont écrits en python3. Les tests basés sur Python sont mises en œuvre comme unittest.TestCase et chaque cas de test peuvent interagir avec le dispositif par l' intermédiaire des commandes de shell.