CTS (Compatibility Test Suite)概述

CTS概述

兼容性测试套件 (CTS) 是一个免费的商业级测试套件。CTS 代表兼容性的“机制”。

**CTS 可在桌面设备上运行,并直接在所连接的设备或模拟器上执行测试用例。**CTS 是一套单元测试,可以集成到工程师构建设备的日常工作流程(例如通过连续构建系统)。其目的是尽早发现不兼容性,并确保软件在整个开发过程中保持兼容性。

CTS 是一个自动化测试套件,它使用两个主要软件组件:
CTS Trade Federation 自动化测试框架会在桌面设备上运行,并管理测试执行情况。此框架可实现对多个被测设备 (DUT) 进行分片测试。您还可以利用套件重试功能仅重试失败的测试而不是完整的套件,从而大大减少重新运行所花的时间。
单独的测试用例会在 DUT 上执行。测试用例采用 Java 语言编写为 JUnit 测试,并打包为 Android .apk 文件,以在实际目标设备上运行。

兼容性测试套件验证程序(CTS 验证程序)是对 CTS(可在此处下载)的补充。CTS 验证程序为无法在没有手动输入(例如音频质量、加速度计等)的固定设备上进行测试的 API 和功能提供测试。
CTS 验证程序是一款手动测试工具,包含以下软件组件:
在 DUT 上执行并收集结果的 CTS 验证程序应用。
在桌面设备上执行,以便为 CTS 验证程序应用中的某些测试用例提供数据或额外控制的可执行文件或脚本。

工作流程
CTS (Compatibility Test Suite)概述_第1张图片

测试用例的类型
CTS 包含以下类型的测试用例:
单元测试用于测试 Android 平台中微小的代码元素;例如 java.util.HashMap 等单个类。
功能测试用于通过较高级别的用例将 API 组合到一起进行测试。

CTS 的未来版本将包含以下类型的测试用例:
稳健性测试用于测试系统在压力下的耐久性。
性能测试用于根据定义的基准(例如每秒渲染帧数)测试系统的性能。

涵盖的领域CTS (Compatibility Test Suite)概述_第2张图片

设置 CTS

https://source.android.com/compatibility/cts/setup

运行 CTS 测试

运行测试计划的操作如下:
至少连接一个设备。
在开始运行 CTS 时,按主屏幕按钮将设备设置为显示主屏幕。
当设备在运行测试时,不能执行任何其他任务,并且必须保持静止状态(以免触发传感器活动),同时要让相机指向某个可以聚焦的对象。
在运行 CTS 时,不要按设备上的任何键。按测试设备上的键或触摸其屏幕会干扰正在运行的测试,并且可能导致测试失败。
通过运行解压缩 CTS 包所得文件夹中的 cts-tradefed 脚本(例如 $ ./android-cts/tools/cts-tradefed)启动 CTS 控制台。
通过附加以下命令启动默认测试计划(包含所有测试包):run cts --plan CTS。这将启动测试兼容性所需的所有 CTS 测试。
对于 CTS v2(Android 7.0 及更高版本),您可以输入 list modules 来查看测试模块列表。
对于 CTS v1(Android 6.0 及更低版本),您可以输入 list plans 来查看存储区中的测试计划列表,也可以输入 list package 来查看存储区中的测试包列表。
或者,您也可以使用以下命令,从命令行中运行所选的 CTS 计划:cts-tradefed run cts --plan
注意:您可以通过使用 run cts-dev 命令(而非 run cts)来缩减在 Android 7.0 (Nougat) 及更高版本中的运行时间。此命令会跳过前提条件、设备信息收集和所有系统状态检查工具。它还仅在单个 ABI 上运行测试。对于设备验证,请忽略此优化操作并添加所有前提条件和检查。
查看控制台中报告的测试进度和结果。
如果您的设备搭载的是 Android 5.0 或更高版本,并且声明支持 ARM 和 x86 ABI,则 ARM 和 x86 CTS 包都应运行。
(可选)利用套件重试功能重新运行测试的以前会话:
使用以下命令查看以前的会话:
cts-tf > l r
确定您需要的会话编号,并将其代入以下命令中:
cts-tradefed run retry --retry
若要详细了解如何实现重试功能,请参阅 Trade Federation 的套件重试页面。
使用 CTS v2 控制台
对于 Android 7.0 或更高版本,您将使用 CTS v2。
选择计划
您可以选择以下测试计划:
cts - 从预装的 CTS 套件运行 CTS。
cts-camera - 从预装的 CTS 套件运行 CTS-camera。
cts-java - 从预装的 CTS 套件运行核心 Java 测试。
cts-pdk - 运行有助于验证与 PDK 融合的产品的测试。
everything - 兼容性套件的通用配置。
其他可用配置如下:
basic-reporters - 基本 CTS 报告程序的配置。
collect-tests-only - 从预装的 CTS 套件运行 CTS。
common-compatibility-config - 兼容性套件的通用配置。
cts-filtered-sample - 兼容性套件的通用配置。
cts-known-failures - CTS 已知故障的配置。
cts-preconditions - CTS 前提条件配置。
host - 在现有设备上运行单个基于主机的测试。
instrument - 在现有设备上运行单个 Android 工具测试。
native-benchmark - 在现有设备上运行原生压力测试。
native-stress - 在现有设备上运行原生压力测试。
recharge - 等待设备的电量接近耗尽状态,然后让设备保持充电状态的虚设测试。
testdef - 在现有设备上运行包含在 test_def.xml 文件中的测试。
util/wifi - 用于在设备上配置 Wi-Fi 的实用程序配置。
util/wipe - 擦除设备上的用户数据。
所有这些计划和配置都可以使用 run cts 命令执行。

CTS v2 控制台命令参考CTS (Compatibility Test Suite)概述_第3张图片

CTS (Compatibility Test Suite)概述_第4张图片
CTS (Compatibility Test Suite)概述_第5张图片
CTS (Compatibility Test Suite)概述_第6张图片
CTS (Compatibility Test Suite)概述_第7张图片
CTS (Compatibility Test Suite)概述_第8张图片

你可能感兴趣的:(CTS (Compatibility Test Suite)概述)