基于云真机的主题皮肤佩戴效果测试方案
基于云真机的主题皮肤佩戴效果测试方案
专利申请公布号:CN120687363A
申请号:2025107977487
一、背景
对主题皮肤的测试具备以下特点:
- 测试所需的操作步骤短
- 需要尽可能覆盖更多机型和系统版本
- 除保证功能正常,还需要判断展示是否美观,因此使用测试数据没有意义
- 每天都有若干主题上架
基于以上特点,运营、测试人员难以在测试环境,在相对有限的时间内完成尽可能多的设备覆盖。
此外,仅巡检服务和接口自动化的方案难以保证最终的展示效果。
原因主要有:
-
为保证展示效果,通常需要在真实的线上环境进行检测。
-
每套主题过审后都需要进行检测。其通过审核的时间无法预估。
-
由于机型、系统版本和屏幕尺寸,不同设备的展示效果都会存在区别,需要尽可能在更多设备上检测,人力成本大。
-
主题由客户端实现,仅检查配置和接口无法覆盖到客户端侧。
综上,仅依赖巡检服务、接口自动化和人工操作检查无法全面把控待测系统的质量,必须有UI测试介入。
考虑过虚拟机、模拟器的方法,经过调研,均无法很好地还原真实设备,不能满足需求。例如,出现某些文字异常放大,且真实手机从未出现过这种情况。另外,模拟器成本也不小,也无法模拟真正的各种手机机型和操作系统。
二、系统架构
云真机+自动化调度+任务回传+人工复审的闭环体系。
1. 触发模块
触发模块接入现有的巡检服务中,从线上数据库中筛选出更新过但还未被本系统检测的主题,首先进行数据和配置上的校验,然后向指定账号发放该主题,最后分别通知安卓执行模块和iOS执行模块执行检测任务。这里加了一步前置校验,有些问题可以直接通过静态检查发现,无需走到云真机那一步。
2. 执行模块
执行模块代替人工快速完成在多个设备的检测任务。安卓和iOS的执行代码不同,需分开触发。触发后,系统会分配数十台设备,然后通过事先编写好的脚本执行任务流程,主要流程为:安装应用、登录账号、进入主题配置页切换皮肤主题、前往各个需要校验的页面截图。执行完毕后将任务信息通知给查阅模块。
- 登录步骤容易触发验证码;有些设备安全性较高,在输入密码页面通过adb截图无法获取页面内容。为此,改造应用的代码,支持使用一条adb命令登录,免去了图形化登录的步骤,提升稳定性。
- 多台设备同时下载资源对机房带宽有压力,需提升每个步骤间的等待时间。
- 同时使用OCR和系统元素定位两种方式定位要点击的区域,降低用例失败率。
- 如果识别到登录失败、佩戴主题失败等严重问题,直接中断该设备上的自动化流程,防止污染结果数据。
3. 查阅模块
查阅模块接收到完成任务的通知后,将通知测试人员并给出修改建议。系统会检查每个点位截图的特定区域,计算其颜色对比度、颜色频率变化率等数值特征,自动判断是否有不符合预期的情况,帮助人工复审节约精力。测试人员进入后能查阅已完成的所有任务,对新任务人工逐个检查截图,若无明显问题则标记通过,否则替换素材源文件或针对该有问题的机型继续人工单独测试排查问题。
三、优势
- 更好地利用资源:通过云真机系统,合理分配设备资源
- 更真实的效果呈现:执行的设备都是真机而非模拟器
- 提高人效:节约人力成本,用更少的时间完成更多设备的检测
- 方案可复用迁移,针对手机app内的物料呈现效果核验,且物料频繁变更并需要多机型覆盖的情况,均可采用该检测方案
- 前置问题感知:原方案更多来源于客诉,该检测方案能在主题上架后快速感知不符合预期的问题,相比于之前,能够在用户反馈之前感知并修复,提高用户体验