
前段时间有位粉丝去参加面试,回来总觉得答得不太好,找到我,想让我帮他复盘一下。题目拿过来一看,里面有几道问题挺典型的,挑几道出来,跟大家分享一下。
面试聊的是他做的测试用例 Agent 项目,面试官问得挺细,从提效数据怎么统计,一直问到方案本身有什么短板。每道题我都站在面试官的角度拆了一下,这道题面试官到底想听什么,怎么答能答到点子上。大家可以先自己想想,再对照我的思路看。
候选者的回答,应粉丝要求,就不展示了~
面试官问:测试用例 Agent,用例编写从 68 小时缩短到 23 小时(简历中有提到),这个数据怎么统计的?
面试官问这个问题,不是单纯要计算公式,这是一道典型的 “数据真实性/严谨性” 追问题。面试官想考察的不是数字本身,核心考察的是,你是不是拍脑袋编的数字,有没有清晰、可复现的统计口径,以及你是否诚实对待数据的局限性,有没有盲目夸大收益。
面试官您好,这个时长我们是有针对同等复杂度需求做过对照统计的:
基线 68 小时: 是我们在引入 Agent 之前的基线,取自项目管理平台(如 Jira/禅道)中同一类任务的历史工时。我们选了引入前 2~3 个迭代、同一团队、同类复杂度的需求作为样本,比如 50 个需求、累计 500 条用例,统计的是从需求评审完成到用例评审通过的端到端耗时,而不是只算 ‘打字’ 的时间——包括用例设计、编写、自查、评审返工。”
23 小时:是引入 测试用例 Agent 之后,我们在相同口径下度量:同样的团队、相近复杂度的需求,同样从需求评审完成到用例评审通过。数据来自任务工时记录 + 用例评审记录。统计的是人在这个链路里的实际投入工时,Agent 自动生成的耗时不计入人工工时。
并且,为了尽量减少干扰,我们特意做了几件事保证可比性:
这里在回答时,还可以主动拆解时间去哪了(体现深度)
比如,原来 68 小时里,设计约 20h、编写约 30h、评审返工约 18h。Agent 主要压缩的是编写环节(30h→8h),设计和评审环节仍以人为主。所以提升的本质是人机分工,而不是 AI 替代了全部。
如果候选者,能主动拆解一下,是很能打动面试官的——说明你理解提效来源,而不是甩一个数字。
68h →23h,节省了这么多,那能不能继续往下压?瓶颈在哪?
建议回答:现在瓶颈不在打字、结构化罗列,而是需求里没有写清楚的隐性规则、业务耦合场景、风险判断,这些 Agent 目前阶段很难自动识别,必须靠测试人员理解业务、和产品对齐。这部分工时很难再大幅压缩。
面试官问:AI 生成的测试用例,怎么保证可执行、场景覆盖完整?边界、分支场景怎么保证不漏?
这是上一题的延伸,面试官在考察你对 AI 生成内容的质量工程的理解。核心答题思路:不要说 “我们靠人工看”,AI Agent 本身不能自动保证全覆盖,它擅长结构化、显性规则;边界、分支、隐性业务约束是短板。我们主要是靠「多层约束 + 校验机制 + 人工兜底闭环」来保障可执行性和场景覆盖,而不是信任模型一次性输出。
我们是主要分四层来保障:输入约束、生成时的推理引导、自动化校验、人工评审 + 持续反馈闭环,同时会分开解决【可执行】和【覆盖完整】两个问题。
第一,先解决可执行性。
第二,解决分支、边界、异常场景不漏,这块是重点,也是 AI 最容易翻车的地方:
第三,覆盖度校验,用来发现漏掉的场景: 生成完用例之后,我们会反向做覆盖率对账:
重点:不是 AI 自己判断有没有覆盖,而是 “拆解清单” 和 “生成用例” 做比对,把遗漏点显性化。
第四,人工闭环 + 持续迭代,解决隐性规则。 需求文档里很多隐性逻辑、业务潜规则、历史兼容逻辑,文档不会写,AI 看不到。所以:
最后我也会主动提局限性: 对于强耦合、复杂业务、多系统联动、产品口头约定的特殊规则,Agent 依然很难自动识别,这部分的兜底责任还得是测试专家,Agent 是辅助拆解和生成,而不是替代覆盖设计。
如果需求本身写得模糊,Agent 会不会生成一堆无效场景?
建议问题:Agent 识别到需求歧义点时,我们设计了一个机制:先抛出疑问清单,而不是自行脑补假设去生成用例,由测试找产品确认之后再继续生成,避免基于错误假设产出一堆错的用例。
面试官问:覆盖度检查只能代表需求维度覆盖,不等于逻辑正确,怎么解决?
您说得非常对,这也是我们落地时踩过的坑:覆盖率检查只能解决「有没有覆盖这个分支 / 场景」,也就是覆盖广度;但覆盖上了,不代表用例的逻辑、预期、业务规则是对的。覆盖度 ≠ 正确性。
我们的方案是把两个事情分开:
第一层:结构化元数据做硬校验(确定性规则,机器自动卡) 把接口 Schema、枚举字典、数据库约束、状态流转图、配置规则作为知识来源,而不是靠模型脑补。 比如:
这一层的特点:有标准答案,规则可代码化,不依赖大模型主观理解,优先在这里拦截低级逻辑错误。
第二层:业务规则校验器(规则引擎 + 知识库) 针对固定业务约束,我们沉淀了业务规则库,写成规则,不是交给模型自由发挥。 比如:退款金额不能大于原支付金额、未结算订单不能销户。 Agent 生成预期结果之后,会送入规则引擎跑一遍:如果用例的操作 + 预期违反了业务规则,直接标记【逻辑冲突】,返回错误提示给 Agent 重生成。
第三层:用例自洽校验 + 因果推理校验(大模型负责复杂逻辑审查) 适合没有办法写成硬代码规则的复杂业务逻辑,交给一个专门的「评审子 Agent」,它不生成用例,只做审查,固定问 3 类问题:
这里要注意:模型审查只是告警,不能作为判定正确的依据,只输出风险疑点清单,交给人复核。
第四层:人工分级评审 + 回归闭环,解决最核心的 “隐性业务逻辑” 硬规则、规则库、模型审查都只能处理文档化、沉淀过的逻辑。 很多业务逻辑是历史兼容、口头约定、特殊例外场景,没有写进文档,也没有进规则库,机器识别不了。 所以我们做分级评审:
最后补充边界,主动暴露局限性(加分项): 这套体系依然不能做到 100% 自动保证逻辑正确。它的目标是:把低级、确定性的逻辑错误自动化拦截,把人的精力从查分支有没有漏,转移到校验复杂业务逻辑、特殊例外场景上。
面试官问:这套测试用例生成 Agent 方案本身存在什么问题?
这个 Agent 我们给它的定位,主要是用于解决标准化、显性规则类用例的提效,当然它不是万能的,这套方案我们在落地过程中,确实有几个绕不开的短板,越是复杂、隐性、强业务语义的场景,短板越明显,我一个个说:
1、依赖输入素材质量,输入脏,输出就一定差(最核心痛点)
整套流水线的起点是:需求文档、接口文档、知识库。
2、规则引擎、知识库、Few-shot 样本持续维护成本高,容易变成技术债务
前面我们提到:Schema 校验、状态流转规则、业务约束、缺陷样本库,都是正确性校验的核心。
3、复杂多条件组合、跨系统联动场景,推理能力不稳定
对于单接口、单状态流转、简单分支,效果很好; 但是遇到:多服务联动、分布式事务、异步回调、多角色多配置叠加、时序相关场景(先后操作顺序影响结果),大模型容易出现因果错乱:
4、校验链路有盲区,正确性校验无法做到完全自动化
我们分了三层校验:硬规则、规则引擎、评审 Agent:
5、产出物容易 “形式正确,但脱离实操”,可执行性依然有坑
虽然我们强制绑定模板、接口 Schema,但 AI 容易写出 “纸面可用” 的用例:
6、人的能力退化风险,团队侧软问题
长期依赖 Agent 生成初稿,测试同学会慢慢减少自己主动做等价类、边界、状态分析的习惯; 新人如果直接依赖 Agent 输出,缺少用例设计的训练,识别异常、判断业务风险的能力会变弱; 评审的时候容易变成 “看一眼 AI 写的,直接放行”,把 Agent 的输出当成标准答案,放松审查,反而引入隐性风险。
7、模型本身的不确定性,输出不稳定
同样一份需求、同样的知识库,不同时间生成的清单、用例质量会波动; 这次拆解很完整,下次可能少拆一个分支; 给评审带来额外负担:每次都要重新仔细核验,没办法稳定信任输出。
面试官问:用量上来之后,怎么持续保证 AI 生成用例正确?人工审核也有漏审风险怎么办?
规模上来之后,肯定不能再单纯靠 “人工逐行审” 来兜底了,大体可以分成四块来讲:事前准入、事中多层校验(减少流入人工的错误)、评审机制改造(降低漏审概率)、事后观测与自动回流(漏出去的问题自动捕获反哺)
1、事前:分级准入,从源头减少错误流入
规模大了,最忌讳所有需求一股脑丢进 Agent。
2、事中:机器校验分层加固,把大部分错误拦在人工评审之前(减少人工压力)
前面提到的硬校验、规则引擎、评审 Agent,规模化之后要做可量化、可告警、可统计,而不是简单输出疑点:
3、评审机制改造:用交叉、抽检、多人复核减少漏审
人工一定会漏,所以不能依赖单人一次评审就放行,靠机制降低概率:
这里要坦诚:这套机制只能降低漏审概率,无法彻底消灭漏审,所以必须有事后兜底。
4、事后:执行侧、线上侧的观测闭环,捕获漏审出去的问题,自动回流
这是规模化持续保证正确最关键一环,也是很多方案缺失的:
面试官问:大模型本身存在幻觉,为什么还用大模型做用例质量校验,而不是纯规则?这个矛盾点有没有考虑过?
这个矛盾我们有重点考虑过的。
我们的策略是分层:能固化成确定性规则的,全部用规则引擎校验,优先用规则,避免大模型幻觉;只有那些复杂联动、业务因果、语义自洽这类很难写成规则的场景,才交给大模型评审 Agent。
也就是说,我们并不是用大模型替代规则校验,而是二者分工互补,各自只干自己擅长的事,并且有明确的权责边界。
下面还可以分层展开讲一下:
第一层:先分清两类校验对象,哪些适合纯规则,哪些规则很难写
第二层:怎么隔离幻觉风险
核心设计有三条:
大模型只有 “疑点上报权”,没有 “放行 / 驳回的决定权” 规则引擎的结果是判定:通过 / 不通过,直接生效。而大模型评审输出给的是【风险疑问清单】。
对大模型的疑点做分级,并且统计它的幻觉(误报)指标,用于持续收敛 :
第三层:讲清楚边界和兜底,主动暴露局限,体现思考深度
我们有明确的红线: 凡是资损、权限、核心交易类的强校验,绝不依赖大模型评审,全部下沉到规则引擎。 大模型只用来处理那些:规则不好写、变更频繁、属于业务语义、因果推理类的软校验。
当然这个方案确实也存在短板,比如: 大模型有概率漏报(幻觉的另一种形式:看不出明显错误),所以我们不会因为模型没报疑点,就认为这条用例没问题。 所以配套了:抽样复核、变更 diff 评审、事后执行反馈闭环。
既然大模型会漏报,那它的价值是不是很低?
建议回答:价值体现在提前发现大量规则覆盖不到的隐性逻辑问题。很多跨模块联动、隐性业务约定,我们很难提前预知、提前写成规则。模型可以低成本批量扫描,帮人聚焦可疑点;它不能替代人,但可以降低人漏掉复杂因果问题的概率。
最后从面试官的角度,说说这类问题该怎么答,侧重什么。
这类围绕 AI 项目的追问,问来问去想确认的就是一件事,这东西你有没有真做过。
数字被追问时,把口径和对照讲清楚,比提升百分比本身更重要;聊质量保障,说清机器拦哪层、人守哪层;问到方案短板时,大胆承认,能主动说出局限的候选人,面试官反而放心。别一味的甩出结论,记得要把过程讲出来、期间遇到什么问题又是怎么解决的,这些反而比结论更重要。