GMS-Testing
一. 什么是GMS?
二. GMS Testing包括哪些?
三. 项目中的大体流程
一.什么是GMS?
官方说明:
GMS全称为Google Mobile Service,即谷歌移动服务。GMS是Google开发并推动Android的动力,也是Android系统的灵魂所在。
1 提供的服务
1.1 Gmail
1.2 Chrome
1.3 Google+
1.4 Google地图
1.5 YouTube
1.6 Google文件
1.7 Google翻译
1.8 Google Play store
2 基本介绍
GMS目前提供有Search、Search by Voice、Gmail、Contact Sync、Calendar Sync、Talk、Maps、Street View、YouTube、Android Market(ICS上更改为Play store)服务。
当用户使用谷歌服务的时候,谷歌可以把广告嵌入各种谷歌的服务中,比如:用户在使用谷歌地图的时候,就能发现搜索地名关键字的广告。在使用谷歌移动搜索的时候,不用说,当然也是有广告的。谷歌其实是拿用户的注意力来换取广告主的金钱。而且Android智能手机操作系统其实也就是谷歌把自己的服务主动放到了手机上,进一步巩固自己的市场地位。
3.级别
依据GMS,谷歌对Android手机给予不同程度的授权,把搭载Android系统的手机厂商分为三个级别,
1.免费使用Android操作系统,但不内嵌GMS;
2.内嵌部分GMS服务,但手机不能打上谷歌的商标;
3.内嵌所有的GMS服务,也可以使用谷歌商标。如果在Android手机中内置有谷歌GMS服务的话,是等同被谷歌官方认证过的产品。
个人心得体会:
1.谷歌手机服务我觉得是一套体系,包括谷歌原生的Android 系统,以及谷歌自己开发的一套给手机使用的应用软件;
2.谷歌通过一些列的要求文件(AOSP Spec)以及测试规则,来为客制化的Android系统进行认证,确保其可以兼容GMS,也为其他基于Android开发的应用做兼容性保障;
3.由于目前中国特殊的网络环境,所以国内的手机大多都停留在上述level 1的阶段,对于需要出口的手机,大多都是要过GMS认证的。
二.GMS Testing包括哪些?
1 CTS(Compatibility Test Suit):
官方说明(已经汉化):https://source.android.com/compatibility/?hl=zh-cn2 CTS Verifier:
官方说明(已经汉化):https://source.android.com/compatibility/cts/verifier?hl=zh-cn
(需要自备梯子,推荐一下6plat。)3 GTS(GMS Test Suit):
由于GTS测试所用的Test Package是由Google开发,发布的方式是:邮件通知合作伙伴,并提供SOP和下载地址,所以外部无法获取。需要收到SOP后,自行学习。
个人心得体会:
1 CTS:
CTS是一款针对Android APP-framework, 基于Image版本连续迭代的自动化测试框架。
它的目的是为了规范客制化的Android系统,满足Google对 framework API 和ASOP的要求,从而使系统有良好的兼容性,使应用开发更加快速便捷。2 CTS Verifier(简称CTS-V):
CTS-V 是一款手工测试工具,针对CTS自动化测试暂时不能做到的部分,包括Camera、Video、Sensor等API,进行补充测试。3 GTS :
GTS 主要是针对keybox(用于付费视频解锁)、其他security 部分以及AOSP规范进行的测试。
三.项目中的大体流程
项目中大体流程图:
个人心得体会:
1 由于CTS和GTS属于随Image版本迭代的自动化测试,而且Google会定期发布新Tool,废除旧的Tool。所以在Android项目的初期就要同步开发,来部署环境。等待开发版Image生成,立即开始进行调试,然后进行迭代测试;
2 因为CTS测试的结果会影响到CTS-V的测试,所以等待CTS测试结果比较稳定再进行CTS-V测试;
3 CTS-V对测试设备、环境和手法都有一些要求,后续补充。
总结
(我自己写这些目的,是把自己工作这几年的知识记录下来,顺便巩固一下。内容主要是关于GMS测试,以及在这个基础上学习的自动化测试。也希望能帮到有需要的人。第一次写难免会有遗漏和错误。。)
上面的内容,概述了GMS定义;介绍了GMS-Testing的组成部分;以及实际项目中的大概流程。
后续准备结合个人经验,
先简单介绍一下Google历来的GMS-Testing的版本特征和变化;
然后,从CTS开始,介绍一下测试环境的搭建和测试的细节问题;
再介绍一下CTS和GTS的自动化测试以及持续集成;
最后,随着测试Tool版本的更新,尽可能及时更新新Tool特性。