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

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

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

VTS 在台式機上運行,並直接在連接的設備或模擬器上執行測試用例。類似CTS ,VTS是使用以下主要軟件組件的自動化測試套件。

  • 該VTS貿易聯合會的測試工具在主機上運行,並管理測試執行。它提供的能力,配置分片在多個被測設備(DUT的)。您也可以使用該套件重試功能僅重試失敗,而不是整個測試套件,這大大降低了重新運行時間。
  • 在 DUT 上執行單獨的測試用例。測試用例可以是用 Java 編寫的 gtest 風格的測試、內核測試或 JUnit 風格的測試。

測試類型

gtest 風格的測試

VTS 中的大多數測試都是檢查 HAL 實現的 gtest 風格的測試。該測試用 C++ 編寫並在設備上運行。典型的 VTS gtest 遍歷給定接口的每個實例,並針對它運行所有測試用例。請參閱VtsHalHealthStorageV1_0TargetTest的例子。

Linux內核測試

  • Kselftest(外部/ Linux的kselftest )是包括Linux內核在倉庫內測試的集合tools/testing/selftests ,其中23個列入VTS對ARM運行。

  • Linux測試項目(外部/ LTP )試驗驗證的可靠性,耐用性,和Linux內核的穩定性。

JUnit 風格的測試

一小組在VTS主機驅動測試都是基於JUnit風格測試,例如, KernelApiSysfsTest 。在Java測試被實施為BaseHostJUnit4Test ,這是與相關聯的測試裝置,可以運行外殼命令來執行驗證。

獨立的 Python3 測試

有些VTS測試,如vts_treble_sys_prop_test都寫在Python3。所述基於Python的測試被實現為unittest.TestCase和每個測試情況下,可以通過外殼命令設備進行交互。