[控场AI]
· 7 分钟阅读· 3,773 字

AI测试新范式:从断言到评估的思维转变

AI测试新范式:从断言到评估的思维转变

软件测试正从「断言」转向「评估」,AI测试需建立三层评估体系与双版本管理意识。

随着AI深度融入软件开发,测试领域正经历从「用AI辅助测试」到「对AI系统测试」的范式转变。核心变革在于:传统软件测试依赖确定性断言,而AI大模型输出天生具有概率性,无法用简单的「通过/失败」衡量,必须引入「评估」思维——通过打分与及格线判定质量。实践层面,AI评估需固定「被测版本」和「评估版本」两个维度以确保结果可比性,并围绕大语言模型、知识库(RAG)、智能体三层递进对象分别设计评估指标。工具选型上,PromptFoo因支持CLI驱动、人工评估和全层覆盖而被重点推荐。理解「为什么测、测什么、用什么测」的方向性思维,是测试从业者在AI时代的核心竞争力。

AI正在重塑软件测试的边界

过去半年,AI对软件开发和测试领域的影响已经从「辅助工具」演变为「主导力量」。一位资深测开工程师在分享中坦言,自己从最初主要使用Python,到如今项目已开始用JavaScript编写——行业的剧烈变化倒逼从业者不断学习。测试可以做开发,开发也得学会测试,这已成为不可逆的趋势。

更值得关注的是,测试领域正在形成一套完整的AI测试体系,可以归纳为三个方向:用AI测试、和AI测试、对AI测试。

三种AI测试体系的演进

用AI测试指借助AI辅助完成测试工作、提高效率。这曾是测试领域最热门的话题,但如今已逐渐成为基本功。

和AI测试则强调AI主导测试流程。人与AI各司其职,大部分测试工作——包括需求分析、用例设计、系统探索、代码编写、自动化回归——都可以交给AI完成。腾讯、阿里、字节以及DeepSeek广告等厂商正在推动这一模式的落地。

对AI测试是最具前瞻性的方向。随着越来越多的软件集成AI功能——如AI客服、AI视频生成等——如何对这类「AI应用」进行测试成为全新命题。这类测试的思路、流程和方法与传统软件测试截然不同。

AI评估与性能测试的类比

从断言到评估:AI测试的核心变革

对AI进行测试的核心变革,在于测试术语和思维方式的转变——从「断言」(Test)走向「评估」(Evaluation)。这并非某个团队的独创,而是国际通行的做法。

打个比方:你无法简单地判断一个人是好人还是坏人,这种非黑即白的判断有巨大局限性。对智商的测评、对疾病的诊断,都是通过评分来实现的。既然AI是模仿人类的产物,对它的评价自然也应采用打分和评估的方式。

确定性与概率性的根本差异

这一转变背后有深刻的技术原因。

传统软件测试中,我们可以直接写断言——断言状态码、断言返回数据、断言字段内容。输出结果基本一致,断言稳定可靠,结论只有「通过」或「失败」两种。

传统断言的确定性

但AI大模型天生带有概率性,这体现在两个层面:

原理层面:主流生成式大模型的架构大多基于Transformer,其输出本质上是一种概率选择。同一个问题,AI可能给出不同回答,这是架构层面天然携带的概率性。

结果层面:即便答案在语义上是确定的(比如数字「2」),表现形式也可能千变万化——中文大写「贰」、小写「二」、阿拉伯数字、二进制、十六进制,甚至不同风格的文字表达。所谓「正确」只有一种,但「错误」却有千万种可能。加之模型参数、提示词、上下文的任何微小改变都会导致结果巨变,简单的相等断言已不再适用。

Transformer架构中产生概率性输出的关键机制是「温度参数」(Temperature)和「采样策略」。模型在生成每个Token时,实际上是在对词汇表中所有候选词计算概率分布,再通过采样选出最终输出。温度越高,采样随机性越大;温度为0时输出趋于确定性最高的选择,但仍无法保证与上次完全一致。此外,Top-P(核采样)和Top-K等参数同样影响输出的多样性。这也解释了为什么「被测版本」中模型参数是独立的管理维度——仅调整Temperature一个数值,就可能使测试结论从「通过」变为「失败」,在评估体系中必须被视为一次版本变更。

评估并非放弃测试

需要澄清的是,评估并非完全取代测试。评估强调的是「打分」——通过分数衡量结果的优劣;而测试环节则相当于为分数划定一条及格线。

就像高考有录取分数线、肿瘤诊断有分数阈值一样,AI产品能否上线发布,最终仍需一个明确的结论。这个结论正是基于评估分数的及格线判定。

在实际操作中,AI领域通常采用0到1的连续值打分(如0.1、0.9、0.999)。也可以将其离散化:用0表示不通过、1表示满分,从而兼容传统的断言式测试。

AI评估的关键实践要点

双版本管理:确保结果可比性

