1. 当AI坐进测试工位,质量这口锅到底该谁背
测试团队里最近半年最常被拎出来吵的话题,不是自动化覆盖率,也不是用例评审效率,而是AI介入之后,测试质量到底怎么算、出了问题找谁。我所在的团队从去年底开始把AI工具嵌进测试流程,从用例生成、接口断言补全,到缺陷报告聚类、回归范围推荐,几乎每个环节都试了一遍。踩过的坑比想象中多,有些是工具本身的边界问题,有些是流程没跟上导致的问责真空。
这篇文章想聊的就是这件事:AI介入测试工作流之后,质量把控的抓手在哪里,问责链条怎么重新画。适合两类人看——一类是正在评估或已经引入AI测试工具的测试负责人,另一类是每天跟AI生成的用例、断言、报告打交道的执行同学。我不会讲“AI将颠覆测试”这种空话,只讲我实际跑过的流程、遇到的翻车现场,以及最后沉淀下来的那套“人机责任划分表”。
核心关键词就三个:AI测试流程、质量把控、问责机制。这三个词贯穿全文,也是我在团队里反复对齐的抓手。先把结论摆前面:AI在测试里的角色是“放大器”和“加速器”,不是“责任人”。质量的第一责任主体永远是人,但问责的颗粒度需要重新切分——切到“谁审了AI的输出”“谁定义了AI的边界”“谁在AI置信度低的时候做了决策”。
2. 为什么AI介入后,老的质量把控手段会失灵
2.1 传统测试质量把控的底层假设被打破了
过去我们做质量把控,底层逻辑是“人写的用例、人执行的步骤、人判断的结果”,所以问责链条很清晰:用例漏了场景找用例作者,执行漏了步骤找执行人,判断错了找评审人。这套逻辑成立的前提是,每个环节都有明确的人类动作可以追溯。
AI介入之后,这个前提松动了。举个例子,我们用AI生成接口测试用例,它基于接口文档和历史缺陷数据,一口气吐了200条。这200条里,有180条是合理的,15条是重复的,5条是看似合理但实际会误报的。问题来了:如果这5条误报的用例被合入基线,后来导致一次误判,责任算谁的?算写prompt的人?算审核用例的人?算AI工具本身?还是算批准合入的人?
我试过最蠢的做法,是把责任推给“AI生成的质量不稳定”,然后要求每个用例都必须人工重写一遍。结果就是AI带来的效率提升被人工重写吃掉了大半,团队怨声载道。后来想明白了,问题不在AI,在于我们还在用“人写用例”时代的问责颗粒度,去套“人机协作”时代的流程。
2.2 AI输出的“概率性”和测试要求的“确定性”天然冲突
测试工作对确定性的要求极高。一个断言要么通过要么失败,一个缺陷要么复现要么不复现,一个回归范围要么覆盖要么遗漏。但AI的输出是概率性的,同一个prompt跑两次,生成的用例可能不一样;同一个缺陷报告,AI聚类的结果可能这次分到A类下次分到B类。
这种冲突直接导致质量把控的抓手变了。以前我们抓的是“用例有没有写全”“步骤有没有写细”,现在要抓的是“AI输出的置信度阈值设在哪”“低置信度输出有没有人工兜底”“AI的决策边界有没有被明确记录”。换句话说,质量把控从“检查结果”前移到了“检查AI的使用方式”。
我踩过的一个坑:早期我们让AI直接判断接口返回是否通过,没有设置信度阈值。结果有一次AI把一个实际失败的返回判成了通过,因为返回体里有个字段的值是“error”但HTTP状态码是200,AI觉得状态码200就是成功。这个误判直到线上出问题才被发现。事后复盘,根因不是AI笨,是我们没有定义“AI在什么情况下可以自主判断,什么情况下必须转人工”。
2.3 问责真空:AI不背锅,人又说不清
最尴尬的局面是,出了问题之后,测试同学说“这是AI生成的,我只是点了合入”,AI工具方说“模型输出有不确定性,建议人工复核”,最后锅悬在空中,谁都不接。这种问责真空比具体的质量事故更可怕,因为它会腐蚀团队对质量体系的信任。
我后来在团队里推了一条硬规矩:任何AI生成的测试资产,合入基线之前必须有一个明确的人类责任人签字。签字的人不一定是写prompt的人,但必须是理解这批资产业务含义的人。签字意味着“我审过了,我认这个质量”。这条规矩看起来笨,但它把问责链条重新接上了。
3. 重新画问责链条:人机责任划分的四个层级
3.1 第一层:AI工具选型与边界定义的责任
这一层的责任人是测试负责人或技术负责人。你要回答的问题是:选什么AI工具、用在哪些环节、每个环节的置信度阈值设多少、什么情况下必须转人工。这些决策不是执行同学能做的,必须由对质量体系负责的人来定。
我们当时选工具的时候,对比了三类方案:通用大模型直接调API、垂直测试领域的AI工具、自研的轻量模型。最后选了“通用大模型+垂直工具”的组合,原因是通用模型在理解业务语义上更强,垂直工具在测试资产的结构化处理上更稳。这个选型决策本身就是一个质量把控动作,因为不同工具的误报率和漏报率差异很大。
边界定义更关键。我们给每个AI使用场景都写了一份“边界卡”,比如“AI生成用例”这个场景,边界卡上写着:AI可以生成正向用例和常见异常用例,但涉及资金、权限、数据一致性的用例必须人工编写;AI生成的用例必须经过至少一轮人工评审才能合入;AI置信度低于0.7的用例直接丢弃,不进入评审环节。
提示:边界卡不是写完就完了,每次出现AI相关的质量事故,第一件事就是回看边界卡,看是边界没定义清楚,还是执行时越过了边界。
3.2 第二层:AI输出审核与合入的责任
这一层的责任人是执行测试的同学或测试开发。AI生成的东西,不管是用例、断言、缺陷分类还是回归推荐,都要经过人工审核才能进入正式流程。审核不是走形式,审核人要对内容负责。
我们内部把审核动作拆成了三步:第一步是“合理性检查”,看AI的输出在业务逻辑上说不说得通;第二步是“重复性检查”,看有没有和现有资产重复;第三步是“风险标记”,把AI输出里拿不准的部分标出来,要么人工补全,要么直接丢弃。
这里有个实操心得:不要让写prompt的人自己审AI的输出。因为写prompt的人会有“这是我调出来的结果”的心理惯性,容易高估AI输出的质量。我们后来改成交叉审核,A写的prompt生成的用例,由B来审,误报率明显下降。
3.3 第三层:AI决策记录与可追溯的责任
这一层的责任人是测试开发或工具维护者。AI在测试流程里做的每一个“决策”,比如“推荐了这50条回归用例”“把这个缺陷归类为P2”“判断这个断言应该用模糊匹配”,都要有记录。记录的内容包括:AI的输入是什么、输出是什么、置信度多少、最终采纳了什么、谁采纳的。
为什么要记这么细?因为出了问题之后,你需要能回答“AI当时为什么这么判断”。如果没有任何记录,复盘就只能靠猜。我们早期没做记录,有一次回归范围推荐漏了一个核心模块,事后完全说不清是AI没推荐还是推荐了但被人删了。后来加了决策日志,类似的问题再也没出现过扯皮。
决策日志不用搞得很复杂,我们就是在测试管理工具里加了一个字段,记录“AI参与度”和“AI决策摘要”。AI参与度分三档:全人工、AI辅助人工决策、AI自主决策。目前我们团队不允许任何“AI自主决策”直接生效,所有AI自主决策都必须有人工确认环节。
3.4 第四层:质量结果兜底与复盘的责任
这一层的责任人是测试负责人。不管AI参与了多少,最终的质量结果由测试负责人兜底。这不是说测试负责人要背所有锅,而是说当问责链条走到AI这一环卡住的时候,测试负责人要能拍板定责。
我们内部的复盘机制是这样的:任何与AI相关的质量事故,复盘时先看边界卡有没有覆盖这个场景,没覆盖就是边界定义的责任;再看审核环节有没有按流程走,没走就是审核人的责任;再看决策记录完不完整,不完整就是工具维护者的责任;如果以上都没问题,那就是AI工具本身的局限性,责任落在选型决策上。
这套机制跑了大半年,最大的感受是:问责不是为了找人背锅,是为了让每个环节的人知道自己该做什么。当每个人都知道“我这一环的AI使用边界在哪、我要审什么、我要记什么”,问责真空自然就消失了。
4. 实操:把AI测试流程的质量把控落到具体动作
4.1 用例生成环节的质量把控实操
AI生成用例是我们用得最多的场景,也是坑最多的场景。我们的流程是这样的:
第一步,准备输入。把接口文档、历史缺陷报告、业务规则说明整理成结构化的prompt输入。这里的关键是历史缺陷报告的质量,如果历史缺陷写得含糊,AI生成的用例也会含糊。我们花了两周时间把过去半年的缺陷报告重新清洗了一遍,把“接口报错”这种描述改成“接口在并发100时返回500,错误码XXX”。
第二步,设置生成参数。我们用的是“温度值0.3”这个档位,温度值太高会导致用例发散,太低会导致用例重复。生成数量上,我们一般让AI生成目标数量的1.5倍,然后人工筛选。比如需要50条用例,就让AI生成75条,留出筛选空间。
第三步,人工评审。评审分两轮,第一轮是快速过滤,把明显不合理的、重复的、超出边界卡范围的直接删掉;第二轮是精细评审,对保留下来的用例逐条看断言是否合理、步骤是否完整、预期结果是否明确。
第四步,合入基线。合入的时候要打标签,标记“AI生成+人工评审”。这个标签很重要,后面如果这批用例出了问题,可以快速定位到是AI生成环节的问题还是评审环节的问题。
注意:AI生成的用例不要直接用于自动化脚本生成。我们试过让AI根据用例直接生成自动化脚本,结果生成的脚本里有大量硬编码和错误的元素定位。后来改成“AI生成用例→人工评审→人工编写脚本”的流程,虽然慢一点,但脚本的稳定性高了很多。
4.2 断言与校验环节的质量把控实操
断言是测试的牙齿,AI在这个环节的介入要特别小心。我们的做法是:AI可以推荐断言,但断言的最终确定必须人工确认。
具体流程是,AI根据接口返回的历史数据,推荐一组断言字段和匹配规则。比如对于用户信息接口,AI推荐断言“userId存在且为数字”“userName存在且长度大于0”“status在[0,1,2]范围内”。这些推荐会以“建议”的形式展示,测试同学逐条确认或修改。
这里有个细节:AI推荐的断言要区分“强断言”和“弱断言”。强断言是必须精确匹配的,比如金额、状态码;弱断言是可以模糊匹配的,比如时间戳、随机字符串。我们让AI在推荐断言时标注类型,人工评审时重点看强断言是否准确。
还有一个坑:AI有时候会推荐“过度断言”,比如对一个查询接口断言返回体的所有字段。这种断言看起来很全面,但实际上会让用例变得极其脆弱,任何一个无关字段的变化都会导致用例失败。我们的处理方式是,人工评审时把断言范围收敛到“业务核心字段”,无关字段不断言。
4.3 缺陷管理与回归推荐环节的质量把控实操
AI在缺陷管理环节的介入主要有两个:缺陷报告聚类和回归范围推荐。
缺陷报告聚类,我们让AI把新提交的缺陷和历史上的缺陷做相似度匹配,推荐可能的重复缺陷。这个功能的准确率大概在70%左右,也就是说AI推荐的重复缺陷里,有三成是误判。我们的处理方式是,AI的推荐只作为参考,最终是否标记为重复由人工决定。同时,如果人工判断AI推荐错了,会把这个case反馈回去,用于后续优化prompt。
回归范围推荐,我们让AI根据代码变更、历史缺陷分布、用例覆盖关系,推荐本次变更需要回归的用例集。这个功能的召回率比准确率更重要,也就是说宁可多推荐一些,也不要漏掉关键用例。我们的做法是,AI推荐的回归集必须经过人工确认,人工可以增加用例,但减少用例需要说明理由。
提示:回归推荐的结果要和代码变更记录关联存档。如果后续发现漏测,可以回溯是AI没推荐还是人工删掉了。
4.4 质量度量与AI参与度的关联分析
我们每个月会做一次质量度量,把AI参与度作为一个维度加进去。度量的指标包括:AI生成用例的缺陷发现率、AI推荐断言的误报率、AI聚类缺陷的准确率、AI推荐回归集的漏测率。
这些指标不是为了考核AI工具的好坏,而是为了找到“AI在哪些场景下靠谱、在哪些场景下不靠谱”。比如我们发现,AI在生成正向用例上的缺陷发现率接近人工,但在生成并发、异常、边界用例上的缺陷发现率明显低于人工。这个发现直接影响了我们的边界卡定义:AI可以多生成正向用例,但异常和边界用例必须人工主导。
5. 常见问题与排查技巧实录
5.1 AI生成的用例看起来合理但实际跑不通
这是最常见的问题。AI生成的用例在文本层面是自洽的,但落到实际执行环境里会各种报错。原因通常是AI不了解环境的特殊约束,比如某些接口需要特定的header、某些操作需要前置数据准备。
排查思路:先看用例的步骤描述里有没有遗漏前置条件,再看断言里有没有依赖环境特定的值。我们的解决方式是在prompt里加入环境约束说明,比如“所有接口调用需要携带X-Token”“用户ID必须从测试数据池中获取”。加了这些约束之后,用例的可执行性明显提升。
5.2 AI判断通过的用例实际是失败的
这是最危险的问题,因为会导致漏测。根因通常是AI的断言逻辑太宽松,或者AI对业务语义的理解有偏差。
排查思路:回看AI的断言推荐记录,看它当时为什么判断通过。如果是断言太宽松,就收紧断言规则;如果是业务语义理解偏差,就在prompt里补充业务规则说明。我们后来加了一条硬规矩:所有AI判断通过的用例,在合入基线前必须至少有一次人工抽检。抽检比例不低于10%。
5.3 AI推荐的回归范围漏掉了核心用例
这个问题在早期出现过一次,导致一个核心模块的回归被遗漏。排查下来发现,AI的推荐逻辑是基于代码变更的文本相似度,但那个核心模块的代码变更和用例之间的关联关系没有被AI学到。
解决方式:在AI推荐的基础上,加了一层“核心用例强制回归”的规则。不管AI推不推荐,核心用例都必须回归。核心用例的清单由人工维护,不依赖AI。
5.4 团队对AI输出的信任度两极分化
有的同学特别信任AI,AI生成什么就用什么;有的同学特别不信任AI,AI生成的全部重写。这两种极端都会影响质量把控。
我们的处理方式是,用数据说话。把AI生成用例的缺陷发现率、误报率这些指标公开出来,让团队看到AI在哪些场景下靠谱、在哪些场景下不靠谱。同时,在流程上设置“AI辅助”的中间档位,不是“全信”也不是“全不信”,而是“AI生成+人工审核+抽检”。
5.5 常见问题速查表
| 问题现象 | 可能原因 | 排查动作 | 解决方式 |
|---|---|---|---|
| AI用例跑不通 | 缺少环境约束 | 检查前置条件和环境依赖 | 在prompt中补充环境约束 |
| AI判断通过实际失败 | 断言太宽松或语义偏差 | 回看断言推荐记录 | 收紧断言规则,补充业务说明 |
| 回归推荐漏核心用例 | 关联关系未学到 | 检查代码变更与用例的关联 | 加核心用例强制回归规则 |
| 团队信任度两极分化 | 缺乏AI质量数据 | 统计AI参与环节的质量指标 | 公开数据,设置中间档位 |
| AI输出重复率高 | 温度值太低或输入重复 | 检查生成参数和输入数据 | 调高温度值,清洗输入数据 |
| AI聚类缺陷误判多 | 相似度阈值设置不当 | 检查聚类阈值 | 调整阈值,人工确认最终结果 |
6. 我踩过的坑和最后沉淀下来的几条硬规矩
踩过的坑里,最疼的一次是AI生成的断言在线上环境误判,导致一个资金相关的缺陷漏到了生产。事后复盘,根因是我们没有对AI推荐的强断言做强制人工确认。那次之后,我定了第一条硬规矩:涉及资金、权限、数据一致性的断言,AI只能推荐,不能直接采纳,必须人工逐条确认。
第二条硬规矩是AI参与度必须记录。每个测试资产都要标记AI参与程度,分“全人工”“AI辅助”“AI生成+人工审核”三档。这个标记不是为了追责,是为了在出问题的时候能快速定位到AI参与环节。
第三条硬规矩是边界卡每季度更新一次。AI工具在迭代,业务在变化,边界卡不能一成不变。我们每季度会回顾一次AI相关的质量事故和近失事件,更新边界卡的内容。
第四条硬规矩是AI输出的抽检比例不低于10%。不管AI的输出看起来多合理,都要抽检。抽检发现的问题要反馈到prompt优化或边界卡更新里。
最后分享一个小技巧:我们在测试管理工具里加了一个“AI决策日志”的看板,每天自动汇总AI在测试流程里的决策记录。测试负责人每天花五分钟扫一眼这个看板,就能知道AI今天在哪些环节做了决策、置信度分布如何、有没有低置信度的决策被采纳。这个看板帮我们提前发现了好几次潜在的质量风险。
这套流程跑下来,我的体会是:AI介入测试之后,质量把控的难度不是变小了,而是变大了。因为你要把控的不只是测试资产本身的质量,还有AI使用方式的质量。但一旦把问责链条重新画清楚,把每个环节的人类责任定义明白,AI带来的效率提升是实打实的。关键就一句话:AI可以生成、可以推荐、可以判断,但最终的责任必须落在具体的人头上。这个人不一定是执行同学,但一定是某个明确角色的明确责任人。