兼容性测试套件 (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 测试核心平台数据模型,该模型通过内容提供程序向应用开发者公开,如 SDK android.provider 软件包(包括联系人、浏览器和设置)中所述 |
平台 Intent | CTS 测试核心平台 Intent,如 SDK 常用 Intent 中所述。 |
平台权限 | CTS 测试核心平台权限,如 SDK Manifest.permission 中所述。 |
平台资源 | CTS 测试核心平台资源类型的正确处理,如 SDK 资源类型概述 中所述。CTS 测试包括简单值、可绘制对象、九宫格、动画、布局、样式和主题以及加载备用资源的测试。 |
后续步骤
阅读本文档后,请继续阅读设置 CTS。