Die Android Vendor Test Suite (VTS) bietet ausgiebige Tests zu Folgendem durchgeführt:
- Kernel
- Hardware-Abstraktionsschicht (HAL)
VTS läuft auf einer und führt Testläufe direkt auf angeschlossenen Geräten oder in den Emulatoren. Ähnlich wie bei CTS ist VTS eine automatisierte Testsuite, die verwendet die folgenden wichtigen Softwarekomponenten.
- Die VTS Trade Federation Test-Harnisch wird auf Ihrem Hostcomputer ausgeführt und verwaltet Test Ausführung. Es bietet die Möglichkeit, Fragmentierung konfigurieren für mehrere zu testende Geräte (DUTs). Sie können auch Wiederholen für die Suite um nur die Fehler und nicht die gesamte Testsuite zu wiederholen, wodurch die Wiederholungsausführung erheblich reduziert wird.
- Einzelne Testläufe werden auf dem DUT ausgeführt. Die Testläufe Es kann sich um Tests im gtest-, Kernel- oder JUnit-Stil handeln, die in Java
Testtypen
In den folgenden Abschnitten werden die verschiedenen Arten von VTS-Tests beschrieben.
Tests im gtest-Stil
Die meisten Tests in VTS sind Tests im gtest-Stil, die den HAL überprüfen.
Implementierung. Der Test ist
die in C++ geschrieben sind und auf dem Gerät ausgeführt werden. Ein typischer VTS-gtest-Test
jede Instanz einer bestimmten Schnittstelle und führt alle Testläufe aus
dagegen verstoßen. Weitere Informationen finden Sie unter VtsHalHealthStorageV1_0TargetTest
.
finden Sie ein Beispiel.
Linux-Kerneltests
kselftest (external/linux-kselftest) ist eine Sammlung von Tests im Linux-Kernel-Repository bei
tools/testing/selftests
, von denen 23 in VTS zur Ausführung auf ARM enthalten sind.Linux Test Project (external/ltp) Tests validieren die Zuverlässigkeit, Robustheit und Stabilität des Linux-Kernels.
Tests im JUnit-Stil
Einige hostgesteuerte Tests in der VTS sind z. B. Tests im JUnit-Stil.
KernelApiSysfsTest
Die Java-Tests werden so implementiert:
BaseHostJUnit4Test
,
die mit einem Testgerät verknüpft ist und Shell ausführen kann,
um eine Validierung durchzuführen.
Eigenständige Python3-Tests
Einige VTS-Tests, z. B.
vts_treble_sys_prop_test
sind in Python3 geschrieben. Die
Python-basierte Tests werden als unittest.TestCase
implementiert und jeder Test
Fall kann über Shell-Befehle mit dem Gerät interagieren.