此文档供CTS测试人员参考。
一、准备工作
从Android-P切换到Android-Q CTS测试,你需要准备:
- Linux系统电脑(内存最低16G)
- 谷歌Android-Q CTS测试套件,进入官网下载对应版本工具
- USB-MIDI回环线和Bluetooth-MIDI回环线
- 安装MIDI+BTLE.apk
和Loopback.apk,MIDI+BTLE.apk可前往Google Play商店下载安装
二、CTS
使用Linux(这边使用的是Ubuntu)系统,电脑内存最低要求16G,内存不足会导致生成的报告异常,不能继续retry;
需修改工具包tools目录下
cts-tradefed文件最后一行修改为:java $RDBG_FLAG –Xmx32g -XX:+HeapDumpOnOutOfMemoryError
新项目机器连接电脑提示adb没有权限,需要在Ubuntu的
/etc/udev/rules.d/51-android.rules文件按格式添加测试机的VID与PID(命令行输入lsusb获取)。如需在Ubuntu上使用Fastboot工具,在安装配置Fastboot环境后,测试机进入Fastboot模式,找到机器Fastboot状态下的VID与PID并添加至51-android.rules文件中即可;目前谷歌安卓官网不提供10.0CTS-instant测试套件,所以不必再单独提供CTS-instant测试报告,CTS套件集和部分instant模块,例如:

CtsTelephonyTestCases模块只有64位的case,联通卡相关项跑完不再锁SIM卡短信功能;目前使用Ubuntu 16.04版本测试
CtsAppsecurityhosttestcases模块时,会因为USB reset导致一条case执行失败,怀疑与16.04版本USB机制有关,升级到Ubuntu 18.04版本问题解决,且18.04版本不会弹出“无法打开设备/不能挂载MTP设备”警告窗口。鉴于目前18版本较之前稳定,可考虑切换至18.04版本开展测试;执行完一轮测试后,需关闭当前命令行窗口另开窗口进行retry(使用Ctrl+C终止或输入exit退出当前控制台也可以)。原因是执行测试时Java程序会占用大量内存,关闭已执行完成窗口释放系统内存,否则将导致运行卡顿甚至生成的报告出现问题。可使用系统工具System Monitor查看内存实时占用情况;
筛选过滤模块指令
--exclude-filter <module name>在10.0CTS控制台中存在某些项目会概率性不生效问题;CTS-on-gsi与VTS需要特别配置环境,Ubuntu系统运行VTS工具包中
/android-vts/bin/setup.sh文件即可配置,**不建议使用**root账户执行CTS-on-gsi与VTS测试。
三、CTS-Verifier
Android-Q Cts-verifier中
AUDIO模块新增MIDI Test、Native MIDI API Test、ProAudio Test三条case,需要使用到USB声卡及新买的两根MIDI线,另外需要安装两个指定apk如下:

PS:Cts verifier 10.0_r2套件已将ProAudio Test删除,测试时仅安装MIDI+BTLE.apk即可
1.1 MIDI Test、Native MIDI API Test:两条Case的测试界面如下图,其中USB MIDI Loopback Test使用普通USB MIDI线连接声卡测试通过,Bluetooth MIDI Loopback Test使用带蓝牙功能的MIDI线连接声卡,测试机器需要安装MIDI+BTLE.apk以 配对MIDI线蓝牙(MD-BT01)进行测试:

1.2 ProAudio Test:测试该case需要使用3.5mm封闭式回环耳机,安装Loopback.apk,设置成如下选项更易测试通过:

HARDWARE模块裁剪了GNSS和GPS相关测试项;SECURITY模块新增生物锁相关项case,即Biometric Prompt Bound Keys Test与Biometric Test;Android-Q Cts-verifier需要键入如下命令
adb shell appops set com.android.cts.verifier android:read_device_identifiers allow
然后点击Verifier应用界面右上角保存按钮,才能生成报告文件。