供應商測試套件 (VTS) 和基礎設施

Android 供應商測試套件 (VTS) 提供以下方面的廣泛測試:

  • 核心
  • 硬體抽象層(HAL)

VTS 在桌上型電腦上運行,並直接在連接的裝置或模擬器上執行測試案例。與CTS類似,VTS 是一個自動化測試套件,使用以下主要軟體元件。

  • VTS Trade Federation測試工具在您的主機上執行並管理測試執行。它提供了跨多個被測設備 (DUT)配置分片的能力。您還可以使用套件重試功能僅重試失敗的測試套件而不是整個測試套件,這大大減少了重新運行時間。
  • 各個測試用例在 DUT 上執行。測試案例可以是用 Java 編寫的 gtest 風格的測試、核心測試或 JUnit 風格的測試。

測試類型

gtest 風格的測試

VTS 中的大多數測試都是 gtest 風格的測試,用於檢查 HAL 實作。該測試用 C++ 編寫並在設備上運行。典型的 VTS gtest 會迭代給定介面的每個實例,並針對它執行所有測試案例。有關範例,請參閱VtsHalHealthStorageV1_0TargetTest

Linux 核心測試

  • Kselftest ( external/linux-kselftest ) 是包含在 Linux 核心儲存庫tools/testing/selftests中的測試集合,其中 23 個包含在 VTS 中以在 ARM 上執行。

  • Linux 測試專案 ( external/ltp ) 測試驗證 Linux 核心的可靠性、健全性和穩定性。

JUnit 風格的測試

VTS 中的一小組主機驅動測試是 JUnit 樣式的測試,例如KernelApiSysfsTest 。 Java 測試作為BaseHostJUnit4Test實現,它與測試設備關聯,可以運行 shell 命令來執行驗證。

獨立的 Python3 測試

有些 VTS 測試(例如vts_treble_sys_prop_test是用 Python3 寫的。基於Python的測試實作為unittest.TestCase ,每個測試案例都可以透過shell指令與裝置互動。