

软件测试行业有一条长期有效的基本假设:相同的输入,应该产生相同的输出。
这条假设,是几乎所有测试方法论的底层基石。确定性,让我们得以建立预期、设计断言、判断通过与失败。从单元测试到端到端测试,从等价类划分到边界值分析,整套测试体系的逻辑自洽性,建立在“系统行为可预测”这一前提之上。
大语言模型的出现,把这条假设打碎了。
向同一个 AIGC 应用发送同一条消息,你可能得到措辞不同但语义等价的回答,也可能得到侧重点各异的内容,偶尔还会得到完全出乎意料的输出。这不是 Bug,这是大模型的基本工作方式。但对于测试工程师而言,它制造了一个根本性的困境:当“正确答案”本身是模糊的,“测试通过”意味着什么?
这个困境,正在把测试行业分成两类团队——“传统框架迁移”派与“质量体系重构”派。前者试图用现有的测试方法论覆盖 AIGC 应用,做一些局部调整勉强适配;后者意识到,AIGC 应用的质量保障需要一套从底层逻辑重新设计的体系,旧地图无法指引新大陆。
两种选择之间的距离,不只是方法论的差异,更是对 AIGC 应用质量本质的认知深度之争。
本文将沿着这条对比线,从质量定义、测试设计、评估标准到体系运营,系统拆解构建 AIGC 应用质量保障体系的核心逻辑。
目录
测试传统应用时,质量标准通常是二元的:登录成功或失败,数据保存正确或错误,接口返回 200 或报错。这种二元性让测试结果清晰可判。
AIGC 应用打破了这种清晰。一个客服机器人对用户投诉的回复,可能在语言流畅度、信息准确性、情感适切度、问题解决率上各有高下——没有一个单一维度能定义它是否“通过测试”。
传统框架迁移的做法,是强行在输出上建立确定性断言:检查回复是否包含某些关键词,检查格式是否符合模板,检查敏感词是否被过滤。这些检查有价值,但它们只覆盖了质量的“底线”层——防止明显错误,却无法评估输出是否真正“好”。
质量体系重构的起点,是为 AIGC 应用建立一套多维度质量框架,承认质量的连续性与多层次性:
基础合规层(可自动化验证):
内容质量层(需半自动化评估):
用户体验层(需人工或模型评估):
这三层质量框架,对应三种不同的评估手段,需要被分别设计和运营。把它们混在一起用同一套标准衡量,是大多数 AIGC 测试方案失效的根本原因。
质量的重新定义,不是在降低标准,而是在承认真实的复杂性,并为这种复杂性建立有结构的处理方式。
传统测试用例的设计逻辑是:给定输入,预设期望输出,执行后比对。这个逻辑简洁有力,但它依赖一个前提:期望输出是可以被事先明确定义的。
AIGC 应用的测试设计,必须面对“期望输出无法被完全预定义”这一现实。这不是让测试设计变得不可能,而是要求测试设计从“断言验证”转向“行为边界探索”。
传统框架迁移的用例设计,通常呈现为:准备一批标准问答对,将用户提问输入系统,检查输出是否与标准答案相似。这在功能演示时看起来像回事,但它的覆盖逻辑存在根本性缺陷:标准问答对覆盖的是“预期内的正常情况”,而 AIGC 应用在真实环境中面临的风险,恰恰集中在边界、异常和对抗性输入上。
质量体系重构的测试设计,围绕四类核心场景展开:
能力边界测试:系统性地探测模型在不同难度、不同领域、不同语境下的能力边界。不是为了找到“失败点”然后打补丁,而是为了建立一张清晰的“能力地图”,让产品和运营团队知道这个 AIGC 应用真正擅长什么、在哪里可靠、在哪里需要人工托底。
鲁棒性测试:设计一系列“压力性输入”——语义模糊的问题、包含错误前提的提问、中途切换话题的多轮对话、夹带特殊字符或格式的输入。目标是验证系统在非理想输入下的降级行为是否在可接受范围内。一个具体案例:某智能合同审查工具在测试中发现,当用户上传的合同文档包含大量扫描噪点时,模型会以高置信度给出错误的条款解读,而非如预期般返回“文档质量不足,建议人工核查”的提示。这类边界行为,只有通过鲁棒性测试才能被发现。
一致性测试:设计语义等价但表达不同的问题对(如“这款产品适合老年人吗”与“老年用户使用这款产品会有什么问题”),验证系统的回答是否在核心信息上保持一致。一致性的缺失,在用户层面表现为“这个 AI 说话前后不一”,是严重的信任损耗。
对抗性测试(Red Teaming):主动尝试通过精心设计的提示词,诱导系统输出有害内容、绕过安全限制、泄露系统提示词或其他用户数据。这类测试在 AIGC 应用发布前是不可省略的,通常需要引入专注于安全测试的团队或外部资源,且应在每次重大功能更新后重复执行。
测试设计的转变,核心是从“验证预期行为”到“探索真实边界”。这需要测试工程师具备更强的假设生成能力——在没有明确预期答案的情况下,能够判断“这个输出是否在可接受的范围内,以及为什么”。
AIGC 测试的执行难点,在于它无法被完全自动化——但这不意味着只能依赖人工评估。真正的解决方案,是建立一套分层的评估管道,让不同性质的质量问题由最合适的手段来处理。
传统框架迁移的执行体系,通常在两个极端之间摇摆:要么试图建立全自动化的测试流水线(但因为缺乏可靠的自动断言而频繁误报),要么完全依赖人工评审(速度慢,难以规模化,评审标准也因人而异)。
质量体系重构的执行体系,围绕三个层次设计:
第一层:规则型自动化检查
处理所有可以被明确规则化的质量维度:
这一层完全自动化,执行速度快,可以覆盖大批量的测试案例,是整个评估管道的吞吐量保障。
第二层:模型辅助评估(LLM-as-Judge)
使用另一个语言模型作为“评估者”,对第一层无法判断的质量维度进行评分:
这种“用 AI 评估 AI”的方式有其局限性——评估模型本身也可能出错,且对细微的语义差异敏感度不足。但它能在规模化场景下提供远比规则检查更丰富的质量维度覆盖,是自动化与人工之间不可缺少的中间层。
实践中,这一层的关键在于评估 Prompt 的设计质量。一个设计良好的评估 Prompt 应当包含明确的评分维度定义、具体的评分标准示例(含“好”与“不够好”的对比案例),以及要求模型给出评分理由而非仅返回分数——这让评估结果可解释,也便于人工校验评估者本身的可靠性。
第三层:人工专项审核
聚焦在前两层无法可靠处理的场景:
这一层的价值不在于覆盖量,而在于维持整个评估体系的“真北”——确保自动化层和模型评估层的判断标准与人类价值判断保持一致,而不是在机器逻辑里悄悄漂移。
三层评估管道的设计,让“规模”与“深度”不再是非此即彼的选择,而是通过合理的分层协同实现的。
传统应用的质量保障,在节奏上是间歇性的:版本迭代时密集测试,发布后质量状态相对稳定,直到下次迭代。这个节奏与研发周期对齐,逻辑清晰。
AIGC 应用的质量状态,是持续动态变化的。即使应用代码没有任何改动,底层模型的更新、知识库的扩充、用户输入分布的漂移、外部知识的时效性变化——这些因素都可能在某一天悄然改变应用的实际表现。
一个真实的场景:某企业内部使用的 AIGC 知识问答系统,在上线三个月后被用户反映“最近回答越来越不靠谱”。排查后发现,问题不在于系统本身,而在于公司政策文档库在两个月前完成了一次大规模更新,但知识库的向量索引重建流程存在覆盖遗漏,导致模型仍在基于部分过期文档生成回答。这个问题,只有持续质量监控才能在第一时间被捕捉。
传统框架迁移的团队,对这类问题通常是被动响应——用户投诉了,或者在下次版本测试时才发现,已经造成了信任损耗。
质量体系重构需要将质量监控从“版本事件”变成“持续运营”:
持续质量监控的建立,要求测试团队的角色从“发布前守门人”演进为“生产环境质量运营者”。这是一个更持续、更复杂的职责,但它对应的,是 AIGC 应用在真实世界中的质量状态,而不只是实验室里的测试结论。
AIGC 应用的质量保障,本质上是在为一个不确定性系统建立可信赖的质量边界。
这和过去几十年软件测试面对的问题,有本质上的不同。过去,不确定性是我们试图消除的对象——通过更完整的规格说明、更严格的代码审查、更全面的测试覆盖,将系统行为的不确定性压缩到接近于零。
现在,不确定性是我们需要学会共存并管理的对象。我们无法要求大语言模型每次给出完全相同的输出,就像我们无法要求一位有经验的顾问在面对复杂问题时只给出唯一答案。我们能做的,是建立一套框架,确保它的输出在关键质量维度上保持在可接受的范围内,并在范围被突破时能够快速感知和响应。
几点可执行的建议:
测试工程师在 AIGC 时代面临的最大挑战,不是技术能力的缺口,而是思维模式的跃迁——从“验证确定性”到“管理不确定性”,从“判断对错”到“评估好坏的程度与边界”。
这是一次真正的专业进化。它要求测试工程师同时具备严谨的工程思维和对业务质量的人文判断力,在数据与直觉之间找到平衡,在自动化规模与人工深度之间做出智慧的取舍。
掌握这套新专业主义的人,将在 AIGC 应用快速普及的时代,成为组织中真正不可替代的质量守护者。