android 性能測试CTS篇
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篇的更多相关文章
- android 性能測试iozone篇
一:简单介绍 iozone是一个文件系统的benchmark工具, 用于測试不同的操作系统中文件系统的读写性能, 能够測试下面13种模式 0=write/rewrite 1=read/re-read ...
- Android性能測试 一些适用于Android Studio的代码审查和性能測试工具
导言: Android应用在CPU占用,内存消耗方面的性能指标是影响产品质量的重要因素,因为QQ管家,360手机助手等应用都提供直观的内存消耗,流量监控功能,致使用户比以往更加关注软件的性能,并以此进 ...
- android性能測试systrace
一:简单介绍 systrace 是 Android4.1 引入的一套用于做性能分析的工具. 基于 Linux 内核的 ftrace 机制(用于跟踪 Linux 内核的函数调用), 能够输出各个线程当前 ...
- Android单元測试之JUnit
随着近期几年測试方面的工作慢慢火热起来.常常看见有招聘測试project师的招聘信息.在Java中有单元測试这么一个JUnit 方式,Android眼下主要编写的语言是Java,所以在Android开 ...
- Window平台搭建Redis分布式缓存集群 (一)server搭建及性能測试
百度定义:Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对很多其它.包含string(字符串).list(链表).set(集合).zset(sort ...
- PAAS平台的web应用性能測试与分析
引言 为什么我会写这一篇博客,由于近期非常多京东云擎jae的用户反应一个问题就是他们部署在jae上面的应用訪问非常慢,有极少数应用甚至常常出现504超时现象.当然大家首先想到的是jae性能太差,这也是 ...
- mongodb3.0 性能測试报告 一
mongodb3.0 性能測试报告 一 mongodb3.0 性能測试报告 二 mongodb3.0 性能測试报告 三 測试环境: 服务器:X86 pcserver 共6台 cpu: 单颗8核 ...
- mysql主键设置成auto_increment时,进行并发性能測试出现主键反复Duplicate entry 'xxx' for key 'PRIMARY'
mysql主键设置成auto_increment时,进行并发性能測试出现主键反复Duplicate entry 'xxx' for key 'PRIMARY' 解决方法: 在my.cnf的[mysql ...
- 系统吞吐量、TPS(QPS)、用户并发量、性能測试概念和公式
PS:以下是性能測试的主要概念和计算公式,记录下: 一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗.外部接口.IO等等紧密关联.单个reqeust 对CPU消耗越高, ...
随机推荐
- 06-hibernate注解-一对多单向外键关联
一对多单向外键 1,一方持有多方的集合,一个班级有多个学生(一对多). 2,@OneToMany(cascade={CascadeType.ALL}, fetch=FetchType.LAZY ) / ...
- Sphinx-安装和配置
本例是在Linux下, 环境 CentOS6.5 + PHP5.6.8 + MySQL5.6.13 + Sphinx2.3.1-beta 到官网下载对应环境的安装包, 按照官方文档指定步骤进行安装 第 ...
- iOS触摸事件哦
主要是记录下iOS的界面触摸事件处理机制,然后用一个实例来说明下应用场景. 一.处理机制 界面响应消息机制分两块,(1)首先在视图的层次结构里找到能响应消息的那个视图.(2)然后在找到的视图里处理消息 ...
- 状压dp Mondriaan's Dream poj2411
超经典的一道题目,实现这题的方法也有非常多种 1.利用DFS建立矩阵,然后通过高速矩阵幂得到答案(运用于min(m,n)比較小.可是max(m,n)很大的情况) 2.利用dp状压解决 第一种在我的还有 ...
- Vim进阶指南
常用按键说明 按键 解释 移动光标 n+(Space) 向右移动n个字符 n+(Enter) 向下移动n行 nG 移动到第n行 gg 移动到第一行 G 移动到最后一行 0或Home键(Mac使用fn+ ...
- SQL 2005示例库(转载)
sql2005数据库实例 从网上找还得麻烦,转了过来,点击就可以下载! 在学习SQL2005中离开不了SQL2005示例数据库,AdventureWorks数据库下载安装,,northwind数据库下 ...
- scut协议配置工具初始化的一些问题
1.如果点击协议配置工具左上角的项目按钮没反应,说明数据库没有正确配置. 2.数据库创建脚本运行如果乱码,把utf-8改成ansi 3.如果ContractDB不存在就自行创建数据库. 4.使用sql ...
- redis源码学习_整数集合
redis里面的整数集合保存的都是整数,有int_16.int_32和int_64这3种类型,和C++中的set容器差不多. 同时具备如下特点: 1.set里面的数不重复,均为唯一. 2.set里面的 ...
- Android 开发手记二 C可执行程序编译实例(转帖)
http://www.cnblogs.com/gaozehua/archive/2011/09/02/2164077.html
- VS2015许可证过期
VS2015过期激活方法