在软件测试领域,关于 AI 是 “虚火” 还是 “真革命” 的争论从未停止。一方面,有人指出 AI 无法解决测试的根本难题,甚至带来新风险;另一方面,也有大量实践证明 AI 大幅提升了测试效率。本文不带立场,仅客观梳理两类核心观点,供读者自行判断。
UI 自动化的老问题——动态 ID、环境差异、异步渲染、网络波动等——并未被 AI 真正解决。AI 引入视觉模型或大语言模型来 “猜测” 控件位置,本质上是将确定性脚本换成概率模型,反而增加了新的不确定性。加上 GPU 算力和 API 调用成本高昂,原本脆弱的自动化变得更昂贵。
软件测试的核心是理解复杂业务逻辑、发现隐含缺陷、做出质量风险决策。而 AI 存在众所周知的 “幻觉” 问题——给出看似合理实则错误的结论。用一个不确定的工具去测试不确定的系统,逻辑上存在矛盾。至少到目前为止,AI 尚无法替代人的业务直觉和批判性思维。
AI 可以让人 “零门槛” 生成脚本,但这往往导致大量缺乏深度理解的代码涌入仓库。这些代码在业务变更时无人敢改、无人会修,最终成为新的技术债务。测试的根本负担在于理解正确性,而不是写代码的体力活——AI 对此贡献有限。
从代码补全到日志分析,从用例生成到缺陷预测,AI 已经渗透到研发流程的各个环节。测试人员如果拒绝接触 AI,就像十年前拒绝使用版本管理工具一样,会很快被团队甩开。主动学习提示工程、模型微调、结果校验等技能,AI 就能变成强大的辅助。
同样的 Copilot,有人用它生成低质量断言,有人用它写出可维护的页面对象模型。同样的大模型,有人抱怨 “它不懂我的业务”,有人则通过提供示例和约束输出格式,稳定获得可用脚本。AI 是否有用,更多取决于使用者的专业能力——包括测试设计、断言规范、异常处理等基本功。
过去,业务测试人员因不懂代码而无法参与自动化。现在,借助 AI 辅助编码和自然语言生成脚本,他们可以快速产出可运行的自动化用例。这使得团队能将更多精力投入探索性测试、风险分析和质量洞察等高价值工作,而不是整天写样板代码。
AI 扩展了传统测试的边界:
“用处有限” 与 “帮助巨大” 两种观点,并不完全矛盾。前者指出了 AI 当前的技术局限和落地门槛,后者展示了在合适场景、专业使用者手中 AI 的巨大潜力。
对测试团队而言,最务实的做法也许是:
最终,AI 不会让测试消失,但会用 AI 的测试可能会让不用 AI 的测试消失。