Android 供應商測試套件 (VTS) 可針對下列項目進行全面測試:
- 核心
- 硬體抽象層 (HAL)
VTS 會在桌上型電腦上執行,並直接在已連接的裝置或模擬器上執行測試案例。VTS 與 CTS 類似,是自動化測試套件,會使用下列主要軟體元件:
- VTS Trade Federation 測試控管工具會在主體機器上執行,並管理測試執行。這項工具可讓您在多個測試裝置 (DUT) 上設定區塊處理。您也可以使用套件重試功能僅重試失敗情形,而非整個測試套件,大幅縮短重新執行的時間。
- 個別測試案例會在 DUT 上執行。測試案例可以是 GTest 樣式的測試、核心測試,或是以 Java 編寫的 JUnit 樣式測試。
測試類型
以下各節將說明各種 VTS 測試。
GTest 樣式測試
VTS 中的大多數測試都是 GTest 樣式的測試,用於檢查 HAL 實作方式。這項測試是以 C++ 編寫,並在裝置上執行。一般 VTS GTest 會對給定介面的每個例項進行迴迭,並針對該例項執行所有測試案例。如需範例,請參閱 VtsHalHealthStorageV1_0TargetTest
。
Linux 核心測試
Kselftest (external/linux-kselftest) 是
tools/testing/selftests
中 Linux 核心存放區所包含的測試集合,其中 23 項包含在 VTS 中,可在 ARM 上執行。Linux 測試專案 (external/ltp) 可驗證 Linux 核心的可靠性、穩健性和穩定性。
JUnit 風格測試
VTS 中少數由主機控管的測試為 JUnit 樣式測試,例如 KernelApiSysfsTest
。Java 測試會以 BaseHostJUnit4Test
的形式實作,與測試裝置相關聯,並可執行殼層指令來執行驗證作業。
獨立 Python3 測試
部分 VTS 測試 (例如 vts_treble_sys_prop_test
) 是使用 Python 3 編寫。以 Python 為基礎的測試會以 unittest.TestCase
的形式實作,而每個測試案例都可以透過殼層指令與裝置互動。