CTS、CTS Verify、GTS测试以及GMS认证

原文链接:https://blog.csdn.net/pangbianlaogu/article/details/80262184
https://www.jianshu.com/p/20c96d2957a7
https://blog.csdn.net/xiexie4827/article/details/51921559
https://www.jianshu.com/p/3b1fbefc93ae

目录

一、一些概念
二、GMS认证
2.1 认证背景
2.2 GMS认证目的
2.3 GMS认证要求
2.4 GMS认证流程
2.5 MADA协议申请流程
2.6 GMS认证-Android8.1认证新特性与要求
三、CTS测试
3.1 CTS测试介绍
3.2 CTS测试的目的
3.3 CTS测试运行原理
3.4 CTS测试套件目录文档结构
3.5 CTS测试环境准备
3.5.1 测试环境
3.5.2 测试准备工作
3.5.3 手机端配置
3.5 CTS测试流程
3.6 查看测试结果
3.6.1 测试结果存放路径
3.6.2 测试日志存放路径
3.7 Android8.x新增cts测试(VTS下测试GSI版本)
四、GTS测试
4.1 GTS测试介绍
4.2 GTS授权级别
4.3 GTS测试流程
4.3.1 手机环境准备
4.3.2 执行GTS测试
4.4 GTS测试结果展示
五、CtsVerifier测试
六、获取GMS认证

一、一些概念

① CTS测试

    以自动化测试为基础,测试Android系统的兼容性;

② CTS Verify

    一个手工测试的apk,完成自动化测试无法完成的操作(锁屏、蓝牙、摄像头等);

CTS Verify下载图标

③ GTS

    手机出口到国外,并且通过运营商出售,就i必须通过GTS测试;

④ GMS认证周期

    手机通过CTS测试、CTS Verify以及GTS测试之后,就可以拿到GMS认证。但是GMS认证周期较长,一般需要3个月至半年。

⑤ MADA协议

    全称Mobile Application Distribution Agreement(移动应用软件分发协议)。是谷歌和Android厂商之间签署的一个协议,根据该协议,手机厂商在推出采用Android设备前,必须预装所有Google应用,并且,要把Google Search、Google Play放在手机首屏,并以Google Search作为默认的搜索引擎。

二、GMS认证

2.1 认证背景

    手机没有GMS认证,那么对于手机出口商而言,就没有了生产的产品走不了运营商通道,所以在欧美等由运营商主导的手机市场,GMS认证是十分必要的。但是没有GMS认证,Google也不会做限制,只是进不了运营商市场,第三世界市场,出于成本考虑(GMS认证需要收费),也就没装GMS认证。

2.2 GMS认证目的

提高产品android系统的兼容性和稳定性
授权Google的手机APP和服务
授权使用Android LOGO
产品可以进入欧美市场
2.3 GMS认证要求

必须申请与Google签署MADA协议(网站操作)
产品必须使用7.0以上的安卓版本
产品必须依次通过CTS测试、CTS Verify测试以及GTS测试
产品还可以通过CE、FCC、BT以及WIFI等硬件认证(这一部分不是GMS认证的硬性指标)
2.4 GMS认证流程

申请谷歌MADA协议
产品做硬件测试
提交测试报告给谷歌审核
获得谷歌认证授权
2.5 MADA协议申请流程

开始:https://www.android.com/certified/partners/
填写公司基本信息
向谷歌发起MADA请求
谷歌评估审核
结束
yes
no

2.6 GMS认证-Android8.1认证新特性与要求
新增测试

Android7.x以及之前的版本,如果要过GMS认证,只需要完成CTS测试、GTS测试和CTS Verifier,如果全部通过,将软件送给google授权的实验室即可。

Android8.0以后,除了要完成默认版本的CTS测试、GTS测试和CTS Verifier之外,新增加了两个新的测试。

这两个新的测试需要在替换谷歌提供AOSP的system.img (GSI)的版本上进行,分别是:

VTS 测试
cts-on-gsi
新特性与新要求

认证要求

google Key

从Android O开始,必须实现一个硬件支持的密钥库,google要求使用Google key来进行认证。

Google key将以keybox.ml文件的方式提供给OEM厂商,包含以下内容:

请求keybox.ml时由OEM分配的设备唯一设备ID。
一个ECDSA认证密钥,采用PEM格式。
一个RSA认证密钥,采用PEM格式。

image.png
如何申请google key

官方说明如下:

OEMs will upload a set of device IDs and download an XML keybox file containing keys for those device IDs

实际操作中可能需要提交相关信息给google授权的GMS实验室,从还实验室获取相关的 google key 文件。

测试相关

CTS测试

1、Cts Media Files

版本要求 CTS Media 1.4 及以上版本

