Android 11 供應商測試套件 (VTS) 提供了以下方面的廣泛測試:
- 核心
- 硬件抽象層 (HAL)
VTS 在台式機上運行,並直接在連接的設備或模擬器上執行測試用例。與CTS類似,VTS 是一個使用以下主要軟件組件的自動化測試套件。
- VTS Trade Federation測試工具在您的主機上運行並管理測試執行。它提供了跨多個被測設備 (DUT)配置分片的能力。您還可以使用Suite Retry功能僅重試失敗而不是整個測試套件,這大大減少了重新運行時間。
- 單獨的測試用例在 DUT 上執行。測試用例可以是 gtest 樣式的測試、內核測試或用 Java 編寫的 JUnit 樣式的測試。
測試類型
gtest 風格的測試
VTS 中的大多數測試都是檢查 HAL 實現的 gtest 式測試。該測試用 C++ 編寫並在設備上運行。典型的 VTS gtest 遍歷給定接口的每個實例,並針對它運行所有測試用例。有關示例,請參閱VtsHalHealthStorageV1_0TargetTest
。
Linux 內核測試
Kselftest ( external/linux-kselftest ) 是 Linux 內核存儲庫
tools/testing/selftests
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 命令與設備交互。