优化 CTS

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) 的一部分。您可以有策略地运行此模块,并根据固件更新计划,排除这些模块几个周期。