Android 系统的兼容性测试 - CTS Verifier、GTS、VTS、STS 等
CTS Verifier
兼容性测试检验器(Compatibility Test Suite Verifier) 是对 CTS 的补充,是一种手动测试,主要为没有手动输入(比如音频质量、加速度计等)无法在固定设备上测试的 API 和功能提供测试。
GTS
谷歌移动服务测试套件(Google Mobile Services Test Suite,简称 GTS)是用于测试谷歌移动服务组件(Google Mobile Services,简称 GMS)的测试工具。谷歌移动服务组件包括了一系列谷歌为 Android 设备开发的闭源服务和应用,主要包括:Gmail、Google Maps、YouTube、Play Store 等等。在海外市场,这些应用对于用户生活早已不可或缺。国外没有 GMS 服务的手机就好比国内没有微信、支付宝、地图的手机,寸步难行。甚至有些国家和地区,当地运营商要求移动设备必须通过 GMS 认证才可以接入当地网络。在国内要是厂商不集成 GMS 服务的话,原则上可以不进行 GTS 测试,但是大厂为了避免不必要的纠纷,一般会进行 GTS 测试。
谷歌对 Android 移动设备给予了不同程度的授权,可以归纳为如下三个等级:
- 免费使用 Android 系统,但是不集成 GMS 服务;
- 选择性地集成 GMS 服务,但是手机无法获取到谷歌的授权;
- 集成所有的 GMS 服务且通过 GMS 认证,获得谷歌的授权和得到官方认证。
VTS
供应商测试套件(Vendor Test Suite,简称 VTS)是谷歌用于测试 Android 设备的核心硬件抽象层 HAL、库 Libraries 和底层软件系统(比如 Kernel、Fireware 等)的健壮性、兼容性和依赖性的测试工具。
过往,Android 系统的升级(比如从 Android 6.0 升级到 7.0)需要上下游厂商投入非常多的人力(尤其是 SoC 厂商),导致整个升级的周期非常长。只有当所有的厂商升级完毕后,用户才会收到 OTA 推送,从而升级手中的移动设备。考虑到成本的问题,有的低端点的移动设备,出厂后就不会再升级。这就导致用户无法体验新版本的系统带来的功能,有的应用兼容做的不好,还会出现闪退等情况,影响用户体验。
因此,为了解决这个问题,谷歌在 Android 8.0 的时候引入了 Project Treble 项目。在该项目中,提及了 Vendor Interface 和 VTS 的概念。Vendor Interface 是将 Framework 和 HAL 进行分离,确保同一个 Framework 可以运行在不同的 HAL 上(或者不同的 Framework 运行在相同的 HAL 上)。这样做的好处就是上下游厂商进行 Android 升级的时候,可以直接对 Framework 进行升级而无需考虑 HAL 层的变化,从而缩短 OTA 推送的时间,让用户尽早可以实现 Android 版本的升级。
STS
安全测试组件(Security Test Suite)是谷歌用于测试 Android 设备安全漏洞、安全补丁的测试工具,主要包含每个月、季度和年份的安全补丁等。
GSI
Generic System Image,即Reference AOSP system image, 即为通用系统映像上的兼容性测试套件,通过授权后Google会定期更新GSI包。
ITS
Imaging Test Suite,相机图像测试套件,用于验证图像内容的测试。