Media文件存放位置要求:在Android8.1的测试中,media文件要放在电脑中的/tmp/android-cts-media路径下,测试前不需要将Media文件拷贝到手机中,测试时会自动拷贝。如果/tmp/android-cts-media路径下没有media文件,将会从网上下载,由于文件比较大,比较耗时

三、CTS测试

3.1 CTS测试介绍

    CTS测试全称为系列兼容测试(Compatibility Test suite),CTS是为了测试手机是否符合google定义的兼容性规范(Compatibility Definition)。从而基于Android的应用程序能在基于同一个api版本的设备上面运行。通过CTS测试的设备可以获得Android的商标,并且享受Android Market的权限。 
    CTS测试是一个基于uiautomator安卓原生自动化框架运行的自动化测试。通过CTS测试,保证系统的安全性和稳定性。

3.2 CTS测试的目的

    由于Google系统的开源性,很多手机厂商基于安卓系统做出了深度优化,从而造成了安卓移动终端的碎片化,导致android终端的兼容性差的问题,严重影响用户体验。手机通过CTS测试,是市场得到了一个通过的规范: 

1. 让App提供更好的用户体验,用户可以选择更多的适合自己设备的app
2. 让开发者设计更高质量的app
3. 通过CTS的设备可以运行Android market
4. CTS是免费的,很简单

3.3 CTS测试运行原理

    在pc端安装CTS测试套件,安装完成后,就可以通过连接到pc端的数据线将测试用户发送至手机上,完成测试用例的执行,并且把执行结果返回给PC端。CTS测试套件下载连接如下:https://source.android.com/compatibility/cts/downloads

CTS测试原理

    需要下载文件有:对应手机系统、架构的的测试套件以及CTS Verify、Android Compatibility Defination Document(CDD)、Compatibility Test Suite(CTS) User Manual、CTS Media1.1(音视频资料)

下载文件展示

3.4 CTS测试套件目录文档结构

CTS目录结构
– docs
– logs 运行cs产生的log文件
– plans 运行计划
– results 测试结果
– testcases 测试用例配置
– respository
– resource 资源文件
– tools 运行工具
1
2
3
4
5
6
7
8
9
3.5 CTS测试环境准备

3.5.1 测试环境

① windows

windows环境,需要自己重写脚本
1. 电脑端配置JDK/SDK的环境
2. 将解压后的测试套件(文件名android-cts)拷贝至adt目录下的sdk目录

② Linux(推荐64位UBUNTU 10.04)

一般来说,linux上运行较为稳定,所以手机厂商都是在linux端跑cts测试
1. 电脑端配置JDK/SDK的环境
2. 将测试套件解压至pc端/data目录下

3.5.2 测试准备工作

下载需要进行测试的软件版本(ROM)
插入可用的SIM卡(双开手机,需确保卡1有sim卡)
写入合法的IMEI号(手机的身份证,每一个手机都会有唯一的一个IMEI号)
连接一个可翻墙的WIFI网络(可以使用香港专线,网络比较稳定)
3.5.3 手机端配置

手机恢复出厂设置
手机语言设置为英语
手机需常亮并取消锁屏
开启GPS
开启USB调试后勾选stay awake和allow mock location
安装CtsDeviceAdmin.apk(位于android-cts/repository/testcases),进入setting->security->device administrators的前两项
确保手机SD卡有>1G的存储空间
确保手机没有谷歌账号或其他账号存在
确保手机时间和日期设置正确(连接数据后,会自动更新时间,时区选择默认时区)
…(其余在CDD文档中有定义)
3.5 CTS测试流程

手机和PC连接,打开USB调试模式,用adb devices检查是否连接好手机
在/data进入android-cts/tools/目录,执行cts-tradefed脚本进入测试环境
在测试环境中输入以下命令进行整体测试
run cts –plan CTS

run cts -c android.app.cts.SystemFeaturesTest
1
2
3
注意: CTS测试会持续10+个小时

补充: CTS测试环境基本命令介绍

分类 命令 说明
Host help 基本命令帮助说明
help all 基本命令帮助说明
exit 退出控制台
Run run cts –plan test_plan_name 运行指定计划
run cts –package/-p 运行指定包
run cts –class/-c [–method/-m] 运行指定方法
run cts –continue-session session_ID 继续运行指定会话session_id
run cts [options] –serial/-s device_ID 运行指定设备
run cts [options] –shards number_of_shards 运行多个设备
run cts –help/–help-all 运行帮助
List l/list d/devices 列出连接的设备
l/list packages 列出所有测试包
l/list p/plans 列出所有测试计划
l/list r/results 列出已经保存的测试结果
3.6 查看测试结果

3.6.1 测试结果存放路径

android-cts/repository/results/testResult.xml
1
3.6.2 测试日志存放路径

