移动端回归测试人手不够,我落地了一套 VLM 真机自动化方案,想听听大家意见

2 小时 42 分钟前
 ZhaokunZhang

最近在公司里落地了一套移动端 AI 自动化回归方案,想拿出来和大家交流一下,也听听有没有类似场景的同学。

先说背景。

我们这边移动端有 Android 、iOS ,现在还有鸿蒙。业务迭代比较快,每次发版前都要做一些主流程回归。

比如:

问题是,测试资源并不是特别充足。

不是没人测,而是没有一个专门的人长期维护复杂自动化。很多时候是测试同学过一遍主流程,开发自己再补一遍。

时间紧的时候,大家其实都知道一些边角路径覆盖不到,但也只能先保核心链路。


之前也看过传统自动化方案,比如 Appium 、xpath 、坐标、录制回放这些。

实际落下来,问题基本差不多:

页面一改,脚本就容易挂。

Android 、iOS 、鸿蒙三端表现不完全一样。

弹窗、权限、加载中、toast 、偶现卡顿这些情况,都要额外处理。

最关键的是,如果没有专门自动化测试同学长期维护,这套东西很容易变成:

刚开始能跑,过一段时间没人敢动。

所以我后来尝试了另一条路:

能不能把 case 写成人话,然后让模型看真实手机截图,自己判断下一步怎么操作。

比如一个 case 可能就是:

打开 App ,登录账号,进入首页,确认能看到推荐列表。

系统拿到这个 case 后,分配一台真机。

执行过程中,每一步截图给 VLM ,让模型判断当前页面状态、下一步点哪里、输入什么、是否已经完成。


这个方向我一开始也只是想验证一下。

但后面做着做着,发现单纯做一个本地 demo 意义不大。因为公司里真正要用,光能跑起来还不够。

所以后面我把它补成了一个偏平台化的东西,目前已经在公司内部落地使用。

大概流程是:

外部系统投递一批 case
        ↓
平台根据端类型寻找空闲设备
        ↓
真实手机开始执行
        ↓
每一步记录截图、模型判断、操作结果
        ↓
执行结束后生成报告
        ↓
case 结果和批次结果回传给业务系统

现在它可以覆盖 Android 、iOS 、鸿蒙三端真机。

不过我自己的感受是,这个东西真正有价值的地方,不是“AI 能点手机”。

单纯让模型看图点一下,其实很容易做成 demo 。

真正落地的时候,麻烦的反而是这些:

所以我后面做的时候,重点其实放在了执行链路上,而不只是模型本身。


当然,现在这个方案也不是没有问题。

稳定性肯定还不如写死脚本。

同一个 case 多跑几次,偶尔会出现模型判断不一致。

起始状态也很重要。账号状态、权限状态、弹窗状态如果不干净,模型很容易被带偏。

成本也要算。因为每一步都调 VLM ,跑多了肯定不是免费的。

另外像验证码、人脸、安全键盘、强风控这些场景,我也不觉得它适合硬做。

所以我现在对它的定位不是替代测试,也不是替代传统自动化。

更像是一个兜底工具。

比如:

目前我们内部已经用它跑了一些真实场景,确实能减少一部分重复点点点的工作。

但我也知道这个方向还不算成熟,所以想听听大家意见。


我比较想请教几个问题:

  1. 你们公司移动端回归一般是怎么做的?
  2. 如果没有专门自动化测试岗位,自动化最后通常是谁维护?
  3. VLM 看图操作真机这种方式,你们觉得最大的问题会是稳定性、成本,还是失败复盘?
  4. 如果只是用来兜底主流程冒烟,而不是做完整测试,你们觉得有没有价值?
  5. 这种方案要接进公司内部测试平台,你们最关心的是报告可信度、执行稳定性,还是环境隔离?

我把目前整理出来的版本开源了,项目叫 ai-phone:

https://github.com/dongxinsuperman/ai-phone.git

目前主力分支是 next/server-brainmain 分支已经归档冻结。

发出来主要不是想说这个方案已经多完善,而是因为它确实在公司里跑起来了,也踩到了一些传统自动化和 VLM 落地之间的问题。

想听听大家怎么看这个方向,欢迎提建议,也欢迎拍砖。

243 次点击
所在节点    分享创造
3 条回复
clemente
1 小时 40 分钟前
钝刀秀刀功

不如做全套 hook + ai
beimenjun
1 小时 31 分钟前
之前有做 iOS 的自动化测试,其实我想的这种方案应该往外接机械设备实现现实的点击 + 摄像头来实时采集数据 + 大模型根据摄像头内容来决定点击的方向走。

这类方案需要同时满足,“稳定、快、可复制、便宜”,感觉才有比较大的前途。

你这一套不知道在“快”和“便宜”上不知道是如何解决问题的。
jinxgogo
38 分钟前
测试人员:“做个人吧,别再造轮子,测试都要步前端后尘了”

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1214122

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX