Android 兼容性测试套件 (CTS) 提供了数百万个单独的测试。虽然在软件开发阶段频繁运行 CTS 是必要的,但可以缩短运行这些测试所需的时间。
本页面介绍了可用于缩短测试执行时间的方法,以及如何将硬件资源优化到流程中。
分片设备
为了缩短周期时间,请考虑在多个设备(分片)上运行 CTS。要了解如何使用分片,请查看运行 CTS 测试。
Android 测试工作站
使用Android 测试工作站 (ATS) 使用户界面能够运行标准 Android 测试套件。此工具充当 Trade Federation (TF) 的 Web 界面,使您只需在多组测试设备上进行最少的设置即可运行 CTS,并建立计划以持续运行测试。
Android 测试工作站支持多主机模式,借助此模式,可以使用单个 ATS 控制器主机来管理多个 ATS 工作器主机上的设备和测试。
模拟器持续运行
为了在开发阶段持续运行 CTS,可以使用 Android 虚拟设备 (AVD) 代替硬件。可以及早发现测试失败的回归,从而节省大量用于分类和分析根本原因的时间。模拟器的多个实例可用于分片,并且可以安排使用 Android 测试工作站持续运行。
drawElements Quality Program (dEQP)
drawElements
质量计划 (dEQP) 包含在 Android CTS 中。此程序名为 CtsDepqTestCases
,侧重于 Android 图形的测试覆盖率。此模块几乎占 Android CTS 中所有测试用例的 80%,占总执行时间的 6%。
由于 Android 图形驱动程序是 Android 固件 (BSP) 的一部分,并且在开发过程中变化不大,因此您可以有策略地运行此模块。例如,如果您在软件开发期间每两周(或更短时间)运行一次 CTS,则根据固件更新计划,您可以排除此模块几个周期。
一种选择是在一组设备上单独运行 CtsDeqpTestCases
,然后提交 CTS 报告。例如,在两台不同的主机上。
主机 1
cts-tf > run cts --max-log-size 100 --shard-count 6 -o -m CtsDeqpTestCases
主机 2
cts-tf > run cts --max-log-size 100 --shard-count 6 -o --exclude-filter CtsDeqpTestCases
媒体测试用例
媒体测试用例验证多媒体服务,例如音频、视频和多媒体驱动程序。这些多媒体测试模块对 CTS 执行时间的贡献最大。延迟可能发生在
- 下载媒体文件或在测试期间重复播放媒体文件。
- 重试失败的测试用例。
Android CTS 包含以下测试模块
CtsMediaStressTestCases
CtsMediaPlayerTestCases
CtsMediaAudioTestCases
CtsVideoTestCases
CtsMediaDecoderTestCases
CtsMediaCodecTestCases
CtsMediaV2TestCases
考虑在本地或本地服务器上运行一些媒体测试。有关详情,请参阅在本地运行 CTS 媒体测试。
多媒体框架及其驱动程序(解码器和编码器)是 Android 固件 (BSP) 的一部分。您可以有策略地运行此模块,并根据固件更新计划,排除这些模块几个周期。