兼容性测试套件 (CTS) 是一个免费的商业级测试套件和工具,用于帮助确保您的设备与 Android 兼容。CTS 旨在集成到您的日常工作流程中,例如通过连续构建系统。CTS 可在桌面设备上运行,并直接在所连接的设备上或模拟器上执行测试。如需了解 Android 兼容性概览,请参阅 Android 兼容性计划概览。
图 1. CTS 自动化测试。
图 1 显示了执行 CTS 自动化测试的过程:
- 下载并安装 CTS。此步骤还涉及设置测试环境、测试工作站以及您要测试的设备(即被测设备 [DUT])
- 运行 CTS 自动化测试。
- 存储和查看结果。
- 排查问题并重新运行测试。
使用 CTS 尽早发现不兼容问题,并确保您的 Android 实现在整个开发过程中保持兼容性。
CTS 组件
CTS 包含以下主要组件:
- Trade Federation
- 自动化测试框架可用于自动执行测试。
- CTS 自动化测试
- 使用 Trade Federation 框架的测试,可以使用 Trade Federation 自动化测试框架来运行。
- CTS 验证程序 (CTS-V) 测试
- 必须手动运行的测试。
- CTS 验证程序 (CTS-V) 应用
- 用于执行 CTS-V 测试和收集 CTS-V 测试结果的应用。
- 测试用例
在 DUT 上执行的单个测试。自动化测试用例采用 Java 语言编写为 JUnit 测试,并打包为 Android APK 文件,以便在目标设备上运行。
测试用例可以是单元测试,也可以是功能测试。单元测试用于测试 Android 平台中微小的代码单元。例如,单元测试可以测试单个 Android 类。
功能测试可执行用于特定用例的方法和类的组合。
- 测试配置
在 DUT 上运行的一组特定的自动化测试。测试配置是位于
WORKING_DIRECTORY/cts/tools/cts-tradefed/res/config
中的 XML 文件。有些测试配置包含所有自动化测试用例,有些测试配置包含部分测试用例。- 测试模块
由针对同一功能领域的一系列测试用例组成的测试配置。
- 测试计划
由一系列测试模块组成的测试配置。
测试覆盖率
测试用例涵盖以下领域,以确保兼容性:
领域 | 说明 |
---|---|
签名测试 | 每个 Android 版本中都包含一个 XML 文件,用于描述这一版本所含的所有公开 API 的签名。CTS 包含一个实用工具,该实用工具用于根据设备上可用的 API 检查这些 API 签名。签名检查的结果会记录在测试结果 XML 文件中。 |
平台 API 测试 | 按照 SDK 类索引所述内容来测试平台(核心库和 Android 应用框架)的 API,以确保 API 的正确性,包括正确的类、属性、方法签名以及正确的方法行为;此外还需进行负面测试,以确保不正确的参数处理产生预期行为。 |
Dalvik 测试 | 这类测试侧重于测试 Dalvik 可执行格式的文件。 |
平台数据模型 | CTS 会测试通过 content provider(如 SDK
android.provider 软件包中所述)提供给应用开发者的核心平台数据模型(包括通讯录、浏览器和设置) |
平台 Intent | CTS 会测试核心平台 Intent(如 SDK 常用 Intent 中所述)。 |
平台权限 | CTS 会测试核心平台权限(如 SDK
Manifest.permission 中所述)。 |
平台资源 | CTS 会测试核心平台资源类型(如 SDK 资源类型概览中所述)的处理是否正确。CTS 测试包括针对以下资源的测试:简单值、可绘制对象、九宫格、动画、布局、样式和主题,以及加载备用资源。 |
后续课程
阅读本文档后,请继续阅读设置 CTS。