android-cts/repository/logs/
1
日志文件展示

3.7Android8.x新增cts测试(VTS下测试GSI版本)
Android 8.0之后,由于平台架构的更改,GMS认证增加了新的测试项,包括VTS和针对GSI版本的CTS测试,本文主要介绍Android8.1针对GSI版本的CTS测试,VTS测试可参考Android VTS测试 。

测试环境配置

1、更换google的GSI

设置中打开 OEM unlocking 选项
设置中打开 USB debugging 选项
长按音量 + 和电源键进入fastboot模式
连接到电脑上,分别执行fastboot flashing unlock和fastboot oem unlock,
执行命令后需要选择音量 + 来确认unlock。
执行 fastboot 命令刷入google提供的 system.img (GSI):
fastboot flash system system.img(需要根据软件版本的信息来选择GSI版本)
重启: fastboot reboot
2、测试前准备

cts测试环境配置 : CTS测试配置

vts测试环境配置 :
安装 Python 开发工具包:sudo apt-get install python-dev
安装协议缓冲区工具(适用于 Python):sudo apt-get install python-protobuf protobuf-compiler
安装 Python 虚拟环境相关工具:sudo apt-get install python-virtualenv python-pip

Media 媒体包:

要求 CTS Media 1.4 及以上版本,在Android8.1的测试中,media文件要放在电脑中的/tmp/android-cts-media路径下,测试前不需要将Media文件拷贝到手机中,测试时会自动拷贝。如果/tmp/android-cts-media路径下没有media文件,将会从网上下载,由于文件比较大,比较耗时

运行针对GSI版本的CTS(8.0的和8.1有区别,请注意)

1、下载并解压vts测试工具包

2、切换到android-vts的位置下:
$ cd android-vts

3、进入android-vts目录下,运行vts测试的控制台程序
$ ./android-vts/tools/vts-tradefed

4、运行 cts-on-gsi 测试

run cts-on-gsi​​

四、GTS测试

4.1 GTS测试介绍

    谷歌移动服务测试套件(Google Mobile Services Test Suite),谷歌移动服务提供了Search、 Search by Voice、Gmail、Contact Sync、 Calendar Sync、Talk、 Maps、 Steet View、 YouTube、 Android Market (Play store)等服务,当用户使用谷歌时,谷歌可以把各种广告嵌入到谷歌的服务中。

4.2 GTS授权级别

    根据GMS,谷歌对android手机给与不同程度的授权,把搭载android系统的手机厂商分为3个级别: 

1. 免费使用Android系统,但不内嵌GMS
2. 内嵌部分GMS,但手机不能打上谷歌的商标
3. 内嵌所有GMS服务,也可以使用谷歌商标。如果在android手机中内置有谷歌GMS服务的话,是等同被谷歌官方认证的产品

4.3 GTS测试流程

    GTS的环境安装、执行、报告分析这一系列操作和CTS类似,只是GTS必须连接VPN。

4.3.1 手机环境准备

刷好GMS版本的ROM包
恢复手机出厂设置
设置手机、连接外网
插入SIM卡,打开移动数据
打开蓝牙
显示中睡眠时间显示最大
竖屏
语言选择英语
键盘选择谷歌键盘
打开定位、高精度
安全中锁屏选择None
时间将自动获取时间和日期关闭,选择太平洋时区、24小时制
在开发者模式中打开stay awake和USB debugging
4.3.2 执行GTS测试

开始全部GTS测试
run gts –plan GTS
1
单跑某一模块的GTS测试
run gts -plan ‘Module Name’ -t ‘class name’
1
接着某一次中断的gts测试跑
run gts –retry session_id
其中session_id可由lr查看
1
2
4.4 GTS测试结果展示

GTS测试结果展示

五、CtsVerifier测试
1.准备工作:

将GMS-5.1文件夹中的android-cts-verifier-5.1_r6-linux_x86-arm.zip压缩文件解压,找到android-cts-verifier文件夹,ctrl+alt+t打开终端,输入命令adb install CtsVerifier.apk安装ctsverifier.apk到手机上。

CAMERA:

包含Camera FOV Calibration、Camera Formats、CameraITS Test、Camera Intent、Camera Orientation、Camera Video,其中Camera FOV Calibration、Camera Formats、Camera Video包含很多项测试,每个像素点的测试,因此要完全测试完毕,并保证查看左右两边的图片或者视频一致才能通过。

CAR:

Car Dock Test:点ENABLE CAR MODEàCTS verifier—>Home键即可完成测试;

Clock

Alarms and Timers Tests:基本没有什么问题,但是需要细心的进行测试、

DEVICE ADMINISTRATION

  1. Policy Serialization Test:

