安卓CTS官方文档之兼容性测试套件简介-attach
官方英文文档原文:https://source.android.com/compatibility/cts-intro.html
Compatibility Test Suite
兼容性测试套件
How does the CTS work?
CTS是如何工作的?
Figure 1. How to use CTS
图1. CTS使用流程
The CTS is an automated testing harness that includes two major software components:
CTS是一套自动化测试套件,它主要包含了两个软件组件:
-
The CTS test harness runs on your desktop machine and manages test execution.
-
CTS测试套件(框架)运行在你的桌面机器上以管理测试执行
-
Individual test cases are executed on attached mobile devices or on an emulator. The test cases are written in Java as JUnit tests and packaged as Android .apk files to run on the actual device target.
-
每个测试用例都是在挂载连接上主机的安卓移动设备或者模拟器上执行的。测试用例都是用Java编写的Junit单元测试,并且这些测试用例会被打包成安卓的.apk文件来在真实目标机器上执行。
Workflow
工作流程
This section summarizes CTS setup. Please refer to the CTS
User Manual for detailed instructions.
这一小节会对如何建立CTS测试进行概要说明。如果需要详细的指导文档的话请查看CTS用户手册。
-
Download the CTS and CTS media files. / 下载CTS兼容性测试套件和CTS兼容性测试媒体文件(天地会珠海分舵注:因为有些兼容性API的测试需要设计媒体播放功能)
-
Attach at least one device (or emulator) to your machine./ 把至少一个安卓设备(或者模拟器)连接到你的主机上面(天地会珠海分舵注:注意不仅仅是连上去,还要保证SDK等正确安装,可以使用adb操作该设备)
-
For CTS versions 2.1 R2 through 4.2 R4, set up your device (or emulator) to run the accessibility tests:/如果你的目标机器版本和对应所需要的CTS版本是2.1R2到4.2R4之间的话,请根据下面的步骤来先在你的目标机器(或模拟器)上配置运行辅助功能测试:
adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk
-
On the device, enable Settings > Accessibility > Accessibility > Delegating Accessibility Service/在目标设备上以下位置启动设置项: 设置>辅助功能>Delegating Accessibility Service。
-
For CTS 2.3 R4 and beyond, set up your device to run the device administration tests:/如果你的测试设备的安卓版本是2.3 R4以及以上的话,请根据下面步骤来运行设备管理测试:
adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk
-
On the device, enable the two
android.deviceadmin.cts.CtsDeviceAdminReceiver*
device administrators under Settings > Location & security >
Select device administrators / 在你的设备上面的以下位置使能android.deviceadmin.cts.CtsDeviceReceiver* 这两个设备管理器:设置>安全和隐私>设备管理器Note: Make sure the
android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver
stays disabled in the same menu. / 注意: 确保在同一界面上的android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver是在关闭状态的。
-
For CTS 2.3 R12 and beyond, the CTS media files must be copied to the device's external storage. Check section 4.2 of the latest CTS manual for further details on copying these files: / 如果你使用的设备是安卓2.3
R12及以上版本,相应的CTS媒体测试文件必须拷贝到设备的外存(sd卡)上面。关于考本的详情请查看最近的CTS手册的4.2节:-
Unzip the CTS Media zip file. / 将CTS测试媒体文件解包。
-
Run the following command. If no resolution is specified, the default maximum resolution of 480x360 is assumed: / 运行下面的命令。注意如果没有指定分辨率的话,将会假定使用的是480x360这个最高默认分辨率:
copy_media.sh [720x480|1280x720|1920x1080|all] [-s serial]
-
-
Launch the CTS. The CTS test harness loads the test plan onto the attached devices. For each test in the test harness: / 运行CTS。CTS测试套件会把测试计划加载到挂载上来的所有测试设备上。对于测试套件上的每一个测试:
-
The test harness pushes an .apk file to each device, executes the test through instrumentation, and records test results. / 测试套件会把该测试对应的一个.apk文件推送到目标测试设备上,然后通过instrumentation框架来运行该测试,并且会将测试结果记录下来。
-
The test harness removes the .apk file from each device. / 测试套件最后会在每个测试设备上删除掉该.apk文件。
-
-
Once all the tests are executed, view the test results in your browser and use them to adjust your design. You can continue to run the CTS throughout your development process. / 一旦以上所有测试都执行完毕后,你就可以在你的浏览器上查看对应的测试结果并使用它们来审核你的设计是否正确。你可以在你的整个开发过程中不停的运行CTS来验证你的设计。
Types of test cases
测试用例类型
The CTS includes the following types of test cases:
CTS包含以下几种测试用例:
-
Unit tests test atomic units of code within the Android platform; e.g. a single class, such as java.util.HashMap.
-
单元测试:测试在安卓平台中原子单元粒度的代码。比如测试一个如java.util.HashMap的类。
-
Functional tests test a combination of APIs together in a higher-level use-case.
-
功能测试:在一个更高层次的测试用例上面去测试APIs的组合
-
Reference application tests instrument a complete sample application to exercise a full set of APIs and Android runtime services.
-
应用参照测试:往一个示例应用中注入instrumentation框架来验证一整套APIs和安卓运行时服务
Future versions of the CTS will include the following types of test cases:
将来的CTS版本将会包含以下类型的测试用例:
-
Robustness tests test the durability of the system under stress.
-
健壮性测试:测试目标系统在一定压力下的可持久性
-
Performance tests test the performance of the system against defined benchmarks, for example rendering frames per second.
-
性能测试:测试系统在既定的基准点下的性能,比如测试安卓的帧渲染率。
Areas Covered
覆盖范围
The unit test cases cover the following areas to ensure compatibility:
单元测试用例将覆盖以下范围来对兼容性做出保障
Area 范围 |
Description 描述 |
---|---|
Signature tests 签名测试 |
For each Android release, there are XML files describing the signatures of all public APIs contained in the release. The CTS contains a utility to check those API signatures against the APIs available on the device. The results from signature checking are recorded in the test result XML file. 在每个发布的安卓版本中,都会有一个XML文件来描述所有包含的公开API的签名信息。 CTS包含有一个工具来检查验证该发布版本的API签名和目标设备上已有的API签名。 签名测试的测试结果会记录在xml格式的测试报告文档中。 |
Platform API Tests 平台API测试 |
Test the platform (core libraries and Android Application Framework) APIs as documented in the SDK Class Index to ensure API correctness, including correct class, attribute and method signatures, correct method behavior, and negative tests to ensure expected behavior for incorrect parameter handling. 测试SDK文档中Class Index指定的平台(核心库和安卓应用框架)APIs,包括测试类, 类成员属性和方法签名的正确性,类成员方法的正确性, 以及通过负面测试来保证在输入参数出错时的处理是符合预期的 |
Dalvik VM Tests Dalvik VM测试 |
The tests focus on testing the Dalvik Executable Format. 该测试主要是关注Dalvik可执行格式的测试 |
Platform Data Model 平台数据模型 |
The CTS tests the core platform data model as exposed to application developers through content providers, as documented in the SDK android.provider package: contacts, browser, settings, etc. 这类CTS测试用例测试的是平台通过Content Provider组件暴露给应用开发者的核心数据模型, 这些数据模型在SDK的 android.provider 包中有相应的定义,比如:联系人,浏览器,设置,等等。 |
Platform Intents 平台Intents |
The CTS tests the core platform intents, as documented in the SDK Available Intents. 这类CTS测试用例测试的是平台核心的Intens组件,这些是在SDK的Available Intents中进行定义的。 |
Platform Permissions 平台权限 |
The CTS tests the core platform permissions, as documented in the SDK Available Permissions. 这类CTS测试用例测试的是平台的权限控制,这些是在SDK的Available Permissions中进行定义的。 |
Platform Resources 平台资源 |
The CTS tests for correct handling of the core platform resource types, as documented in the SDK Available Resource Types. This includes tests for: simple values, drawables, nine-patch, animations, layouts, styles and themes, and loading alternate resources. 这类测试用例测试的是平台的核心资源类型处理的正确性, 这些是在SDK的Available Resource Types中进行定义的。 这些测试用例测试的资源类型包含以下方面:简单值类型, 可描绘资源类型,nine-patch资源类型,动画资源类型, 布局类型,风格资源类型以及主题资源类型和对可选资源的加载。 (天地会珠海分舵:后一句的翻译不敢完全确定,如果有更好的翻译版本的敬请提供,先谢过了) |
Item
|
Description
|
Warning
|
Author
|
天地会珠海分舵
|
转载请注明出处!
更多精彩文章请查看本人博客!
|
Blog Address
|
http://blog.csdn.net/zhubaitian
|
安卓CTS官方文档之兼容性测试套件简介-attach的更多相关文章
- 安卓CTS官方文档之兼容性测试套件简介
官方英文文档原文:https://source.android.com/compatibility/cts-intro.html Compatibility Test Suite 兼容性测试套件 Ho ...
- 安卓CTS官方文档之兼容性方案概览
兼容性方案概览 安卓的兼容性方案让安卓手机生产商能够很容易就开发中可兼容的安卓设备(天地会珠海分舵注:可兼容什么呢?就是可以兼容标准google提供的安卓系统可以支持的功能,以防手机生产商把开源的安卓 ...
- 微信小程序官方文档中表单组建button部分有关function(type)中type的个人理解
官方文档关于button组件的简介 xml页面挺容易理解,但js部分起初对整体写的形式都不太理解,随着逐渐阅读代码基本理解了 xml页面代码: <button type="defaul ...
- Spark官方文档 - 中文翻译
Spark官方文档 - 中文翻译 Spark版本:1.6.0 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 引入Spark(Linki ...
- CentOS7.3利用kubeadm安装kubernetes1.7.3完整版(官方文档填坑篇)
安装前记: 近来容器对企业来说已经不是什么陌生的概念,Kubernetes作为Google开源的容器运行平台,受到了大家的热捧.搭建一套完整的kubernetes平台,也成为试用这套平台必须迈过的坎儿 ...
- Spring Cloud官方文档中文版-客户端负载均衡:Ribbon
官方文档地址为:http://cloud.spring.io/spring-cloud-static/Dalston.SR2/#_spring_cloud_netflix 文中例子我做了一些测试在:h ...
- 《KAFKA官方文档》入门指南(转)
1.入门指南 1.1简介 Apache的Kafka™是一个分布式流平台(a distributed streaming platform).这到底意味着什么? 我们认为,一个流处理平台应该具有三个关键 ...
- Spring JMS 官方文档学习
最后部分的XML懒得写了,因为个人更倾向于JavaConfig形式. 为知笔记版本见这里,带格式~ 做了一个小demo,放到码云上了,有兴趣的点我. 说明:需要先了解下JMS的基础知识. 1.介绍 S ...
- HBase官方文档
HBase官方文档 目录 序 1. 入门 1.1. 介绍 1.2. 快速开始 2. Apache HBase (TM)配置 2.1. 基础条件 2.2. HBase 运行模式: 独立和分布式 2.3. ...
随机推荐
- 给定一个set字符和一个正数k,找出所有该做set它可以由长度构成k该字符串集合 print-all-combinations-of-given-length
// 给定一个set字符和一个正数k,找出所有该做set它可以由长度构成k该字符串集合 /* Input: set[] = {'a', 'b'}, k = 3 Output: aaa aab aba ...
- NUnit3 Test Adapter vs2015
NUnit的安装 前言:NUnit是什么? NUnit 是一个单元测试框架,专门针对于.NET来写的.NUnit是xUnit家族种的第4个主打产品,完全由C#语言来编写,并且编写时充分利用了许多.NE ...
- boostrap-非常好用但是容易让人忽略的地方------input-group-btn
1.正常的使用 <div class="form-group"> <div class="input-group"> <input ...
- 初步swift语言学习笔记8(保留了很多OC实现)
笔者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/32715833 转载请注明出处 假设认为文章对你有所帮助,请通过留言 ...
- ruby 删除文件夹(包括文件夹中的文件夹和文件)
def deleteDirectory(dirPath) if File.directory?(dirPath) puts "是文件夹"; Dir.foreach(dirPath) ...
- 手把手教你如何加入到github的开源世界! (转)
我曾经一直想加入到开源项目中,但是因为没有人指导流程,网上看了很多,基本都是说了个大概,如果你也是一个初出茅庐的人,那么,我将以自己提交的一次开源代码为例,教会你步入开源的世界. 1,首先登陆到htt ...
- cocos2dx tolua传递参数分析
cocos2dx tolua传递参数分析: tolua_Cocos2d_CCNode_addChild00 == void CCNode::addChild(CCNode *child) tolua_ ...
- .NET(C#):浅谈程序集清单资源和RESX资源
原文:.NET(C#):浅谈程序集清单资源和RESX资源 目录 程序集清单资源 RESX资源文件 使用ResourceReader和ResourceSet解析二进制资源文件 使用ResourceM ...
- 有趣 IOS 开展 - block 使用具体解释
Block 它是iOS于4.0新的程序语法之后,于iOS SDK 4.0之后,block应用几乎无处不在. 在其他语言中也有类似的概念,称为闭包(closure),实例object C兄弟swift ...
- android 推断应用程序是系统程序还是用户程序
直接上代码: AppInfo.java <span style="font-size:18px;">package com.example.packages; publ ...