【安卓】安卓xTS之Media模块 学习笔记(1) xTS介绍

1.背景

Media的安卓xTS相关测试和功能修复已经进行了一段时间了。

在此整理总结下xTS工作总结,留待后续查阅整理。

2. xTS介绍 - 什么是xTS

谷歌的xTS是对谷歌发布的CTS/GTS/VTS/STS/BTS/CTS-on-GSI等一系列测试的统称。

因为安卓系统比较庞大,模块多,并且维护者、参与厂家、贡献者都很多。

为了确保安卓系统的正常功能,谷歌发布了xTS测试系统。

作为安卓的伴生测试系统,xTS为安卓内部各个模块各个层级提供了大量的测试用例,用以维护安卓的兼容性和功能正确。

2.1 CTS

介绍

CTS(Compatibility Test Suite)是Android设备的兼容性测试,主要测试apk与framwork之间的兼容性,测试Android设备是否符合Android系统的兼容性要求。

CTS测试包括_CTS基本测试_和_CTS Verifier测试_两部分,后者是前者的补充,CTS检查的是API和功能,而CTS Verifier是测试在静态设备上测试无法自动测试的API和功能,例如音频质量,触摸屏,加速度计,相机等等

在CTS测试中,会运行和安装一系列dex和APK文件,模拟不同的场景,测试Android标准的接口是否正常返回。通过CTS测试的设备可以获得Android的商标,并享受Android Market的权限。

CTS是xTS测试中比较重要的一项,且测试内容比较全面,case数量众多。CTS会模拟apk的各种行为来测试framework的接口。

CTS的通过意味着基本可以提供安卓系统所要求的功能,在这个系统上,通用的apk都可以正常运行。

测试内容

这个表列的比较详细了,包含签名,接口测试,Dalvik虚拟机 等等,测的是比较详细的。

部署方式

简单介绍下CTS的部署情况,在PC主机上下载CTS测试套件。PC主机最好是linux,谷歌原生支持,如果是windows就需要做一些魔改才能实现。

然后通过USB连接安卓待测设备。

然后在PC主机上安装依赖的环境(AAPT、JDK、ADB......),之后运行CTS Trade Federation自动化测试框架,CTS会从测试包里通过ADB push 一些测试软件(单独的测试用例是用java语言编写的JUnit测试,并打包成Android.apk)和资源文件到安卓待测机中,并进行运行。

运行过程中,PC主机会实时的去监控一些状态,抓取logcat等日志。

等待测试完成后,通过ADB把测试结果抓出来。

CTS的测试包可以自行编译,或从安卓官网下载 (媒体测试需要另外下载 CTS媒体测试包)

2.2 VTS

VTS(vendor test suite),意为供应商测试套件。主要测试Framework与Vendor的HAL层实现之间的兼容性,主要通过AIDL或者HIDL接口。

如图所示,VTS主要测试的是Framework到vendor这一层的接口。

vendor这一层的实现主要是芯片厂家维护,通过AIDL/HIDl接口供Framework调用的。

VTS的测试没有CTS那么全面,VTS的更多的是测试一下vendor接口和少量功能,可以看做是CTS的基础吧。VTS能通过,代表vendor已经提供了最基础的功能接口(接口里的功能是否正确还不确定,至少是接口已经有了)

2.3 GTS

GTS(Google Test Suite)是Google为Android设备提供的测试套件,主要是为了测试Android设备是否符合Google的服务要求。在GTS测试中,会测试Google的各种服务,如Google Play商店、Google地图、YouTube等,以确保这些服务在Android设备上能够正常运行。GTS测试旨在保证Android设备能够提供最佳的用户体验,并确保Google的服务能够在各种设备上稳定运行。

2.4 NTS

对于TV类型的产品,除了上述的VTS、CTS和GTS测试外,还需要进行Netflix认证(NTS)。NTS认证主要是为了确保Android设备的硬件和软件都符合Netflix的要求,以保证用户在使用Netflix应用时能够获得最佳的观影体验。

2.5 STS

STS(Android Security Test Suite)是谷歌关于android安全补丁安装情况的一个测试套件STS和security patch相关的,是CTS测试新增加一项安全测试套件。

2.6 GSI

GSI(Generic system image)--- Reference AOSP system image通用系统映像上的兼容性测试套件

这个文件包也是签约获取授权后才能获取,Google也会定期更新GSI包Android O要求测试VTS和CTS on GSI,此时对应版本必须是GSI版本,测试包都为VTS。

2.7 其他

3. 参考文档

4. 系列

相关推荐
不吃凉粉2 小时前
Android Studio USB串口通信
android·ide·android studio
zhangphil2 小时前
android studio设置大内存,提升编译速度
android·android studio
递归不收敛2 小时前
大语言模型(LLM)入门笔记:嵌入向量与位置信息
人工智能·笔记·语言模型
冷雨夜中漫步2 小时前
高级系统架构师笔记——数据库设计基础知识(5)Armstrong公理系统、无损连接和有损连接
笔记·系统架构
编程乐学3 小时前
安卓非原创--基于Android Studio 实现的天气预报App
android·ide·android studio·课程设计·大作业·天气预报·安卓大作业
im_AMBER4 小时前
算法笔记 05
笔记·算法·哈希算法
大熊的瓜地4 小时前
Android automotive 框架
android·android car
Element_南笙5 小时前
吴恩达新课程:Agentic AI(笔记2)
数据库·人工智能·笔记·python·深度学习·ui·自然语言处理
私人珍藏库5 小时前
[Android] Alarm Clock Pro 11.1.0一款经典简约个性的时钟
android·时钟
koo3646 小时前
李宏毅机器学习笔记21-26周汇总
人工智能·笔记·机器学习