CTS介绍
一、CTS简介
CTS 全称Compatibility Test Suite兼容性测试工具。
当电子产品开发出来,并定制了自己的Android系统后,必须要通过最新的CTS检测,以保证标准的android应用能运行在该平台下。
通过了CTS验证,需要将测试报告提交给Google,已取得android market的认证
二、为什么需要CTS测试?
1、让APP提供更好的用户体验。用户可以选择更多的适合自己设备的APP。让APP更稳定。
2、让开发者设计更高质量的APP。
3、通过CTS的设备可以运行Android market。
三、怎么样才能让我的设备变成兼容的?
1、与Android Compatibility Definition文档匹配,文档列举了兼容性设备的软硬件特性
2、通过CTS测试,CTS是开源的测试框架,使用它来测试你的设备是否具备兼容性。
3、提交报告,测试完CTS后,把测试结果发送给[email protected]。同时还可以申请访问Android Market的权限
四、CTS工作原理
CTS自动化测试两部分组成:
1、运行在PC上的测试框架组件。主要用来管理测试用例(test case)的执行
2、运行在设备或模拟器上的测试用例。这些用例用JAVA写成的APK文件
五、CTS流程
1、获取CTS(源码编译/网站下载)
2、安装配置CTS。
3、把设备连接到PC上。
4、运行CTS。CTS会把相应的测试用例(APK文件)安装到设备上,运行,记录运行结果,最后删除测试用例。
5、所有的测试用例执行完毕后,可以参照测试结果重新调整或优化系统。然后继续运行CTS测试。
6、测试通过以后,把CTS生成的结果(就是result文件夹下面的.zip文件)和设备的一些额外信息(如:screen captures)提交给[email protected]。
六、CTS测试类型
CTS包含下面三种级别:
1、单元级。测试Android平台上的代码单元。比如,一个java.util.HashMap这样的类。
2、功能级。多个API组合而成的一个更高级测试用例。
3、程序级。运行APP来测试所有API和Android服务。
未来版本还会包含下面的类型:
1、强度测试。测试系统在高CPU运算之下的稳定性。
2、效率测试。比如每秒渲染的帧数。
环境搭建
一、ADB环境变量配置
‘vim ~/.bashrc,在文件头添加下面两句
export SDK_ROOT=/home/xxx/sdk
export PATH=${SDK_ROOT}/platform-tools:${SDK_ROOT}/tools:$PATH
二、编译cts
source build/envsetup.sh
make cts
编译结束后:
生成到out/host/linux-x86/cts
三、ADB连接设备
1:全部测试需要6小时左右,建议使用USB连接ADB
2:如果是只测试一部分,可以选择网络或者USB
四、设备设置
1: settings->Developeroptions->中的Enable USB debugging、 Stay awake、 Allowmock Locations 这3项选择打开
2: settings->Security->Device administrators 里面的全部选择(此处是在CTS开始测试后,第一次重启后设置)
五、测试步骤
下面是全部测试步骤,部分测试方法见out/host/linux-x86/cts/android-cts/tools/README说明
cd out/host/linux-x86/cts/android-cts/tools
./cts-tradefed
run cts --plan CTS
开始测试,如下图:
注意:
在测试过程中,设备会重启几次,不要中断终端的cts测试窗口
六、测试结果
如下图:测试完成
结果在cts/android-cts/repository/results目录
部分结果见下图: