供应商测试套件 (VTS) 和基础架构
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
Android 供应商测试套件 (VTS) 针对以下项目提供了全面的测试:
VTS 在桌面设备上运行,并直接在所连接的设备或模拟器上执行测试用例。与 CTS 类似,VTS 是一个自动化测试套件,使用下列主要软件组件:
- VTS Trade Federation 自动化测试框架会在您的主机上运行,并管理测试执行情况。此框架可实现对多个受测设备 (DUT) 进行分片配置。您还可以利用套件重试功能仅重试失败的测试而不是完整的测试套件,从而大幅减少重新运行所需的时间。
- 单个测试用例会在 DUT 上执行。测试用例可以是采用 Java 编写的 gtest 式测试、内核测试或 JUnit 式测试。
测试类型
以下各部分介绍了各种类型的 VTS 测试。
gtest 式测试
VTS 中的大多数测试都是 gtest 式测试,用于检查 HAL 实现情况。测试使用 C++ 编写,并在设备上运行。典型的 VTS gtest 会遍历给定接口的每个实例,并针对其运行所有测试用例。如需查看示例,请参阅 VtsHalHealthStorageV1_0TargetTest
。
Linux 内核测试
JUnit 式测试
VTS 中的一小部分主机驱动的测试是 JUnit 式测试,例如 KernelApiSysfsTest
。Java 测试以 BaseHostJUnit4Test
的形式实现,其与测试设备关联,并可运行 shell 命令来执行验证。
独立 Python3 测试
一些 VTS 测试(例如 vts_treble_sys_prop_test
)是用 Python3 编写的。基于 Python 的测试以 unittest.TestCase
的形式实现,并且每个测试用例都可以通过 shell 命令与设备进行交互。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-04-26。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2024-04-26\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2024-04-26。"]]