CTS框架手册
1、为什么需要兼容性测试(以下称CTS)?
1.1、让APP提供更好的用户体验。用户可以选择更多的适合自己设备的APP。让APP更稳定。
1.2、让开发者设计更高质量的APP。
1.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。
测试用例的类型
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等