很多人觉得 AI 做不好验收工作,当下确实是这样的,因为它缺少判断的准则。人可以教它,但无法穷尽所有情况。
可 AI 有一个优势,它在边界思考上往往比人更全面、更多维。所以理论上,在进行测试的时候,AI 完全有机会测得比人更完善。
对 AI 测试来说,首先需要从两个关键能力入手。
第一,它要完整理解需求。
AI 应该针对需求和目标去测试,而不是只针对功能去测试。
未来的测试方法,会更偏向 BDD,而不是 TDD,甚至是 Goal Driven Verification。先理解这个需求为什么要做,最终希望解决什么问题,用户应该获得什么结果,再围绕这个目标去设计测试。
第二,它需要具备足够的手、脚、眼。
让 AI 真正能够看清软件、看懂软件,能够像一个人一样在界面上完成操作。
它需要学会编写 E2E 测试用例,通过 OCR、模拟点击、滑动、截图、录屏等方式,不断丰富自己对界面的认知,然后基于目标和需求,持续改善测试用例的完整性和鲁棒性。
我们团队现在实践的时候也是这么做的。
每一次迭代发版,AI 都会先把这个迭代所有的代码 diff 拿出来,理解一次这次核心改动的功能点到底是什么,然后开始编写对应的 E2E 测试用例。
刚开始写出来的时候,大部分测试其实都跑不过。
它会自己执行,再根据执行过程不断修正测试用例里的问题,直到整条链路能够真正跑通。
在整个验收过程中,它所有的点击、滑动、输入等操作都会被记录下来,同时保留截图和录屏,最终产生一篇完整的 E2E 测试用例文档和测试报告。
这篇文档里的信息其实非常丰富。
它会包含这次测试的目标、操作路径、操作截图、操作录屏、操作反馈,以及每一步执行之后软件真实呈现出来的结果。
然后 AI 会再回过头去理解这篇文档,重新判断整个过程是否真的达到了最开始的目标。
我觉得这才是 AI 测试真正应该走的方向。
测试不应该只是验证代码有没有跑通,也不应该只是验证某个按钮能不能点。它最终验证的是,这次改动有没有真正完成需求,有没有达到目标。