兼容性测试套件

兼容性测试套件 (CTS) 是一个免费的商业级测试套件,可作为二进制文件或作为Android 开源项目 (AOSP)中的源代码下载。 CTS 代表了兼容性的“机制”。

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

CTS 是一个自动化测试套件,它使用两个主要的软件组件:

  • CTS Trade Federation测试工具在您的台式机上运行并管理测试执行。它提供跨多个被测设备 (DUT) 分片测试的能力。您还可以使用套件重试功能仅重试失败而不是整个套件,从而大大减少重新运行时间。
  • 单独的测试用例在 DUT 上执行。测试用例是用 Java 编写的 JUnit 测试和打包的 Android .apk 文件以在实际设备目标上运行。

Compatibility Test Suite Verifier (CTS Verifier) 是对可供下载的 CTS 的补充。 CTS Verifier 为没有手动输入(例如音频质量、加速度计等)无法在固定设备上测试的 API 和功能提供测试。

CTS Verifier 是一种手动测试工具,包括以下软件组件:

  • 在 DUT 上执行并收集结果的 CTS 验证程序应用程序。

  • 在桌面计算机上执行的可执行文件或脚本,用于为 CTS Verifier 应用程序中的某些测试用例提供数据或额外控制。

工作流程

CTS 流量

图 1.如何使用 CTS

此图总结了 CTS 工作流程。有关详细说明,请参阅本节以设置开头的子页面。

测试用例的类型

CTS 包括以下类型的测试用例:

  • 单元测试测试 Android 平台内的原子代码单元;例如一个单一的类,如java.util.HashMap。
  • 功能测试在更高级别的用例中测试 API 的组合。

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

涵盖的领域

单元测试用例涵盖以下领域以确保兼容性:

区域描述
签名测试对于每个 Android 版本,都有 XML 文件描述该版本中包含的所有公共 API 的签名。 CTS 包含一个实用程序,用于根据设备上可用的 API 检查这些 API 签名。签名检查的结果记录在测试结果 XML 文件中。
平台 API 测试测试 SDK类索引中记录的平台(核心库和 Android 应用程序框架)API 以确保 API 正确性,包括正确的类、属性和方法签名、正确的方法行为和负面测试,以确保错误参数处理的预期行为。
达尔维克测试测试的重点是测试 Dalvik 可执行格式。
平台数据模型CTS 测试通过内容提供程序向应用程序开发人员公开的核心平台数据模型,如 SDK android.provider包中所述:联系人、浏览器、设置等。
平台意图CTS 测试核心平台意图,如 SDK可用意图中所述。
平台权限CTS 测试核心平台权限,如 SDK可用权限中所述。
平台资源CTS 测试是否正确处理核心平台资源类型,如 SDK可用资源类型中所述。这包括测试:简单值、可绘制对象、九个补丁、动画、布局、样式和主题,以及加载替代资源。