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.