1、测无止境 数智共进2024全球软件测试技术峰会北京 12月Camera自动化测试体系建设演讲人:王鹏2024年12月06日个人形象照片姓名:王鹏本人先后就职于迅雷网络,猎豹移动,小米公司,担任高级测试开发工程师,曾参与腾讯新闻,腾讯房产,手机迅雷,迅雷下载管理,猎豹live me的质量交付工作目前担任小米Camera自动机工具开发,效能工具开发,对 Android uiautomator自动化框架,python tkinter框架,Android monkey工具框架,均有较深入的研究,开发的相关自动化工具拦截超过上千个稳定性问题个人主页测 试 背 景全 自 动 化未 来 展 望初 期 尝 试
2、目录小米红米Pad测试背景产品线多测试背景出货量大测试背景影像摄影使用中崩溃了预览卡死了相机App闪退了拍的照片不见了录像不丝滑图片不清晰测试背景对焦模糊了拍照起来,机器热了更高的质量预期内:提供更高品质的手机相机外:用户对相机也有更高的质量预期测试背景手机相机的组成测试背景Camera硬件结构测试背景Camera的软件结构初期尝试1.打开相机2.随机点击preview3.连续拍照手机刷Rom设置相机log采集log记录结果出具测试报告建立Jira缺点:耗费人力、耗费时间、人工容易出错环境准备执行case汇总结果手工测试手动刷机自动化程序执行case手动捕获日志手动分析日志手动汇总结果缺点:依
3、然费时费力,强度上不去,问题无法暴露出来手动准备环境自动化操作相机手动采集信息初期尝试半自动化测试痛点问题环境不固定执行过程耗时日志采集困难重复解析日志提报bug耗时报告汇总困难环境标准定制统一执行手动半自动化全自动化流转邮件飞书在线平台全自动化测试痛点问题成本质量如何在有限的时间,达成稳:长时间使用是否正常?快:体验上能否快速?省:占用资源能否少?全自动化测试成本与质量的平衡全景设计全自动化测试全景设计全自动化测试稳stresssanitymonkeymtbfUAT快预览帧率视频帧率流畅Performance延迟打点省功耗memory算法极限全自动化测试相机稳定的服务相机快速的体验节约有限的
4、资源根据侧重点的不同,形成固定的测试项目不同的执行强度不同的功能范围不同的资源消耗范围全自动化测试命令行优:程序开发成本低,方便复用现有命令劣:交互不友好,用户上手成本高Jenkins优:web界面操作,插件广泛,支持集群式劣:界面操作定制化少,交互不是太友好Web优:交互友好,根据需求自由调整劣:定制化开发,研发成本高桌面应用优:交互友好,根据需求自由调整劣:一定的开发成本如何结合他们的特点呢?全自动化测试命令行JenkinsWeb桌面应用自动化测试的核心程序,任务调度、发起测试、日志采集、上报、报告集成,便于在本地调试供用户录入参数、共享配置、共享程序日志、启动任务、发起定时任务数据展示、
5、数据统计、记录测试过程数据、报告回溯脱离Jenkins,启动测试任务,便于在Linux端本地执行任务全面组合:核心逻辑集中在命令行程序中,任务调度集中在Jenkins的Web界面与桌面应用中,数据展示在Web上进行展示全自动化测试功耗测试仪器高速相机获取电流消耗各个阶段开展测试不同case场景的消耗对比自动化测试结果更接近人的感受设计case统计时间灯箱概念图光线模拟场景模拟距离模拟各类转台小范围模拟角度旋转速度模拟硬件环境全自动化测试Linux命令丰富环境稳定Python模块丰富自动化程序编写效率高JavaUI自动化框架官方支持自研网盘服务器云存储日志服务器空间大,自动删除日志文件便于分享下
6、载Shell命令grepsedConvertrar软件环境全自动化测试框架-事半功倍稳定API功能丰富操作3方App二次封装二次开发monkey程序稳定全局监听异常情况Adb与设备通信dumpsys获取资源情况Perfetto性能异常图识别异常图片文件识别分帧视频解析操作方便全自动化测试框架-事半功倍Tkinter框架框架稳定API学习成本低跨平台PyQT框架用于构建复杂本地应用跨平台Flask框架后端服务开发功能支持耗时任务Vue组件库丰富学习成本低开发效率高全自动化测试Rom Server匹配Rom:按照机型、日期、版本匹配并行刷机:N台手机同时刷入