一、什么是兼容性测试?

1)为用户提供最好的用户体验,让更多高质量的APP可以顺利的运行在此平台上

2)让程序员能为此平台写更多的高质量的应用程序

3)可以更好的利用Android应用市场

二、CTS覆盖领域

1)签名测试:针对每个Android正式版,都将附带一系列XML文档对所有的公共API签名进行描述。CTS将检查这些签名是否适用于该设备,并保存其结果。

2)平台API测试:测试SDK中平台核心库和Android应用程序框架的API是否正确

3)Dalvik虚拟机测试:集中测试Dalvik虚拟机

4)平台数据模型测试:测试通过content provides 暴露给程序员的平台数据模型中的核心部分,如联系人,浏览器和设置等应用

5)平台intents测试:测试在SDK中定义的可用平台intents中的核心部分

6)平台权限测试:测试在SDK中定义的可用平台权限中的核心部分

7)平台资源测试:测试在SDK中定义的可用资源类型中的核心部分,如simple values/drawables/nine-patch/animations/layouts/styles/themes

三、CTS运行前的准备工作

1)熟悉CDD(Compability Definition Document),兼容性规范文档。CTS所测试的一切为了确保设备符合该规范,所以我们测试之前必须要对CDD中提出的要求非常熟悉才行

2)CTS(Compability Test Suite)CTS的测试套件,用于实际测试运行所用

3)CTS Verifier 的应用,它将直接安装在手机上,主要用于硬件及CTS测试套件难以测试的一些偏功能型的接口测试,比如Camera、GPS和各种sensor等

四、下载地址:

http://source.android.com/compatibility/downloads.html

这里由于天国对网络的限制,上面网址访问不了,建议注册一个GreenVPN,非常好用

http://gjsq.me/16647406 (合作推广链接,并非钓鱼网站)注册跳转页面

五、CTS运行前配置

1)确保Text 和 Speech文件都被安装到设备中。可到Setting-->Speech synthesis ——>Install voice data 中检查

2)确保设备包含外置SD卡且该卡为空

3)运行CTS前需要回复出厂设置

4)确保屏锁已经关闭

5)确保未知资源已开启

6)确保USB调试选项已被勾选

7)确保屏幕常亮已被勾选

8)确保Allow mock location已被勾选

9)确保设备已连接上可用的Wi-Fi网络

10)确保语言已经切换成英文

11)确保当前屏幕为主页

12)当设备在运行测试用例是,不允许再动它

13)当CTS运行时不允许按下设备上任何物理按键,按下按键可能会干扰正常测试,从而导致测试失败

14)在执行CtsDelegatingAccessibilityService应用:

在repository/testcases文件夹下

打开服务 Setting>Accessibility>Delegating Accessibility Service

15)在执行administration测试包前需要执行以下两步

安装CtsDeviceAdmin应用

在repository/testcases文件夹下

打开服务:Setting>Security>Device Administrators >Enable

16)在执行CTS media压力测试前需将CTS media 问价拷贝到设备中,并进行调整

六、CTS的命令及运行

输入命令进入cts-tradefed文件所在的路径,确保一台设备已连接,在CTS命令控制台下课运行CTS脚本,如运行cts-tradefed的方式为:

#./cts-tradefed

1)查看执行测试计划

Cts-ft>list plans   //简化版 l  p

不同版本测试计划基本一样,可分七种

CTS:运行所有的兼容性测试用例,目前暂时不包括性能测试用例

Signature:对签名的所有的公共接口进行验证

Android:对Android的接口进行测试

Java:对Java核心库进行测试

VM:对Dalvik虚拟机进行测试

RefAPP:对参考应用进行测试

Performance:对性能进行测试

不明白可以执行help命令

2)查看有哪些测试包

Cts-tf>list packages  //简化版 l packages

执行某个测试包

Cts-tf>run cts --package<package_name>

测试util包

Cts-tf>run cts --package android.util

3)单独测试某个用例

Cts-tf>run cts -c <package name> -m <testcase_name>

4)查看结果

Cts-tf>list result //简化版  l  r

测试报告会在repository/results文件夹下

5)如何对失败的测试项进行再测试

Cts-tf>l r //查看测试结果

其次根据start time时间,确定你要的任务的session编号例如20

命令:

Add derivedplan --plan plane_name -s session_id -r [pass/fail/notExecuted/timeout]

例如:

Add derivedplan -plan plane_name -s 20 -r fail

最后执行命令开始测试

Run cts -plan <plane_nasme>

备注:后期再编辑添加实践图片进行详解

最后感谢联想许奔的《深入理解Android自动化测试》

