当前位置: 首页 > article >正文

手机大厂必备测试技能有哪些?CTS 兼容测试首当其冲

这么多手机厂商都要改造成自己的UI,甚至要对Android底层进行改动,难免不会改出什么问题。

所以Google为了这些定制的系统能够符合统一的规范、兼容Android底层的API,就引入了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)寻求帮助。

最后:下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


http://www.kler.cn/a/158700.html

相关文章:

  • 【微服务】Spring AI 使用详解
  • 搜维尔科技:SenseGlove触觉反馈手套开箱+场景测试
  • Java项目实战II基于Java+Spring Boot+MySQL的共享汽车管理系统(源码+数据库+文档)
  • 网络安全之国际主流网络安全架构模型
  • 剧本杀门店预约小程序,解锁沉浸式推理体验
  • 嘴尚绝卤味独特的口感
  • Jinja2使用Layui报 “d is not defined“
  • ASEM工控机维修工业电脑控制器维修PB3400
  • 【Vulnhub 靶场】【HackathonCTF: 2】【简单】【20210620】
  • 龙芯loongarch64服务器编译安装maturin
  • 外包干了8个月,技术退步明显.......
  • 什么是上采样和下采样?
  • Java8实战-总结50
  • rcssci包横空出世,限制性立方样条全自动切点靓图
  • 【计算机系统基石与Linux进程管理深度解析】
  • 【无标题】什么是UL9540测试,UL9540:2023版本增加哪些测试项目
  • UE4 UE5 使用SVN控制
  • C#:文件和文件夹的相关操作详解
  • CTF特训日记day(4-6)
  • 代码随想录算法训练营第24天|● 理论基础 ● 77. 组合
  • 代码随想录算法训练营 ---第五十五天
  • unity 2d入门飞翔小鸟按钮点击功能且场景切换(二)
  • QT中的 容器(container)-大全
  • 基于SpringBoot的校园互助网站
  • Understanding Computer Hardware
  • 【已验证】SqlBulkCopy 执行批量插入的时候报超时问题-解决办法