注意:此项测试放在Keyguard Password Verification之后进行测试;测试过程:点击GENERATE POLICYàAPPLY POLICYà重启手机。

  1. Screen Lock Test

    首先设置手机有锁屏功能,点击FORCE LOCKàACTIVATEàok即可完成测试。

HARDWARE:

  1. GPS测试:打开wifi或者数据流量,开启location,屏幕保持常亮,在没有遮挡物的地方进行测试~

2.USB Accessory Test

GMS-5.1文件夹中的android-cts-verifier-5.1_r6-linux_x86-arm.zip压缩文件解压中找到cts-usb-accessory,使用终端打开,输入:sudo ./ cts-usb-accessory即可完成测试。

JOB SCHEDULER:

  1. Charging Constraints:

如果进入该项START TEST是灰色的, 插充电线点亮后,拔掉充电线,点击START TEST,下面pass以后,插入充电线,即可完成测试。

  1. Connectivity Constraints:

关闭wifi和数据流量后,点击START TEST完成测试后关闭。

3.Idle Mode Constraints:

关闭屏幕,然后再开启屏幕,点击START TEST测试完毕后关闭即可。

LOCATION:

注意:LOCATION中的测试主要是在“Seting”->Location->Mode。

  1. Battery Saving Mode Test

2.Device Only Mode Test

3.High Accuracy Mode Test

4.Location Mode Off Test

NETWORKING

1.Bluetooth Test: Bluetooth是需要两台同系统、同CTS Verifier版本的手机打开蓝牙,然后按照提示点击每一项,如果成功,那么就会收到另一台发送的消息,或者是另一台接受到发送的消息。其中一定要注意:当你第一次将两台机器匹配后,第二次需要先在设置–>蓝牙中解除绑定,然后再在CTSVerifier中绑定,才会传消息。

2.Wi-Fi Direct Test: Wi-Fi需要两台同系统、同CTS Verifier的手机连上公司的网,然后也是相互测试。

NOTIFICATION

根据测试提示在settingàSound&NotificationàNotificationàApp NotificationsàCTS Verifier路径下分别设置:Allow peeking和Treat as priority;(该项测试一般是测试软件问题的);

OTHER

1.Data Backup Test

Data Backup Test测试项的测试步骤:

    1.安装CTS Verifier

    2.插入有效的SIM card 

    3.使内置sdcard可用,(但不另插SD card).

    4.打开Wifi,并连接有效AP.

    5.进入CTS Verifier > 选择“Data Backup Test” > 选择 “OK” > 选择 “Generate Test Data” > 选择 “Settings” > 勾选“Back up my data”>点击Backup account>登录Google账户 >按“返回”键> 记录当前界面显示的数据。

    6.在PC端输入依次输入以下命令

      adb shell bmgr enable true 

      adb shell bmgr enabled

      adb shell bmgr transport android/com.android.internal.backup.LocalTransport

       adb shell bmgr run(执行完这条命令,留出一定时间进行备份)

       adb uninstall com.android.cts.verifier

      adb install CtsVerifier.apk

    7.  再进入CTS verifier > 选择“Data Backup Test” > 选择 “OK” >记录当前界面显示的数据,并与第一次记录的数据进行对比。如果两份数据相同,则备份成功,否则失败。

2.Screen Pinning Test

对于Screen Pinning Test,进行到第四个next时,一定要同时长按Back和Menu两个按键,直到看到指示消息才松手,然后就只需要点next直到提示成功为止。如果不行,就多尝试几次。

  1. Widget Framework Test

基本是可以测试通过的

PROJECTION TESTS

对于PROJECTIOIN TESTS 中的几项,按照要求去点击即可

SECURITY

1.Keyguard Password Verification

点击SET PASSWORDàUnlock selection选择:PASSWORDàChoose your passwordà输入密码àConfirm your password à确认输入的密码

点击CHANGE PASSWORD àConfirm your passwordà会提醒重新设置密码

锁屏看下是否是完成了锁屏密码的修改和确认,即可完成该项测试。

2.SUID File Scanner

点击进去,开始搜索文件,搜索完毕即可完成测试。

SENSORS

传感器是最容易失败的测试项目:将蓝牙和wifi先关掉,然后按照要求把对应的关掉,最好是去没有电子设备干扰的地方测试,然后按照上面的要求操作。其中注意关键字:bottom、top、back、facing分别指的手机底部、顶部、后面、屏面。点完next后要速度马上按要求去操作,动作规范点,成功的几率会高些。

STREAMING

连接翻墙的网络,进行测试播放视屏即可完成测试。
六、获取GMS认证

    通过GMS认证后,就可以申请到一个GMS的APK的包,可以将这些谷歌应用集成到手机系统里面。通过GMS认证的手机,可以在Googie play中看到如下内容:

GMS认证结果展示

  • 5
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值