原文网址:http://blog.sina.com.cn/s/blog_416166e90102v6bi.html

兼容性测试套件(CTS)框架用户手册

1、为什么需要兼容性测试(以下称CTS)?

2、怎么样才能让我的设备变成兼容的。

2.1、与Android Compatibility Definition文档(以下简称ACD)匹配

2.2、通过CTS测试

2.3、提交报告

3、CTS的工作原理

3.1、工作流程

3.2、测试案例类型

3.3、目前的测试覆盖面

4、设置和使用CTS

4.1、配置CTS

4.2、设置您的设备

4.3、使用CTS

4.4、选择CTS计划

5、 解释一下测试结果

6、发行说明

6.1、一般

6.2、已知问题

7、附录:CTS控制台命令参考

 

1、为什么需要兼容性测试(以下称CTS)?

1、让APP提供更好的用户体验。用户可以选择更多的适合自己设备的APP。让APP更稳定。

2、让开发者设计更高质量的APP。

3、通过CTS的设备可以运行Android market。

另外,CTS是免费的,而且很简单。

2、怎么样才能让我的设备变成兼容的?

2.1、与Android Compatibility Definition文档(以下简称ACD)匹配

先看一下与你的系统版本相匹配的ACD,文档中描述了你需要具备的软件和硬件参数。

2.2、通过CTS测试

CTS是开源的测试框架,使用它来测试你的设备是否具备兼容性。

2.3、提交报告

你可以把测试结果发送给cts@android.com。当你提交了一个CTS报告时,你还可以要求访问Android Market.我们正在准备专门用途测试和认证的网站和相应服务,好了之后会通知大家的。

3、CTS的工作原理

CTS主要包含两个组件:

运行在PC上的测试框架组件。主要用来管理测试用例(test case)的执行。

运行在设备或模拟器上的测试用例。这些用例用JAVA写成的APK文件。

3.1、工作流程

1、可以从源码编译CTS,也可以从网站下载编译好的CTS

2、安装配置CTS。

3、把设备连接到PC上。

4、运行CTS。CTS会把相应的测试用例(也就是一个APK文件)传送到设备上并通过instrumentation运行,然后记录运行结果,最后删除测试用例。

所有的测试用例执行完毕后,可以参照测试结果重新调整或优化系统。然后继续运行CTS测试。

5、测试通过以后,你可以把CTS生成的结果(就是result下面那个以测试时间命名的.zip文件)提交给cts@android.com。


3.2、测试案例类型

CTS包含下面三种级别:

1、单元级。测试Android平台上的代码单元。比如,一个java.util.HashMap这样的类。

2、功能级。多个API组合而成的一个更高级的功能。

3、程序级。通过运行一个简单的APP来执行一个API集合和Android运行时服务。

未来版本还会包含下面的类型:

1、强度测试。测试系统在高CPU运算之下的稳定性。

2、效率测试。比如每秒渲染的帧数。

3.3、目前的测试覆盖面

目前,为了确保兼容,测试用例覆盖了下面的这些范围

1、Signature

对每个Android产品,都有一些XML文件来描述所有的公开API。CTS包含了一个工具来检测这些API签名中包含的API是否都在系统中被支持。

2、Platform

测试SDK文档中描述的平台API,比如core libraries,Android Application Framework等。要求这些API可以提供:

正确的类、属性、方法签名、方法行为、错误参数处理方式

3、Dalvik VM

专门针对Dalvik Vm的测试。

4、Platform Data Model

平台通过ContentProvider提供给开发者使用的数据,比如:Contacts,Browser,Settings等。

5、Platform Intents

平台提供的用于核心功能的Intent。

6、Platform permission

平台提供的一些重要APP权限

7、Platform Resources

simple values,drawables,nine-patch,animations,layouts,styles and themes,loading alternate resources等

4、设置和使用CTS

4.1、配置CTS

注:配置和运行CTS步骤在4.0版本中有更改。

要运行CTS,请确保你的机器上安装有adb的最新副本。

要安装ADB,下载并安装Android SDK工具。然后添加SDK平台工具组件。

确保“adb”是在你的系统路径。

例如:

