当前位置:网站首页>谷歌CTS测试(cta测试)
谷歌CTS测试(cta测试)
2022-07-31 14:25:00 【全栈程序员站长】
大家好,又见面了,我是你们的朋友全栈君。
CTS测试简介
CTS兼容性测试的主要目的和意义在于使得用户在Android系统的应用过程中,有更好的用户体验,并展现出Android系统的优越特性;使得Android应用程序编写者更容易编写高质量的应用程序;充分展现Android Market的优势,让获得CTS认证的终端得到Android Market的使用许可.
测试环境搭建
- 测试包下载 一共有两个包需要下载(Compatibility Test Suite 和Media Files) Google每隔一段时间就会更新Compatibility Test suit测试包,一般公司会有专门的人去下载并共享这两个包,也可自行在 https://source.android.com/compatibility/cts/downloads.html上下载。Compatibility Test Suite分Android平台,目前最新的是6.0_R8, 而Media Files最新为CTS Media 1.2.
- 测试环境搭建 CTS一般是在linux系统上跑,比如Ubuntu.需正确配置JAVA JDK和Android SDK. 将CTS测试包解压到/data(推荐)目录,新建一个CTS目录,可按版本再细分,比如/data/CTS/6.0/R7,路径名不要有中文或者空格.
- 测试前准备工作
- 下载需要进行测试的软件版本
- 连接IPV6翻墙网络
- 插入可用的SD卡,容量最好大于1G
- 插入可用的Sim卡,如果为双卡版本,需确保卡一的卡槽有可用的Sim卡.
- 写入合法的IMEI号
测试手机配置
- 手机恢复出厂设置(Settings→Backup and reset→Factory data reset)
- 确保SD中有足够的空间(大于1G),可将SD格式化清空。
- 确保手机里没有Google账号或者其他账号存在
- 确保日期和时间的正确(开了Wifi或者数据连接以后会自动更新时间,时区选默认的)
- 设置屏幕为常亮(Settings→Display→Sleep→Never)
- 设置无锁屏(Settings→Security→Set up screen lock→None)
- 2.1_R2到4.2_R4之前,安装CtsDelegatingAccessibilityService.apk, (在android-cts/repository/testcases下,可用adb install安装),并进入Settings→Accessibility开启Delegating Accessibility Service.
- 安装CtsDeviceAdmin.apk,(在android-cts/repository/testcases下,可用adb install CtsDeviceAdmin.apk),并进入Settings→Security→Device administrators开启里面的两个包
- 将媒体文件(android-cts-media-1.2.zip解压出来的文件)拷贝到手机外部SD卡上,可使用脚本拷贝(在android-cts-media-1.0目录下执行bash copy_media.sh all)
- 确保开发者选项中的USB debugging,Stay awake,Allow mock locations三个选项已勾选。
- 设置系统语言为美式英语(Settings→Language &input→Language)
- 设置系统输入法为谷歌默认输入法 (Settings→Language&input→Default→English(US))
- 打开Wifi,打开数据连接,打开GPS
- 确保USB连接稳定
- 确保测试开始时时在Home界面
- 测试过程中,不要运行其他任务
执行测试
- 整体测试 进入/android-cts/tools,打开终端,用adb devices查看手机是否连上
如手机已连上,输入./ cts-tradefed进入测试环境 注意 若输入./cts-tradefed后出现如下错误(示例为在L版本上测试的)
[email protected]:/data/CTS/5.0_R2/android-cts/tools$ ./cts-tradefed
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/cts/tradefed/command/CtsConsole : Unsupported major.minor version 51.0说明是Java版本不匹配,L版本的CTS测试,Java需要1.7,请切换到1.7再测试。
输入测试命令
run cts --plan CTS即可进行整体测试
整个测试过程持续时间较长,可尽量选在晚上下班之后测试。 测试完成以后自动生成结果报告和Log,结果报告位于android-cts/repository/results目录下,用浏览器打开testResult.xml 即可看到测试结果。Log位于android-cts/repository/logs目录下。
- 单项测试
- 单项测试某个方法 由于整体测试过程中有时候会由于网络差等因素造成某些测试项fail,我们需要对这些fail项进行单独的测试。可通过运行run cts –c CName –m MName进行单项测试(CName表示类名,MName表示方法名) 对某一个fail项进行单项测试可执行如下命令: run cts -c libcore.java.net.InetAddressTest -m test_getByname
- 单项测试某个类 单独测试某个类 可用命令:run cts –c CName,如下为单独测试StreamingMediaPlayerTest类的命令 run cts -c StreamingMediaPlayerTest 注意 A和B单独测试的时候类名必须写全路径 C:单独测试某个包 可用命令:run cts –p PName,如下为单独测试android.media包的命令 run cts -p android.media 单项测试会单独生成一个测试报告,如果想融进整体测试报告中,可将整体报告testResult.xml中的fail的替换成notExecuted。然后运行run cts –continue-session session_ID, session_ID为整体测试的ID,可通过l r查看,如果要将Session 0的fail项融进整体报告 run cts –continue-session 0 关于更多命令的用法,使用help查看 为了排除环境等其他因素的影响,单项测试请至少测试三次
错误分析
1.错误项的分类 测试报告的fail项分为两类:一类是可以waive的,可以waive的项是谷歌自身的原因,经谷歌同意可以不用处理的项。另一类是需要我们分析修复的。 关于可以waive的选项,可以waive的选项一般会有一个表格维护,这个表格会不定时更新,可主动向相关人员索取。
2.常见错误项的分析处理
- 如果不是google waive项,请查看log,在异常log的附近会有一些相关的信息,看能否找到原因
- 如果在之前的版本上测试PASS,可定位一下OK版本和fail版本之间的代码提交,进而缩小排除范围
- 有些时候想在测试包里面加一些LOG信息,可以自行编译工程代码的CTS,用来测试调试。
- 若实在不能分析,可向平台商(如MTK)寻求帮助
提交正式报告注意事项
提交正式报告前需检查一下Root Processes,去掉不必要的信息
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/128467.html原文链接:https://javaforall.cn
边栏推荐
- 为什么要分库分表?
- The 232-layer 3D flash memory chip is here: the single-chip capacity is 2TB, and the transmission speed is increased by 50%
- 1小时直播招募令:行业大咖干货分享,企业报名开启丨量子位·视点
- 组合系列--有排列就有组合
- 自制的数据库安全攻防题,相关靶机自己制作
- el-tooltip的使用
- Redis 】 【 publish and subscribe message
- How to grab configuration information for DELL SC compellent storage system
- ML, DL, CV common problems sorting
- A detailed guide to simulating latency with SQL/JDBC
猜你喜欢
随机推荐
ML、DL、CV常见的问题整理
SetoolKit User Guide
五个维度着手MySQL的优化
Sentinel热点参数限流
Asynchronous processing business using CompletableFuture
以后面试官问你 为啥不建议使用Select *,请你大声回答他!
技能大赛训练题:交换机虚拟化练习
Open Inventor 10.12 Major Improvements - Harmony Edition
AWS implements scheduled tasks - Lambda+EventBridge
消息队列消息数据存储MySQL表设计
232层3D闪存芯片来了:单片容量2TB,传输速度提高50%
element-plus虚拟表格virtual-list组件中是怎么实现清理lodash.memoize缓存的?
1-hour live broadcast recruitment order: industry leaders share dry goods, and enterprise registration is open丨qubit · point of view
LeetCode只出现一次的数字
"Listen to me, thank you" can be said in ancient poetry?Tsinghua University has developed an artifact of "Searching Sentences According to Meaning", which can search for the famous sayings you want wi
Tortoise speed by "template"
The 232-layer 3D flash memory chip is here: the single-chip capacity is 2TB, and the transmission speed is increased by 50%
组合系列--有排列就有组合
技能大赛训练题:域用户和组织单元的创建
Open Inventor 10.12 重大改进--和谐版








