供應商測試套件 (VTS) 和基礎架構

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 命令與設備交互。