目录
Android XTS 测试入门
测试前的准备工作
CTS
GTS
GSI
VTS
STS
CTSV
APTS
常用测试命令
1、最好使用刚刷完机的手机,或者进行恢复出厂设置操作,再进行下面几点操作;
2、刷入google key,并且给手机写好 IMEI 号;
3、点击版本号信息,打开开发者选项中的"Stay awake"、"OEM unlocking"、"USB debugging"三个开关;
4、手机屏幕超时时间设置为永不(若无永不选项,则设置为最大时间);
5、手机的系统语言必须为美式英语;
6、设置锁屏密码为无;
7、连接正规的 WIFI;
8、切记不要随便调节其他开关。
Compatibility Test Suite 意为兼容性测试套件,是 Google 推出的 Android 平台兼容性测试机制。CTS 测试主要是测试 OEM 厂商设计的 Android 平台是不是符合 Android 的 API 接口定义。通过 CTS 测试不仅可以保证 Android 设备上正常运行,同时,也能够让所有的开发者放心地制作高质量的应用程序,因此只有通过 CTS 认证的设备才能合法的安装使用 Google market 等 Google 应用。
CTS 工具 请自行下载,工具是会定期进行更新的;
CTS 测试注意事项
测试版本:user 版本
CTS 常用的测试命令
全测命令:run cts
单模块测试:run cts -m <模块名>
单项测试:run cts -m <模块名> -t <单项名>
多台机器测试:run cts --shard-count X
Re-try 测试:run retry --retry ID (l r 即可查看 Session ID)
Google Mobile Services Test Suite 意为谷歌移动服务测试套件,谷歌移动服务提供了Search、 Search by Voice、Gmail、Contact Sync、 Calendar Sync、Talk、 Maps、 Steet View、 YouTube、 Android Market (Play store)等服务,当用户使用谷歌时,谷歌可以把各种广告嵌入到谷歌的服务中。GTS 工具 自行下载
GTS 测试注意事项
测试版本:user 版本
必须连接外网
GTS 常用的测试命令
全测命令:run gts
单模块测试:run gts -m <模块名>
单项测试:run gts -m <模块名> -t <单项名>
多台机器测试:run gts --shard-count X
Re-try 测试:run retry --retry ID (l r 即可查看 Session ID)
Generic System Image,即Reference AOSP system image 意为通用系统映像上的兼容性测试套件,这个文件包也是签约获取授权后才能获取,Google也会定期更新GSI包。GSI 工具 Android R 之前使用 VTS Tool,Android R 之后用 CTS Tool.
GSI 测试注意事项
测试版本:user 版本
替换 system.img
替换 system.img 的操作方法adb reboot bootloader
fastboot flashing unlock (输入命令后按音量上键)
fastboot reboot fastboot
fastboot flash system
fastboot -w
fastboot reboot bootloader
fastboot rebootGSI常用的测试命令
全测命令:run cts-on-gsi -s SN
单模块测试:run cts-on-gsi -m <模块名>
单项测试:run cts-on-gsi -m <模块名> -t <单项名>
多台机器测试:run cts-on-gsi --shard-count X
Vendor Test Suite 意为 供应商测试套件。以前Android的系统升级是很麻烦的,为了能更快的将设备升级到新的Android版本,Android O 开始新引入了 Project Treble,Project Treble 适用于搭载 Android O 及后续版本的所有新设备。Android 7.x 及更早版本中没有正式的Vendor层接口,因此每次更新系统都相对耗时和困难。Android O 之后,Treble 提供了稳定的Vendor层接口,供设备制造商访问 Android 代码中特定于硬件的部分,这样就可以只更新框架层,减少升级系统带来的成本和困难。为了确保Vendor层实现的前向兼容性,新的Vendor层接口会由供应商测试套件 (VTS) 进行验证,该套件类似于兼容性测试套件 (CTS)。
VTS 工具 自行下载
VTS 测试注意事项
测试版本:user 版本
替换 system.img
替换 system.img 的操作方法
adb reboot bootloader
fastboot flashing unlock (输入命令后按音量上键)
fastboot flash boot boot-debug.img
fastboot reboot fastboot
fastboot flash system
fastboot -w
fastboot reboot bootloader
fastboot reboot
VTS测试命令
全测命令:run vts
单模块测试:run vts -m <模块名>
单项测试:run vts -m <模块名> -t <单项名>
多台机器测试:run vts --shard-count X
Android Security Test Suite (STS) 是谷歌关于android安全补丁安装情况的一个测试套件STS和security patch相关的,是CTS测试新增加一项安全测试套件。STS是201808才开始测试的。Security patch日期在3个月内是GTS的一个case,如果不通过无法获得google认证。在18年5月之前谷歌对于security patch这个属性都是在build库下面跟着aosp更新的。现在需要通过STS之后由vendor来更新。STS需要通过userdebug版本的targetfile来生成一个user版本的结果。
STS 工具 自行下载
STS 测试注意事项
测试版本:userdebug 版本
STS 测试命令
run sts-dynamic-incremental -m <模块名> -t <单项名称> MR版本测试指令
run sts-dynamic-full -m <模块名> -t <单项名称> IR版本测试指令
CTS Verifier 算是CTS的一部分,需要手动进行,主要用于测试那些自动测试系统无法测试的功能,比如相机、传感器等。由于硬件配置或其他原因,不同手机上部分测试项目被隐藏,也就是说CTS Verifier中case的总数,取决于测试机支持哪些功能。
CTSV 工具 请自行下载安装 CtsVerifier.apk,此 apk 会定期更新的
CTSV 测试注意事项
测试版本:user 版本
CTSV 安装前的条件
恢复出厂操作
adb shell settings put global hidden_api_policy 1
adb install –r -g CtsVerifier.apk
APTS 性能测试,针对 GO 设备 Google安排的一项测试。
APTS 工具 请自行下载
APTS 测试注意事项:
测试版本:userdebug 版本
打开 USB 开关,关闭 Play Store 的自动更新(有的需要登录 google 账号进行关闭,有的直接在 sign in界面右上角关闭自动更新)
APTS 测试命令
run test/approval-go --fingerprint-swap +fingerprint
# --- Example 1 --- # Run the approval plan for Android Go edition devices. This plan will create # a results file used for upload to the Android Partner Approvals Portal. run test/approval-go # --- Example 2 -- # Use the fingerprint swap option to create an APTS approval file that # matches your device approval user/release fingerprint, used for upload to the # approval portal. run test/approval-go --fingerprint-swap google/wembley/wembley:12/SP1A.210712.001/7539480:user/release # --- Example 3 -- # Use the test-case option to retest app-start-cold-3p of the approval plan run test/approval-go --test-case app-start-cold-3p
1、retry
通过 Session id ,比如第40个,以 cts 为例:run retry --retry 40
2、-s 设备序列号
多台设备但只想跑其中一台时,可以添加 -s 序列号 run cts -m <模块名> -t <单项名> -s 设备序列号
2、跳过预设环境命令 --skip-preconditions
run cts -m <模块名> -t <单项名> --skip-preconditions 为了减少测试时间
3、subplan
由于 XTS 测试过程中失败项太多,一个模块失败项太多,或者多个模块失败,单跑或者整个模块跑又非常耗时,所以 subplan 呼之欲出。
制作 subplan:
(1)新建 subplans 文件夹
创建 subplans 文件夹位于与 result 同级目录下
(2)新建测试文件 test.xml
在 subplans 中新建 test.xml ,文件名随便起
需要加入哪些测试项,就继续增加 Entry 即可。
(3)执行 run cts --subplan test
参考链接
下一篇介绍常见的 XTS fail 项:CTS Fail GTS Fail