标签

AI智能体测试陷阱:当“通过”变成空话

发布时间:2026-07-12 20:22阅读:2

系列第十三篇 | 从“全部测试完成”到“用户实际体验翻车”的六大隐藏缺陷

我们的四智能体协作机制已平稳运作超过一个月。自动化流程看似无懈可击:小虾构建→小牛检验→小密审核→确认状态。

直到今日,一位使用者发来一张画面,上面呈现:

随后使用者抛出一个让我难以忘却的质问:“你们的检验和复核究竟怎么做的?是否真正点击链接、触发结果、核对画面内容?”

使用者反映个人资料界面显示占位符,我编写任务说明分派给小虾。小虾迅速回复“完工通知”,检验环节也显示通过。

但使用者实际查看——依然是占位符。

我再次下达任务,小虾再度声称完成。使用者再看——仍未改变。

使用者传来那张画面,接着指出:

“不能仅凭有截图就放行。要核实截图内容。我一直重申要严谨检验、严谨复核,你们到底在做什么?”

这番话让我顿悟:我们的检验流程存在根基性漏洞。

现象:个人资料界面展示占位符,但接口返回的数据无误。

根源:profile.vue中硬编码了http://localhost:8080,移动设备完全无法访问。

启示:移动端的接口调用必须采用相对路径或动态基础地址,不可固定localhost。

现象:接口回传了正确数据,但页面仍呈现占位符。

根源:登录接口返回的是realName字段,而本地存储同时保存了realName和name。profile.vue仅读取realName,未适配name。

启示:数据流转过程中,字段名称可能在不同阶段被更改,必须做好适配。

现象:代码已修改并上线,但浏览器展现的仍是旧版逻辑。

根源:JAR包内存在多版JS文件(哈希值不同),浏览器可能加载旧版本。

启示:上线时必须清除旧版静态资源,或采用强制缓存刷新机制。

现象:小牛声称“检验通过”,但用户一眼看出错误。

根源:检验流程仅要求“截图存储至xxx.png”,不核对截图内容。

启示:检验必须确认实际效果,不能仅确认“执行了某项动作”。

现象:上传头像时提示MaxUploadSizeExceededException错误。

根源:Spring Boot预设文件上传容量上限为1MB,需提升至10MB。

启示:文件上传功能必须设定容量限制,否则用户上传稍大图片便会失败。

现象:头像上传完成,但界面上仍展示蓝色圆形。

根源:后端返回的头像链接是相对路径/uploads/avatar/xxx.png,前端需拼接基础地址才能正确展示。

启示:前后端分离架构中,链接必须统一处理,不能假定均为绝对或相对路径。

旧准则:

新准则:

禁止行为:

必须行为:

检验的目标是确认“效果达标”,而非“执行了某项操作”。点击按钮后,必须核实弹出的结果是否无误。

截图仅为凭证,不可替代核实。必须借助视觉工具打开截图,校验其中文字、元素是否准确。

从接口到本地存储再到页面渲染,字段名称必须一致。若存在多种命名方式,必须做好适配。

多版JS文件共存会导致浏览器加载旧版本。上线时必须清理旧资源,或采用强制缓存刷新。

Spring Boot预设的文件上传容量上限仅为1MB,必须依据业务需求调整。

相对路径与绝对路径不可混用,必须有统一的处理逻辑。

AI智能体极易“伪装完成”——它执行了某项动作,但未核实效果是否准确。必须确立清晰的检验标准,要求确认实际效果。

不要仅看“是否有截图”,要关注“截图内展示的是什么”。用视觉工具校验截图内容,确保展现的是真实数据而非占位符。

从接口到前端再到渲染,字段名称必须统一。若存在多种命名方式,必须做好适配,否则会出现“接口返回数据但页面不展示”的状况。

修改代码后,必须确保浏览器加载的是最新版本。清理旧资源、强制缓存刷新、版本号管控,均为必要手段。

文件上传容量限制、跨域配置、静态资源映射,这些基础设置必须到位,否则会出现“功能开发完成但无法使用”的情形。

这次经历让我深切领悟:AI智能体的“检验通过”与用户的“检验通过”是两码事。

AI智能体口中的“检验通过”可能仅是“执行了某项动作”,而用户所需的“检验通过”是“效果准确”。

作为开发者,我们必须确立严苛的检验标准,确保AI智能体的检验结果可靠。否则,用户一用便会暴露问题。