17611538698
webmaster@21cto.com

请停止编写测试,使用AIGC实现完全自动化

编程语言 0 22 2025-08-22 09:01:03
图片
几十年来,软件测试一直建立在一个简单的理念之上:人编写测试,让机器运行。
自 20 世纪 90 年代中期第一台商用记录器问世以来,这种模式一直延续至今。测试人员会记录一个流程,编辑脚本,随着应用程序的发展进行维护,并不断重复这个循环。虽然工具在不断改进,但基本流程却始终停滞不前。

现在想象一下不久的将来,在某些组织中,也就是现在,业务需求定义后的整个流程都由生成式人工智能执行。没有录音机,没有脚本编写者,也没有大量的质量保证工程师。只有人工智能将需求转化为测试用例,将测试用例转化为可执行脚本,将脚本转化为超大的应用程序覆盖范围。

图片

这不是科幻小说,而是 QA 的发展轨迹。

为什么竖笛应该被收藏在博物馆


1995 年,记录器非常有用,它们提供了一种编写原始代码的替代方案。它们可以捕获用户操作,将其保存为脚本,并允许重新运行。但它们的成本很高。维护工作永无止境。覆盖范围很浅,因为脚本只能反映人类明确记录的内容。 

快进到今天,即使是像 Playwright 这样优秀的自动化“录音机”,在如今这个高速列车的世界里,也不过是马车而已。它们仍然依赖人类来构思流程、执行点击操作,并维持脆弱的输出。所以它们仍只是筹码,而并非创新。

与此同时,AI 已经能够直接从测试用例生成脚本,而无需接触记录器。事实上,AI 可以通过分析业务规则、探索应用程序状态以及识别人类从未想过要检查的路径来自行生成测试用例。

如今,我们看到企业利用最新的AI脚本技术,90%的脚本完全由AI自主编写。这引出了一个令人不安的事实:几年后,录音机也将被淘汰。 

不容忽视的生产力提升


采用真正的生成式人工智能进行测试的组织报告称,他们的生产效率提升并非只有 20% 或 50%,而是比使用录音机时高出 10 倍、50 倍,甚至 100 倍。原因何在呢?因为人工智能不仅仅取代了录音机,还取代了脚本编写、脚本编辑和脚本维护等所有后续工作。

单个 AI 系统可以在数小时内生成数百或数千个脚本,所有脚本均与应用程序的当前状态保持一致。覆盖范围从一小部分设想的用户旅程扩展到庞大的实际可能行为图谱。bug 会在候选版本进入预发布阶段之前就更早地被发现。

这不仅仅是“更快的测试”。这是测试含义的根本转变,并实现了 CIO 所要求的……几乎可以立即看到用户发现的任何错误。

超越人类想象的覆盖范围


人工设计的测试反映了人类的假设,我们测试预期用户会采取的流程。我们检查我们认为可能会失败的验证,但用户的行为很少完全符合我们的预期。复杂的应用程序包含隐藏状态、模糊路径和脆弱的交互,而这些都是人类测试人员从未记录过的。

生成式人工智能改变了这一现状。通过分析业务需求并构建应用程序模型(数字孪生),人工智能可以生成并执行涵盖所有可能性的流程。它可以探索边缘案例,发现不易察觉的错误,并验证任何人类团队都无法大规模维护的组合。

结果是覆盖范围更广、覆盖范围更好,并且覆盖范围会随着应用程序的发展而自动发展。

质量保证团队的情绪反应


当然,这种由人工智能主导测试的愿景会引发强烈的情绪。对于那些以编写和维护脚本为职业的 QA 工程师来说,人工智能如今可以包揽所有工作可能会让他们感到恐惧。有些人会认为没有什么可以取代人类的直觉。另一些人则可能担心他们的工作会消失。

现实情况则更加微妙。正如开发人员从汇编语言转向高级语言一样,QA 专业人员也将从脚本编写转向 AI 训练、策略制定和监督。点击、记录和编辑等机械式的工作将会逐渐消失。 

那些拥抱真正人工智能的人将发现自己摆脱了单调乏味的工作,并能够在更高层次上做出贡献。而那些抵制人工智能的人则必须另寻工作方向。

为什么编写测试将会结束


如果人工智能可以获取业务需求,自动生成测试用例,自动将其转换为脚本,并自动维护这些脚本,那么为什么还要有人手动编写测试呢?

编写测试将变得像调试穿孔卡片一样过时。人工编写脚本的瓶颈将不复存在。维护数千个脆弱测试脚本的想法也将消失。记录器本身也将消失。

CTO的困境


这种转变向技术领导者提出了一个深刻的问题。如果您是一位首席技术官,既然生成式人工智能已经提供了数量级的生产力和覆盖率,为什么还要继续投资基于记录器的测试自动化?

这不仅仅关乎效率,更关乎竞争力。采用人工智能主导测试的企业将能够更快地发布产品,减少缺陷,并增强信心。而那些坚持使用记录仪的企业则会发现自己的速度更慢、更容易出错,最终竞争力也会下降。

我们正处于一个转折点,选择昨天的工具将是一种战略负担。

不久的将来


在不久的将来,从业务需求到自动化验证的流程将会无缝衔接。

需求将以更通俗易懂的语言书写,人工智能会将其转化为结构化的测试用例,这些测试用例将立即转换为可执行脚本。之后,人工智能将扩展覆盖范围,超越最初的用例,探索应用程序中的每一条路径。

所有这些现在都无需记录仪就能实现。测试将不再是瓶颈。它将是连续的,并且由人工智能主导。

因为最终,停止手动编写测试并不是为了取代人类,而是为了让人类从重复性工作中解放出来,让他们能够专注于真正重要的事情:更快、更自信地构建更好的软件。

这项技术已经到来。你们准备好了吗?

评论