由于评估结果具有模糊性和波动性,版本管理的要求比传统测试更加严格。实践中必须固定两个版本:

  • 被测版本:被测系统本身的版本,由所使用的模型、模型参数、提示词、上下文共同构成。任何一项变化都意味着被测版本的改变。比如把DeepSeek换成GPT,就是完全不同的被测版本。

  • 评估版本:评估所采用的手段,包括数据集、断言规则、提示词、门槛阈值等。数据集或门槛的改变都会导致评估结果不同。

只有当仅替换其中一个版本时,才能进行有价值的横向对比(如对比不同模型的质量、不同门槛的效果)。若两个版本同时变化,结果便失去可比性,成为全新的独立评估。

评估与测试的关系

与性能测试的类比

AI评估与性能测试有高度相似之处:性能测试同样不特别关心单次的「对错」,而是在特定条件下通过一组数据发现问题,需要多轮对比才能得出结论。有性能测试经验的工程师理解AI评估会更有优势。

AI评估的三层对象与工具选型

三层递进的评估对象

AI评估并非上来就堆砌指标(如忠诚度、召回率),而是要先确定评估对象——不同对象的评估目标和指标完全不同。常见的评估对象分为三层,呈递进关系:

第一层:大语言模型(LLM)评估

评估模型生成的正确性、完整性、安全性和稳定性。对DeepSeek这类模型厂商是必测项;对普通公司则用于模型选型、提示词优化、微调后模型的质量验证。

第二层:知识库(RAG)评估

RAG的原理是先检索正确资料,再结合资料回答问题。评估重点在各个环节——检索准确度、忠诚度(生成结果是否基于指定资料)等。召回率等指标主要应用于这一层。

第三层:智能体(Agent)评估

智能体涵盖任务规划、工具使用、任务推进等能力。客服Agent、数据Agent已经广泛应用,未来还会延伸到旅游、法律、医疗等领域。智能体的评估最为复杂,因为它同时涉及工具选择、任务编排、知识库使用和大模型调用。

这三层并非「三选一」,而是层层递进的学习路线:从大模型评估入手,到知识库评估,再到智能体评估,复杂度逐级递增。

工具与执行环节

AI评估工具选型建议

在工具选择上,PromptFoo是值得重点关注的选项,核心优势包括:

  • CLI驱动:支持命令行和YAML配置驱动,可以被AI自身调用,未来将出现「AI评估AI」的场景
  • 支持人工评估:人工评估在AI评估领域仍是「金标准」,该工具可通过YAML配置让人工编写用例和断言
  • 扩展性强:支持批量调用、Python自定义扩展
  • 被OpenAI收购:其技术能力获得了顶级AI公司的认可
  • 覆盖全面:能覆盖大模型、知识库、智能体三层评估对象

对于纯学术性的指标研究,可以选用专注指标计算的工具;对于线上智能体的生产监控,可以选用面向实际效果评估的工具。但对大多数测试工程师而言,评估的目的往往是验收判定软件能否上线,PromptFoo这类工具更为实用。

「AI评估AI」(LLM-as-a-Judge)是当前AI评估领域的重要范式转变:用一个评估者大模型对被测大模型的输出进行打分和评判,取代或辅助人工评估。其优势在于可大规模并行、成本远低于人工;挑战在于评估模型自身也存在偏见(如倾向于给更长的回答打高分),需要通过多评估者投票、人工抽样校验等方式加以缓解。PromptFoo支持将任意LLM配置为评估者,使「AI评估AI」的工作流可以通过YAML声明式定义,这正是其CLI驱动架构的核心价值所在。

方向比执行更重要

理解「为什么测、测什么、用什么测」的方向性认知,比具体的工具操作和脚本编写更为重要。工具和脚本可以快速上手,但整套评估思维体系才是真正的核心价值。

对于面临行业变革的测试从业者而言,掌握从断言到评估的思维转变、理解AI评估的三层对象、建立双版本管理意识,才是在AI时代立足的核心竞争力。

背景补充

RAG(Retrieval-Augmented Generation,检索增强生成)是目前企业落地大模型应用最主流的技术路径。其核心思路是:不改动模型本身的权重,而是在每次提问时先从外部知识库(如企业文档、数据库)中检索相关片段,再将这些片段作为上下文拼入提示词,让模型「看着资料回答」。这样既能引入模型训练截止日期之后的新知识,又能有效减少模型「幻觉」。RAG评估的难点在于它是一条「检索→排序→生成」的多环节链路:检索环节用召回率、精确率衡量;生成环节则用忠诚度(Faithfulness,回答是否忠于检索到的原文,而非模型自行发挥)等指标衡量。任一环节出现问题都会拖累最终回答质量,因此需要分环节定位根因,而非只看最终输出。

#AI测试#AI评估#软件测试转型#PromptFoo#大模型评估#RAG测试#智能体测试#断言与评估
分享:

相关推荐