export PATH=$ PATH:/ home/myuser/android-sdk-linux_x86/platform-tools

4.2、设置您的设备

CTS只能在用户设备(consumer devices)上执行。

下面的这些说明很重要,配置不当的话可能导致测试超时或测试失败:

1、你要测试的设备应运行一个user build(Android 4.0及更高版本)从source.android.com

2、请参阅http://developer.android.com/tools/device.html来设置您的设备。

3、在你运行CTS前,请确保你的设备已经烧入了一个user build (Android 4.0及更高版本)。

4、在运行CTS测试之前还需要通过Settings->Speech Synthesis->Install voice data来下载TTS(Text  to Speech)文件。如果没有安装Android Market的话,需要手动安装。

5、确保设备有一个SD卡插入且卡是空的。因为CTS可能修改/删除SD卡上的数据。

6、在设备上做一次恢复出厂设置(Settings->SD Card & phone Storage->Factory data reset)。注意:这会删除设备上的所有用户数据。

7、确保设备没有处在任何lock pattern之下(取消Settings->Security&location->Require Pattern这个选项)

8、确保“USB调试”选项被选中(Settings > Developer options > USB debugging)。

9、请确保” Stay Awake” 被选中(Settings > Developer options > Stay Awake )

10、确保Settings > Developer options > Allow mock locations被设置为true

11、确保设备连接到一个正常运作的Wi-Fi网络(设置>WIFI网络)

12、。确保设备在CTS开始的时候显示主屏幕(按HOME按钮)。

13、 当一个设备在进行测试,绝不能执行其它任务。

14、 CTS运行时,不要按任何键,在测试设备上按键或触摸屏幕会干扰测试运行,并可导致测试失败。

15、设置易访问性测试:

1、Adb  install  android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

2、在设备上,启用Settings > Accessibility > Delegating Accessibility Service

16、设置设备管理测试:

1、 Adb  install android-cts/repository/testcases/CtsDeviceAdmin.apk

2、在设备上,启用Settings > Security > Device Administrators >

android.deviceadmin.cts.CtsDeviceAdmin* settings

17、根据下面的说明,使用ADB拷贝CTS媒体文件到您的设备中:

4.3、使用CTS

运行一个test plan需要:

1、确保你至少有一个设备连接到PC上。启动CTS控制台通过运行CTS tradefed脚本,例如

$  ./ Android-cts/tools/ CTS-tradefed

2、你可以通过执行start –plan CTS来执行默认的test plan。这个test plan包含所有的测试用例。

键入list plans来查看repository的测试计划(test plans)列表,键入list packages来查看repository的测试包(test packages)列表。

通过CTS命令参考或键入help来查看支持命令的完整列表。

3、或者,您可以在命令行中执行CTSplan使用用CTS  tradefed  run  cts  --plan

4、您应该检验控制台上报告的进展和成果。

4.4、选择CTS计划

当前CTS版本中,一共包含下面7个test plan。

1、CTS

包含所有的测试用例,大约会在设备上执行17000个测试。不包含性能测试。

2、Signature

包含对所有公开API的签名认证。

3、Android

包含对Android平台API的测试。

4、Java

包含对Java核心库API的测试。

5、VM

包含对Dalvik Vm的测试。

6、RefApp

包含对相关应用程序的测试

7、Performance

包含对系统性能的测试。

这些可以通过之前提到的run  CTS命令执行。


5、 解释一下测试结果

测试结果被放在:$CTS_ROOT/repository/results/.zip

在这个ZIP文件中,testResult.xml文件包含了真正的测试结果,用浏览器打开这个文件可以看到下面这样的效果。

其中,“device information”部分提供了设备和固件的细节(如make,model,firmware build,platform等)和设备的硬件配置(屏幕参数、键盘、屏幕类型等)。

另外,“test summary”部分提供了test plan的执行细节描述,包含CTS plan name和执行的开始、结束时间。还有测试结果的统计,包含测试通过、失败、超时、不能执行的个数。

下面的这个表格统计了一个包中的测试用例有多少测试通过。

这个表格的后面还跟着对执行结果更具体的描述。

