(现在假设Host端环境已经架设好,准备进行测试,基本流程如下)
这个来源比较多。可以是:
- 上级安排
- 定期测试
- 有特定的change需要验证
- 等等
可以根据来源不同,来判断优先级。
这个没有太多好说的,主要注意以下两条:
- 不同项目的Image,最好放在不同的文件夹下,避免混淆
- Image 一般比较大,最好准备1T以上的硬盘
由于有些版本的Image,自身问题。
导致:开机卡logo;开机进fastboot;卡机进android无限重启等现象。
如果无法正常开机,就需要先debug,再换版测试。
在项目初期进行测试的时候,容易出现基本功能,比如Bluetooth,WiFi,Camera等功能不可用的情况。
刷完机后,最好进行基本功能验证后再测试。
如果有问题,就再换版测试。
这个前面提过,官方写的非常详细。我粘贴一下:
这个确实很重要。
因为USB供电和数据线本身的原因,会导致设备offline,进而导致测试失败。
所以建议如下:
使用比较新的,正规的USB数据线;
使用电脑的后置USB口连接数据线;
使用USB-hub时,选择自带电源功率大的类型。
参考如下:
链接: https://pan.baidu.com/s/1nv1JPot 密码: 6hw5
根据以往经验,在Android 7.0上3台测试机shared CTS测试需要2天,也就是2x3=6。4台机器大概是1.5天。其他情况下,自己评估一下吧。
在Android 7.0以下的版本,3台测试机shared CTS测试只需要1天。其他情况下,自己算一下吧。
首先介绍几个概念:
-CTS理论上需要所有的测项全部Pass,才能获得Google的approve,允许Android 手机出货。
-实际上,由于CTS tool检查机制,以及security path的更新,会导致一些信息不同步的问题。简单的说,就是可能上了Google提供的新版security path,而CTS检查的是旧的值。就会造成与预期不符的CTS Fail。这一类fail会得到Google waive。
-除了上面提到的情况,开发过程中的修改,也会与CTS要求不符,导致fail,这种fail就需要进行测试,及时发现,及时解决。
那么怎么样是符合预期呢?
1.测完所有的测试项目。比如说CTS 7.1r9有443486项,295个Moudle。这些需要全部执行。
2.fail项只能包含如上提到的,经过Google waive 的fail。
实际执行CTS测试的时候往往状况比较多,比如说会出现如下情况:
遇到这类情况,就需要认为的进行USB重连和调试网络的操作。
给测试机做factory reset和重烧 syestem.img是比较常用的方法。
得到符合预期的CTS报告,就可以准备打包送给Google了,这里补充两点:
开发初期由于android系统和CTS框架的稳定性问题,往往会碰到一些问题,比如说:
鉴于有上面这些问题,所以在开发初期的时候,建议采取一些策略:
拿一版基本功能ready的Image进行测试,直到跑出完整的report。顺便也能直到这一版CTS tool的测项数量。并在今后的版本上对failed项目进行retry,直到结果的failed项目少于100时,再去整测CTS。
CTS测试项目数量庞大,整测消耗的时间也比较长。
在旧版本的fail项目,修复后需要在新版上验证,再进行送测。
在复验的时候,一般有两种情况:
1.别人跑了一版CTS,结果有fail项。自己再测试一下,排除环境问题。
这时候需要拿到跑fail生成的report,复制到对应CTS环境的results路径下,并解压。
然后,刷好对应Image,进行retry。
retry命令介绍如下:
-r, –retry [session ID] retry a previous session.
–retry-type used with retry, retry tests of a certain status. Possible values include “failed”, “not_executed”, and “custom”. Valid values: [FAILED, NOT_EXECUTED, CUSTOM]
2.旧版结果有fail项。新版需要确认是否修复。
对于这种情况,因为版本号不一样所以retry命令不再适用了,当然非得用retry命令也是可以的,但是需要改reprot里的build-fingerprint。
不过不建议这么做。因为有更方便的方法,就是用add subplan 命令。
add subplan命令介绍如下:
Add:
a/add s/subplan: create a subplan from a previous session
Options:(–是两个-,这里有显示问题,也可以在tradefed下敲help add查看帮助)
–session : The session used to create a subplan.
–name/-n : The name of the new subplan.
–result-type : Which results to include in the subplan. One of passed, failed, not_executed. Repeatable.
按照上面的方法新建subplan,然后使用: run cts –subplan <刚才创建的subplan name> 即可。是不是非常方便呢。