简析Android 兼容性测试框架CTS使用的更多相关文章

  1. Android开源测试框架学习

    近期因工作需要,分析了一些Android的测试框架,在这也分享下整理完的资料. Android测试大致分三大块: 代码层测试 用户操作模拟,功能测试 安装部署及稳定性测试 代码层测试 对于一般java ...

  2. [转]Android开源测试框架学习

    近期因工作需要,分析了一些Android的测试框架,在这也分享下整理完的资料. Android测试大致分三大块: 代码层测试 用户操作模拟,功能测试 安装部署及稳定性测试 代码层测试 对于一般java ...

  3. Android兼容性测试CTS

     一.简介 为了确保Android应用能够在所有兼容Android的设备上正确运行,并且保持相似的用户体验,在每个版本发布之时,Android提供了一套兼容性测试用例集合(Compatibility ...

  4. android 兼容性测试 CTS 测试过程(实践测试验证通过)

    source: http://blog.csdn.net/jianguo_liao19840726/article/details/7222814 写这个博客的时候是为了记忆,建议大家还是看官方的说明 ...

  5. 【转】android 兼容性测试 CTS 测试过程(实践测试验证通过)

    原文网址:http://blog.csdn.net/jianguo_liao19840726/article/details/7222814 写这个博客的时候是为了记忆,建议大家还是看官方的说明,官方 ...

  6. 【转】Android兼容性测试CTS Verifier-环境搭建、测试执行、结果分析

    原文网址:http://www.cnblogs.com/zh-ya-jing/p/4452675.html CTS Verifier算是CTS的一部分,需要手动进行,主要用于测试那些自动测试系统无法测 ...

  7. 【转】Android兼容性测试CTS --环境搭建、测试执行、结果分析

    原文网址:http://www.cnblogs.com/zh-ya-jing/p/4396918.html 为了确保Android应用能够在所有兼容Android的设备上正确运行,并且保持相似的用户体 ...

  8. Android兼容性测试CTS Verifier-环境搭建、测试执行、结果分析

    CTS Verifier算是CTS的一部分,需要手动进行,主要用于测试那些自动测试系统无法测试的功能,比如相机.传感器等.由于硬件配置或其他原因,不同手机上部分测试项目被隐藏,也就是说CTS Veri ...

  9. Android兼容性测试CTS --环境搭建、测试执行、结果分析

    为了确保Android应用能够在所有兼容Android的设备上正确运行,并且保持相似的用户体验,在每个版本发布之时,Android提供了一套兼容性测试用例集合(Compatibility Test S ...

随机推荐

  1. h5分享页面打开APP

    项目中 直播app分享出来的直播h5页面 点击进入按钮:已下载app 就进入app,未下载跳转到下载页面 判断是安卓还是ios var u = navigator.userAgent; var isA ...

  2. Good Vegetable 4级算法题 分值: [320/3120] 问题: [8/78]

    1523 非回文 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 一个字符串是非回文的,当且仅当,他只由前p个小写字母 ...

  3. javaWeb学习总结(11)- 监听器(Listener)在开发中的应用

    监听器在JavaWeb开发中用得比较多,下面说一下监听器(Listener)在开发中的常见应用 一.统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听 ...

  4. R语言&页游渠道分析(转)

    对着满屏的游戏后台数据,需要快速了解数据特征,一种茫然无从下手的感觉? 本文在游戏后台数据中,如何通过R语言快速的了解游戏后台的数据特征,以及统计各个数据之间的相关系数,并通过相关图来发现其中相关系数 ...

  5. centos6.5 scala环境变量

    [root@m1 ~]# vi /etc/profile export SCALA_HOME=/usr/local/soft/scala-2.11.8export PATH=$PATH:$SCALA_ ...

  6. opencv基础到进阶(1)

    Opencv是一个用户基础非常多的视觉开发库,可以用来实现人脸识别等功能,由于涉及到大量的调用与计算,所以对硬件的条件要求很高,并且还需要时时刻刻注意内存溢出这个问题,怎么样?很刺激吧. 从这篇文章开 ...

  7. 网络编程3之TCP/IP协议

    在TCP/IP协议中,最重要的协议是[TCP.UDP.IP]协议 1.TCP/IP协议特点 1)Internet上不同系统之间互联的一组协议 2)为分散和不同类型的硬件提供通用的编程接口. 3)TCP ...

  8. Python一键升级所有 模块/package

    import os,time allPackage=os.popen('pip list') allPackage=allPackage.read() allPackage=allPackage.sp ...

  9. 《如莲春天》Java开发框架

    关于 如莲者,净洁如莲之意,希望打造一个简洁的系统框架.系统主要采用Spring相关技术,故取名:如莲春天.    如莲春天,包括一套系统界面.一个权限管理系统.一个CURD代码生成模块.一些基础模块 ...

  10. 关于Atlassian无法注册的问题,请看过来

    好多童鞋在用团队构建工具git的时候,必然用到git的可视化工具sourceTree来管理项目一些操作,那么当我们下载完sourTree的时候,会有一个选择,已有账户登录还是免费账户,免费账户只有三十 ...