这个报告列出了test package,test suite,test case和执行的测试,还有测试执行的结果:通过、失败、超时、未执行。当测试失败时,可以在XML文件中找到stack trace,为了让执行结果更简洁,这些stack trace没有被包含进来。用文本编辑器查看XML文件,在里面搜索一下标签和标签就可以了。

6、发行说明

6.1、一般

●注意:在Android4.0版本的CTS测试已经有很大的改变。

已加入了一些新的特点包括分割CTS测试使其运行在多个并行设备上,以及更快的性能。

●本CTS版本包含约17,000测试。

●在你开始CTS测试,请确保按照4.2“Setting up your device”来设置。不遵守这些指示可能导致测试超时或失败。

6.2、已知问题

7、附录:CTS控制台命令参考

【转】兼容性测试套件(CTS)框架用户手册的更多相关文章

  1. 安卓CTS官方文档之兼容性测试套件简介-attach

    官方英文文档原文:https://source.android.com/compatibility/cts-intro.html Compatibility Test Suite  兼容性测试套件 H ...

  2. 安卓CTS官方文档之兼容性测试套件简介

    官方英文文档原文:https://source.android.com/compatibility/cts-intro.html Compatibility Test Suite 兼容性测试套件 Ho ...

  3. 简析Android 兼容性测试框架CTS使用

    一.什么是兼容性测试? 1)为用户提供最好的用户体验,让更多高质量的APP可以顺利的运行在此平台上 2)让程序员能为此平台写更多的高质量的应用程序 3)可以更好的利用Android应用市场 二.CTS ...

  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

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

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

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

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

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

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

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

随机推荐

  1. Linux企业级项目实践之网络爬虫(22)——编写爬虫系统服务控制脚本

    需求:1.可通过 service spider start|stop|status|restart 命令对服务进行控制2.spider服务可开机自启动 start() { echo "sta ...

  2. bzoj3039 玉蟾宫

    Description 有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地.这片土地被分成N*M个格子,每个格子里写着'R'或者' ...

  3. tomcat动态映射路径

    写了一个工具类,将上传文件功能保存文件的目录移到webapps目录外面,通过动态生成xml映射文件到tomcat\conf\Catalina\localhost目录下从而实现目录映射.可以被http直 ...

  4. Android项目中gen文件下R文件无法生成的解决的方法

    帮一个网友解决R文件无法生成的问题,搜集了些材料特整理例如以下,刚開始学习的人參考他人代码时极易出现此种问题,一般都是xml文件出错,无法被正确解析. gen文件夹无法更新,或者gen文件夹下的R.J ...

  5. C/C++变量命名规则

    变量命名规则是为了增强代码的可读性和easy维护性. 变量命名规则: 一.用最短字符表示最准确的意义. 二.使用变量前缀. 1.  整型前缀 int               nId;        ...

  6. swift调用相机和相册

    简单实现swift调用相机和相册的功能,分享代码与学习swift的童鞋共同进步 import UIKit class ViewController: UIViewController,UIImageP ...

  7. Android UI开发详解之ActionBar .

    在Android3.0之后,Google对UI导航设计上进行了一系列的改革,其中有一个非常好用的新功能就是引入的ActionBar,他用于取代3.0之前的标题栏,并提供更为丰富的导航效果. 一.添加A ...

  8. Javascript高级程序设计读书笔记(第六章)

    第6章  面向对象的程序设计 6.2 创建对象 创建某个类的实例,必须使用new操作符调用构造函数会经历以下四个步骤: 创建一个新对象: 将构造函数的作用域赋给新对象: 执行构造函数中的代码: 返回新 ...

  9. AVL树插入和删除

    一.AVL树简介 AVL树是一种平衡的二叉查找树. 平衡二叉树(AVL 树)是一棵空树,或者是具有下列性质的二叉排序树:    1它的左子树和右子树都是平衡二叉树,    2且左子树和右子树高度之差的 ...

  10. Link all references for a local rename (does not change references in other files)

    这是一个十分easy的问题 错误原因  : import  Android.R; 把这句话去掉 ctrl + shift+o  引进一个  项目对应的R文件 R存在于gen文件夹下 可以找到 layo ...