手机大厂必备测试技能-CTS 兼容测试

01 何为CTS

相信小伙伴们都有用过各种款式的Android手机,如小米、魅族、华为、oppo、vivo,虽然他们的页面长的都不太一样,比如小米的长这样:

图片

魅族的:

在这里插入图片描述

oppo的:

在这里插入图片描述

还有垂死挣扎的锤子…

在这里插入图片描述

但是这些手机其实都是搭载的Android系统,只不过国内的手机厂商在原生Android的基础上进行修改/定制。其实原生的Android长这样:

图片

这么多手机厂商都要改造成自己的UI,甚至要对Android底层进行改动,难免不会改出什么问题。所以Google为了这些定制的系统能够符合统一的规范、兼容Android底层的API,就引入了CTS测试。

以下是其官方介绍
Compatibility Test suite系列兼容测试,Google定义了一个兼容性规范(Compatible Definition),而CTS就是为了确保某个测试符合该规范。从而基于Android的应用程序能在基于同一个api版本的设备上面运行。通过CTS测试的device可以获得android的商标,并且享受android market的权限。

02 为什么需要CTS

由于Google的开放策略,越来越多的终端厂商以及互联网企业加入到手机终端商的领域,加剧了Android移动终端的碎片化,导致出现基于Android客户端的App产品因为兼容性差,不能在用户手机上正常安装、运行错误、强制退出等问题,严重影响用户的体验。

通过CTS测试,可以保证

  • 让APP提供更好的用户体验,用户可以选择更多的适合自己设备的APP;
  • 让开发者设计更高质量的APP;
  • 通过CTS的设备可以运行Android market;

03 CTS配置

下载和配置CTS

官网:
http://source.android.com/compatibility/downloads.html

注意:此网站需要FQ

下载文件:(Android 4.4为例)

  • Android 4.4 Compatibility Definition Document (CDD)
  • Android 4.4 R3 Compatibility Test Suite (CTS) - ARM
  • Android 4.4 R3 Compatibility Test Suite (CTS) - x86
  • Android 4.4 R3 CTS Verifier - ARM
  • Android 4.4 R3 CTS Verifier - x86
  • Compatibility Test Suite (CTS)
  • User Manual CTS Media 1.1

配置CTS

  • 解压Compatibility Test Suite对应的压缩包
  • 将解压出来的android-cts文件夹,复制到SDK根目录中

04 CTS目录结构说明

图片

05 CTS测试流程

测试准备

step1:测试环境:

  • linux系统(最好是64位的ubuntu)

  • 需正确配置JAVA JDK , android SDK

step2:工具准备:

  • 将下载的CTS包解压到/data目录
  • 下载需要进行测试的软件版本(ROM)
  • 插入可用的SD卡,容量最好是大于1G
  • 插入可用的Sim卡,如果为双卡版本,需确保卡一的卡槽有可用的Sim卡.
  • 写入合法的IMEI号

step3:手机配置:

  • 手机恢复出厂设置(Settings→Backup and reset→Factory data reset)
  • 确保SD中有足够的空间(大于1G),可将SD格式化清空。
  • 确保手机里没有Google账号或者其他账号存在
  • 确保日期和时间的正确(开了Wifi或者数据连接以后会自动更新时间,时区选默认的)
  • 设置屏幕为常亮(Settings→Display→Sleep→Never)
  • 设置无锁屏(Settings→Security→Set up screen lock→None) 安装CtsDeviceAdmin.apk,(在android-cts/repository/testcases下,可用adb install CtsDeviceAdmin.apk),并进入Settings→Security→Device administrators开启里面的两个包

测试执行

进入到/android-cts/tools目录输入:./ cts-tradefed
进入测试环境
再执行run cts --plan CTS进行整体测试:
run cts -c android.app.cts.SystemFeaturesTest
测试过程持续时间超过10+小时
测试结果会生成在android-cts/repository/results目录中的 testResult.xml
Log日志文件位于android-cts/repository/logs目录下

06 CTS操作基本命令

图片

07 CTS测试结果分析

在这里插入图片描述

测试报告的fail项分为两类:

  • 一类是可以waive的,可以waive的项是谷歌自身的原因,经谷歌同意可以不用处理的项。另一类是需要我们分析修复的。
    关于可以waive的选项,可以waive的选项一般会有一个表格维护,这个表格会不定时更新,可主动向相关人员索取。
  • 如果不是google waive项,请查看log,在异常log的附近会有一些相关的信息,看能否找到原因
    如果在之前的版本上测试PASS,可定位一下OK版本和fail版本之间的代码提交,进而缩小排除范围
    ,有些时候想在测试包里面加一些LOG信息,可以自行编译工程代码的CTS,用来测试调试。
    若实在不能分析,可向平台商(如MTK/Qualcomm)寻求帮助。

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

  • 22
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大厂自动化测试流程通常包括以下几个主要步骤: 1. 需求分析:测试团队与产品团队合作,明确需求和功能,了解系统的预期行为。 2. 测试计划:制定详细的测试计划,包括测试范围、测试目标、测试环境、测试资源等。 3. 自动化测试工具选择:根据项目需求和技术栈,选择适合的自动化测试工具或框架,如Selenium、Appium等。 4. 脚本编写:根据测试计划和需求,编写自动化测试脚本,覆盖各种场景和功能。 5. 脚本维护:随着产品的迭代更新,及时维护和更新自动化测试脚本,以适应系统变化。 6. 自动化执行:将编写好的自动化测试脚本在指定的测试环境中执行,生成测试报告并进行结果分析。 7. 缺陷管理:对于发现的缺陷,及时记录并提交到缺陷管理系统中,跟踪缺陷的修复过程。 8. 定期回归:根据项目进度和需求变更,定期执行自动化回归测试,确保系统的稳定性和质量。 9. 性能测试:针对系统的性能指标,进行性能测试,如并发用户数、响应时间等。 10. 安全测试:对系统的安全性进行测试,如漏洞扫描、权限验证等。 11. 接口测试测试系统的接口功能和兼容性,确保接口的正确性和稳定性。 12. 集成持续集成:将自动化测试与持续集成流水线相结合,实现自动化构建、部署和测试。 以上是一般大厂自动化测试流程的主要步骤,具体的流程可能会因公司和项目的不同而有所差异。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值