测试不想打扫屎山 ——我用 midscene.js 试了一下,然后放弃了

📅 2026/7/23 9:41:22
测试不想打扫屎山 ——我用 midscene.js 试了一下,然后放弃了
测试不想打扫屎山——我用 midscene.js 试了一下然后放弃了起因事情的起因挺简单的。项目原型图AI写的但没及时更新属于仅供参考级别。提测后我测了一两个页面发现一堆问题——界面和原型图根本对不上前端字段和后端字段不匹配、后端必填前端没校验等等各种不一致整个系统都是很明显的AI写代码味儿而且质量不咋好的那种。一沟通果然是AI写的代码且没有经过人工代码审查我当时心里只有一个感觉这玩意儿就是一座屎山。既然产品是AI的、开发也是AI的搞出来的是一座屎山那我也不乐意用人肉去打扫觉得憋屈。于是我也决定用AI来试试——用魔法打败魔法用AI测AI。就有了下面这篇记录。试下来的结论能做但太慢了不适合后台管理端页面的测试。我遇到的问题1. 控件识别还行但操作间隔太长midscene.js 对后台管理端常用的中文控件识别准确率还算可以但每个操作之间的等待时间明显偏长。在普通页面上可能感知不强但在后台管理这种数据量大、操作链长的场景下累积起来就很拖节奏。2. 页面数据加载慢时它不会优雅地等待而是“重试 20 次然后放弃”这是我觉得最可惜的一点。页面数据加载慢时midscene.js 会自动重新规划执行路径但最多只尝试 20 次然后直接报错退出。这就陷入了一个死循环因为频繁重新规划导致整体速度很慢又没办法利用重新规划的机制来做查询页面的字段遍历——原本可能是一个“顺带覆盖更多场景”的机会结果变成了“光规划就很慢还跑不彻底”。3. 断言得手写AI 只帮你定位元素这是最让我觉得“没省多少事”的地方。AI 确实能识别并定位到页面上的元素但因为没有可参照的需求文档我得自己写具体的断言逻辑。再加上定位准确率、识别效率以及大模型请求排队等问题一套流程走下来整体效率还不如人工测试来得快。后续估计有人看到这里会问那你后来到底怎么解决的实话实说——受限于项目上线时间我最后是“戴着口罩”人工打扫的。什么叫“戴着口罩”就是我跟项目经理沟通说明当前情况原型图与实际实现偏差太大按照原型图比对测试已经没有意义而且会严重拖累上线进度。最终达成的妥协是放弃原型图比对凭经验保证核心流程可用同时阶段性降低非核心模块的质量要求。嗯你理解的没错测试不想人工打扫屎山——理想很丰满现实是屎山最后还是人工扫的只是戴了个口罩而已。虽然 midscene.js 没能满足我的预期但“测试不想人工打扫屎山”这个想法我并没放弃。我会继续尝试其他方法无论后续研究的结果是正面还是反面我都会回来分享真实经历。如果你也遇到过类似的经历欢迎留言交流。踩坑的路上有人一起走会没那么孤单~