概述
-s 指定某个设备
-m 指定某个模块
-t 指定模块中的某一项
ITS
ITS:Android 相机图像测试套件,是 Android 兼容性测试套件 (CTS) 验证程序的一部分,其中包含用于验证图像内容的测试。
ITS:Android Camera Imaging Test Suite / CTS Verifier
Android相机成像测试套件,属于CTS测试的一部分
ITS是一个测试框架,用于在camera产生的图像上运行测试。
每个测试是以所需的方式配置相机并拍照一张或多张,然后检查图片是否包含预期的图像数据。
许多测试要求照相机对准特定目标或要有一定的强度照明。
开始测试:
-
Android设备打开开发者选项中的USB调试模式,并通过USB连接到电脑
(python37) android@SHC0017:~/soft$ cd ~/soft/ITS/android-cts-verifier_r3
(python37) android@SHC0017:~/soft/ITS/android-cts-verifier_r3$ adb devices
List of devices attached 6PIBQOL7T8ZDON9H device
(python37) android@SHC0017:~/soft/ITS/android-cts-verifier_r3$ adb-s 6PIBQOL7T8ZDON9H install -t
CtsVerifier.apk
Performing Streamed Install
Success
(python37) android@SHC0017:~/soft/ITS/android-cts-verifier_r3$ cd CameraITS
-
找出config.yml进行修改(三处)
scene:空格<scene-name>
测试项 | 测试目的 | 测试手法 | 修改方案 |
scene0 | 捕获元数据、抖动、陀螺仪、振动 | 任意场景,相机相机指向任何东西。 |
|
scene1 | 测试曝光、感光度、EV补偿、YUV vs JPEG/RAW | 相机位于三脚架上,指向包含灰卡和白色背景的静态场景,在恒定(稳定)相对明亮的照明源下。 |
|
scene2 | 测试人脸检测 | 相机位于三脚架上, 指向一张包含3人脸的静态图片, 在恒定 (稳定) 相对明亮的照明光源下 |
|
scene3 | 测试图像清晰度 | 相机位于三脚架上,指向包含一些边缘的静态图片,例如打印的 ISO 12233 图表。场景应位于恒定(稳定)相对明亮的照明源下。 |
|
scene4 | 测试纵横比、裁剪、视野 | 相机位于三脚架上,指向包含黑色圆圈和方形框的静态测试页。 场景应该在恒定(稳定)相对明亮的照明源下。 |
|
scene5 | 测试镜头阴影和颜色均匀性 | 漫射器放置在相机前面。 相机位于三脚架上,指向恒定(稳定)相对明亮的照明源。 |
|
0:metadata realated,No Enviroment
0不需要ipad可以先放在外面等软件出现第一个pass之后,才放进去。
1:Camera sensor quality realated
测试命令:python tools/run_all_tests.py -c config.yml camera=0 scenes=1
测试说明:均匀的灯光环境下,使用灰卡和白色背景的场景,测试曝光、感光度、EV补偿等。
测试状态:pass 、skip、fail。
测试结果:同 scene0。
测试方法:连接手机,打开 camera,预览80%~90%覆盖灰卡,
开 verifier 测试软件,选择Camera ITS Test 这一项。
2:face detection
执行命令:python tools/run_all_tests.py -c config.yml camera=0 scenes=2
测试说明:均匀的灯光环境下,测试人脸检测的场景。
测试状态:pass 、skip、fail。
测试结果:同 scene0。
测试方法:连接手机,打开 camera,预览80%~90%覆盖人脸,开 verifier 测试软件,选择Camera ITS Test 这一项。
3:sharpness related
测试命令:python tools/run_all_tests.py -c config.yml camera=0 scenes=3
测试说明:均匀的灯光环境下,测试图像清晰度的(边缘增强,镜头移动)。
测试状态:pass 、skip、fail。
测试结果:同 scene0。
测试方法:连接手机,打开 camera,预览80%~90%覆盖边缘图片打开 verifier 测试软件,选择Camera ITS Test 这一项。
4:crop region
测试命令:python tools/run_all_tests.py -c config.yml camera=0 scenes=4
测试说明:均匀的灯光环境下,测试纵横比场景。
测试状态:pass 、skip、fail。
测试结果:同 scene0。
测试方法:连接手机,打开 camera,预览80%~90%覆盖图片,打开 verifier 测试软件,选择Camera ITS Test 这一项。
5:lens shading&color uniformity(用毛玻璃)
测试命令:python tools/run_all_tests.py -c config.yml camera=0 scenes=5
测试说明:均匀的灯光环境下,测试镜头着色和颜色均匀性,将镜头对着光源,用毛玻璃盖住镜头即可。
测试状态:pass 、skip、fail。
测试结果:同 scene0。
测试方法:连接手机,打开 camera,预览80%~90%覆盖图片,打开 verifier 测试软件,选择Camera ITS Test 这一项。
测试命令:python tools/run_all_tests.py -c config.yml camera=0 scenes=6
测试说明:场景 6 是一个小圆圈网格,一个角上有一个正方形来指示方向。需要小圆圈来测试大范围的缩放功能。
测试状态:pass 、skip、fail。
测试结果:同 scene0。
测试方法:连接手机,打开 camera,打开 verifier 测试软件,选择Camera ITS Test 这一项。
测试命令:python tools/run_all_tests.py -c config.yml camera=0 scenes==sensor_fusion
测试说明:对于声称支持传感器融合的摄像头设备,必须通过此测试。
测试状态:pass 、skip、fail。
测试结果:同 scene0。
-
手机设备环境设置
本机摄像头应用程序在运行测试时不能处于活动状态,因为 CTSVerifer 应用程序必须能够获取摄像头控制。
adb install -r CtsVerifier.apk
长按手机进入info设置应用所有都允许(第一个)
在手机端运行CtsVerifier.apk设置语言为英文下滑找到Camera ITS test
(python37) android@SHC0017:~/soft/ITS/android-cts-verifier_-3/CameraITS$ python tools/
run all tests.py
(python37) android@SHC0017:~/soft/ITS/android-cts-verifier_-3/CameraITS$ python tools/
run all tests.py -c config.yml scenes=sencor_fusion camera=1
#可不改变config文件在命令行修改
每次运行 ITS 测试都会生成大量中间数据,包括分析中使用的许多捕获图像以及用于可视化测试运行结果的绘图。这些文件都保存到一个新的临时目录中,生成的文件在/tmp目录下。
脚本的每次运行都会打印一个日志,显示每个测试的通过、失败或跳过,其中跳过表示测试通过,因为设备没有公布正在测试的底层功能。
PASS:测试通过
FAIL:测试失败,必须修复
SKIP:跳过测试项
FAIL*:测试失败,目前可以不修复,但可能在未来的测试中变为强制性
fail 查看
fail第几个看第几个 时间倒序
手动场景:sensor_fusion
scene不需要在config修改
len_size :4/7 看要求
retater_ch:1
看插线插几号
(python37) android@SHC0017:~/soft/ITS/android-cts-verifier_-3/CameraITS$ python tools/
run all tests.py -c config.yml scenes=sencor_fusion camera=1
失败查看
CTS
CTS(Compatibility Test Suite):指的是Android系统兼容性测试。以自动化测试为基础,为保证安全性和稳定性。其目的是使用户在Android系统中
有更好的用户体验主要用于测试App和framework的兼容性。
用最新的r 测试
下载在wiki
ftp://192.168.160.2/Google%20Certification%20Test%20Suites/
四.测试方法
4.1.1LinuxCTS测试方法
1.将手机刷成需要测试的版本
3.在CTS工具包tools目录下打开命令行终端执行./cts-tradefed;
4.整跑命令:run cts -m CtsCameraTestCases -s xxx(adb devices显示的对应要测试的手机编号);
注意;如果PC只连接了一台手机设备整跑是不用输入设备号。直接执行run cts -m CtsCameraTestCases即可。
通常情况下整跑要跑3个模块(arm64-v8a/arm64-v8a[instant]/armeabi-v7a)且时间要很久,我们也可以选择只跑一个模块。
例如:run cts -m CtsCameraTestCases -a arm64-v8a
5.单跑命令:run cts -m CtsCameraTestCases -t xxx(测试的项目)
例如:run cts -m CtsCameraTestCases -t android.hardware.camera2.cts.BurstCaptureTest#testJpegBurst不指定模块的话cts会指定跑3个模块。
我们也可以指定单跑那些模块例如:
run cts -m CtsCameraTestCases -t android.hardware.camera2.cts.BurstCaptureTest#testJpegBurst -a arm64-v8a
6.测试报告查看:测试完成后结果报告会生成在android-cts/results/report.html,同时也会生成测试logs,保存在目录android-cts/logs目录下
拿到测试报告后我们可以先对fail项单跑看看是不是由测试环境造成的,
也可输入run cts retry对fail项直接重测。对于一直fail的项目也可以刷个老版本查看是否有同样的报错。对于一直fail的测试项就要查看它测试的
是Camera的哪一个功能导致的fail,需要我们去代码中查看并修改。最后要保证所有测试项全部pass.
list results / l r 列出当前存储在存储区中的 CTS 结果。
run retry -s 序列号 -r 重测序号(将pass和fail的文件合起来)
run retry --retry 重新尝试运行在以前的会话中失败或未执行的所有测试。例如,run retry --retry -s 或 run retry --retry -- shard-count(包含 TF 分片)。
GTS
解锁!!!不能解锁的手机要先刷userdebug然后unlock,接着刷user版本
地址找最新的镜像地址
adb -s 序列号reboot bootloader
fastboot -s 序列号reboot fastboot
出现画面
fastboot -s 序列号 -S 20M flash system ‘/home/android/soft/VTS/andoid/sighed-gsi_arm64-img-7866083/gsi_arm64-img-869112/system.img‘
按电源键 重启
恢复出厂设置
开Developer
操作跟cts相似
cd home/android/soft/cts/tools (地址会变找到tools就可以)
执行完镜像后进行gsi 测试
./cts-tradefed
run cts-on-gsi -s 序列号 -m CtsCameraTestCases
单编后加 -t xxx模块
最后
以上就是激动小丸子为你收集整理的CTS/ITS/GSIITSCTS的全部内容,希望文章能够帮你解决CTS/ITS/GSIITSCTS所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复