CTS介绍



一、CTS简单介绍

CTS 全称Compatibility Test Suite兼容性測试工具。

当电子产品开发出来。并定制了自己的Android系统后,必需要通过最新的CTS检測。以保证标准的android应用能执行在该平台下。

通过了CTS验证。须要将測试报告提交给Google,已取得android market的认证

二、为什么须要CTS測试?

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTYyNDczMTE4Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

1、让APP提供更好的用户体验。用户能够选择很多其它的适合自己设备的APP。让APP更稳定。

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

3、通过CTS的设备能够执行Android market。

三、怎么样才干让我的设备变成兼容的?

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTYyNDczMTE4Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

1、与Android Compatibility Definition文档匹配,文档列举了兼容性设备的软硬件特性

2、通过CTS測试。CTS是开源的測试框架,使用它来測试你的设备是否具备兼容性。

3、提交报告,測试完CTS后,把測试结果发送给cts@android.com。同一时候还能够申请訪问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)提交给cts@android.com。

六、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文件夹

部分结果见下图:

android 性能測试CTS篇的更多相关文章

  1. android 性能測试iozone篇

    一:简单介绍 iozone是一个文件系统的benchmark工具, 用于測试不同的操作系统中文件系统的读写性能, 能够測试下面13种模式 0=write/rewrite 1=read/re-read ...

  2. Android性能測试 一些适用于Android Studio的代码审查和性能測试工具

    导言: Android应用在CPU占用,内存消耗方面的性能指标是影响产品质量的重要因素,因为QQ管家,360手机助手等应用都提供直观的内存消耗,流量监控功能,致使用户比以往更加关注软件的性能,并以此进 ...

  3. android性能測试systrace

    一:简单介绍 systrace 是 Android4.1 引入的一套用于做性能分析的工具. 基于 Linux 内核的 ftrace 机制(用于跟踪 Linux 内核的函数调用), 能够输出各个线程当前 ...

  4. Android单元測试之JUnit

    随着近期几年測试方面的工作慢慢火热起来.常常看见有招聘測试project师的招聘信息.在Java中有单元測试这么一个JUnit 方式,Android眼下主要编写的语言是Java,所以在Android开 ...

  5. Window平台搭建Redis分布式缓存集群 (一)server搭建及性能測试

    百度定义:Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对很多其它.包含string(字符串).list(链表).set(集合).zset(sort ...

  6. PAAS平台的web应用性能測试与分析

    引言 为什么我会写这一篇博客,由于近期非常多京东云擎jae的用户反应一个问题就是他们部署在jae上面的应用訪问非常慢,有极少数应用甚至常常出现504超时现象.当然大家首先想到的是jae性能太差,这也是 ...

  7. mongodb3.0 性能測试报告 一

    mongodb3.0 性能測试报告 一 mongodb3.0 性能測试报告 二 mongodb3.0 性能測试报告 三 測试环境: 服务器:X86 pcserver   共6台 cpu:  单颗8核 ...

  8. mysql主键设置成auto_increment时,进行并发性能測试出现主键反复Duplicate entry 'xxx' for key 'PRIMARY'

    mysql主键设置成auto_increment时,进行并发性能測试出现主键反复Duplicate entry 'xxx' for key 'PRIMARY' 解决方法: 在my.cnf的[mysql ...

  9. 系统吞吐量、TPS(QPS)、用户并发量、性能測试概念和公式

    PS:以下是性能測试的主要概念和计算公式,记录下: 一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗.外部接口.IO等等紧密关联.单个reqeust 对CPU消耗越高, ...

随机推荐

  1. hibernate 映射实例 学生 课程 成绩

    学生和课程是多对多,一个学生的一个课程只能对应一个成绩. 所以学生和课程多对多,其中间表多了一个成绩字段. 可以这样设计: 学生和课程通过中间表--成绩,多对多映射.     手动建中间表语句: cr ...

  2. Hadoop生态圈介绍及入门(转)

    本帖最后由 howtodown 于 2015-4-2 23:15 编辑 问题导读 1.Hadoop生态圈介绍了哪些组件,分别都是什么? 2.大数据与Hadoop是什么关系? 本章主要内容: 理解大数据 ...

  3. jdbc调用 oracle 存储过程操作

    创建有参存储函数findEmpNameAndSal(编号),查询7902号员工的的姓名和月薪,[返回多个值,演示out的用法]当返回2个或多个值,必须使用out符号当返回1个值,就无需out符号 cr ...

  4. R语言的if-else

    语法问题,类似于for函数使用时必须把"{"放在当前行,而不可以独占一行.R的特色. 具体你的这个问题可以尝试 x <- 5 if (x>0){ print(" ...

  5. Linux上寻找并杀死僵尸进程

    转载: http://blog.csdn.net/shanzhizi/article/details/47320595 linux服务器上,多少会出现一些僵尸进程,下面介绍如何快速寻找和消灭这些僵尸进 ...

  6. .Net 程序员面试 C# 语言篇 (回答Scott Hanselman的问题)

    过去几年都在忙着找项目,赶项目,没有时间好好整理深究自己在工作中学到的东西.现在好了,趁着找工作的这段空余时间,正好可以总结和再继续夯实自己的.Net, C#基本功.在05年的时候,Scott Han ...

  7. C#元祖Tuple的事例

    数组合并了同样类型的对象.而元祖合并了不同类型的对象.元祖起源于函数编程语言(F#) NET Framework定义了8个泛型Tuple(自NET4.0)和一个静态的Tuple类,他们作用元祖的工厂, ...

  8. JS高程3:Ajax与Comet-进度事件、跨源资源共享

    有以下 6 个进度事件  loadstart:在接收到响应数据的第一个字节时触发.  progress:在接收响应期间持续不断地触发.  error:在请求发生错误时触发.  abort:在因 ...

  9. 基于Html5+HLS协议播放符合部标1078协议的实时流媒体视频

    由于现在主流的部标GPS和1077视频监控平台,都是BS架构,在网页上播放视频,早期的很多平台用的都是ActiveX控件的形式,依赖于IE浏览器,需要降低浏览器的安全设置,而且非常难用.同时由于win ...

  10. jquery仿jquery mobile的select控件效果

    不说废话.直接上代码 //仿jQuery mobile Select控件 //使用方法box为容器id,_id指控件id,selectvalue为选中值,Value为当前值 function Sele ...