Vendor Test Suite (VTS) and Infrastructure

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.