当AI测试覆盖率达到99.8%,我的“bug嗅觉”却消失了

2026年6月29日 27点热度 0人点赞 0条评论

导读

在人工智能高速渗透软件开发与测试的今天,当AI自动化测试工具宣称达到99.8%的代码覆盖率时,一个更深层次的危机正在悄然发生:测试人员的直觉——“bug嗅觉”——正在消失。老贺通过测试工程师张磊的亲身经历,揭示了一个被行业忽视的真相:AI工具在接管重复性测试、提升效率的同时,也在无形中“驯化”了人类专家,导致他们从“主动怀疑”的探索者退化为“被动接收报告”的审查员。

老贺并非否定AI的价值,而是警示一种危险的“能力让渡”。当AI生成的测试用例专注于覆盖所有“已知路径”时,那些潜藏在业务逻辑边缘、时序竞态、数据一致性中的“未知的未知”反而被系统性地忽略了。张磊的线上事故、测试总监王磊团队的故障率上升,都证明了“精确性的误导”比“直接的错误”更危险——它让人们放松了对那0.2%盲区的警惕。

老贺认为一个关键解决方案:“人类补丁”机制。即,AI负责全量路径覆盖,而测试人员必须强制保留一部分“反直觉场景”的手动设计能力。这不仅是测试流程上的补丁,更是对“怀疑能力”的刻意练习。文章最后以“保留那声‘不对劲’”作为点睛之笔,强调在AI时代,人类独有的、应对不确定性的直觉,仍是质量保障的最后一道,也是最坚固的屏障。文章的最终落脚点不是技术,而是对AI时代人类核心能力的警醒与重构。


凌晨两点十七分,张磊盯着屏幕上的报警信息,后背衬衫一片冰凉。

十五分钟前,线上用户数据开始丢失。支付成功但积分没到账,订单创建但库存没扣减——典型的分布式事务裂痕。报警信息堆了三十多条,生产环境每分钟都在损失真金白银。

但AI测试报告显示:全部通过。覆盖率99.8%。

他翻出半年前的记忆——那时候他还会在凌晨主动review变更代码,会在提测前花半小时“手动骚扰”那些看似不可能的边界组合。比如用户下单后立即取消、又在取消请求到达前支付成功——这种时序竞态条件,他总能凭直觉嗅出来。不为什么,就是“感觉这里不对劲”。

可此刻,他只能盯着AI刷屏的绿色对勾,脑子里一片空白。

我的嗅觉去哪了?

第二天复盘会上,开发团队问了一个让张磊更窒息的问题:“报告显示全部通过了啊,你怎么解释?”

他没解释。因为解释不了。

张磊干了十二年测试,从功能测试到自动化测试,从接口测试到全链路压测,他自认是个靠谱的人。三年前团队引入AI测试平台,他是最积极的那批试用者。平台每天扫描全部代码变更,自动生成验证用例,覆盖率从75%飙到99.8%。

他以为这是效率革命。

但那个凌晨的事实,像一盆冰水浇醒了他。99.8%的覆盖率,漏掉了致命的那0.2%。更可怕的是——AI替我覆盖了所有已知路径,却把我的直觉一起覆盖了。

他开始回溯:上一次主动设计“疯狂场景”是什么时候?上一次质疑测试设计本身、“这个用例是不是漏掉了什么”是什么时候?

答案是:三个月前。不,是半年。

他被AI驯化了。不是在睡觉,而是在一个“看起来在干活”的舒适区里慢慢失去力量。

张磊的状态不是个例。

去年我在一个测试社区做交流,一个同行问我:“老贺,你发现没有,现在我们团队测出来的bug越来越‘正常’了——都是边界值啊、空指针这种教科书级别的。但真正要命的那些——时序问题、数据一致性竞态、业务逻辑的隐式分支——全在生产环境才暴露。”

我问他:“那用AI工具之前呢?”

他沉默了几秒:“之前我们测出来过。”

这位同行叫王磊,是某中型电商平台的测试总监。他给我看了组数据:引入AI自动生成测试用例后,线上P0级故障半年内从3个涨到7个。这不是AI的错——AI生成的用例确实覆盖了更多已知路径,但问题是团队不再“补刀”了。

这就是个危险信号。“当算法宣称完美覆盖,正是风险最猖獗的时刻。”

王磊说了一句话我一直记得:“以前我每天下班前会问自己——今天我有没有漏掉什么?现在我每天问的是——报表覆盖了吗?”

你看,问题从“我有没有漏”,变成了“AI有没有做”。

张磊也走了同样的路。

他花了两天时间复盘那个凌晨的故障。没错,仓库机器的异常状态接入了一个非核心服务,那个服务的代码变更触发了订单系统的数据倾斜。这个组合路径——在传统测试用例设计里会被标注为“极其罕见,忽略”——但AI生成的用例压根没考虑业务场景的权重,它只做了一件事:保证每个代码路径都被访问。

逻辑上没错。但逻辑上的“完整”,不等于业务意义上的“安全”。

张磊说了一句话让我想了很久:“我突然意识到,我这半年来不是在‘测试’,我是在‘接受测试结果’。我变成了一个报告阅读员。”

这是一个被忽视的风险:当一个人长期只做“审查结果”而不是“生成怀疑”时,那种“怀疑”的冲动会自然消退。就像不用的肌肉,慢慢萎缩。AI测试的风险不在其准确性不足,而在其精确性误导——让我们误以为已充分覆盖危险区域。

Meta在2025年发布的JiTTesting研究也印证了这一点。他们在每个代码变更上实时生成catch tests,一年找到8个真实生产bug,其中4个会导致线上故障,生成效率提升4倍(来源:Meta,2025年)。数据漂亮吧?但王磊看得比我毒:“问题不是它发现了什么,而是它没发现什么。AI的测试设计基于训练数据里的历史模式——它在找已知的未知,找不到未知的未知。”

张磊决定做一个实验。

他停掉了AI测试平台的全部自动生成功能。接下来一周,他要求自己和团队里每个人,针对每次代码变更手动设计两个“异常组合”用例。

结果很有趣。

第一周,大家发现很难设计出“有意思”的用例。思路枯竭,写出来的都是边界值那些老套路。王磊那边也一样——有个干了八年的测试工程师告诉他:“我现在想不出那种‘诡异’的场景了,脑子里全是模板化的东西。”

张磊说那一刻他后背又凉了一次——不是技术上的凉,是能力上的凉。

“人类正在将本属于自己的应对不确定性的核心能力,让渡给一个擅长处理确定性的工具。”

第二周,情况开始变化。有人开始“钻空子”——比如发现订单状态枚举里有一个隐藏的“挂起”状态,不在任何文档里,但代码里确实存在。这类“业务隐式分支”是AI永远发现不了的——因为它不写在需求文档里,甚至不写在代码注释里。

张磊说,这个发现让他意识到一件事:他半年来一直在信任“精确性”,但系统的真正风险从来不在“精确路径”上。

我告诉他,这让我想起之前参与CT-GenAI测试大纲讨论时的一个场景。大纲第三章讲“生成式AI的风险管理”,有专家问了个尖锐的问题:怎么测幻觉?我们讨论了一堆方法——交叉验证、专家咨询、一致性检验。但最后大家承认了同一个事实:你永远无法100%消除幻觉,只能管理它。

这和传统测试思维完全不同。传统测试追求“零缺陷”,但AI测试追求“可接受的缺陷率”。原理上没错,但执行中会变形:当你把“可接受的缺陷率”和“99.8%覆盖率”画等号时,你就放松了对那0.2%的警惕。

而真正的故障,往往恰好躲在那0.2%里。

张磊在第三周做了一次团队分享。

他说:“我不是说AI不好。我们是回不去了——不可能回到纯手工测试的时代。但我要问的是:你们有没有发现,自己的‘怀疑能力’在下降?”

会议室安静了十秒。然后有人接了一句:“我上个月发现一个bug,不是测出来的,是半夜突然想到的——那个场景我总觉得哪里不对。第二天一上午,果然复现了。”

“但那之后我再也没有过这种‘半夜被灵感叫醒’的感觉。”他补充道。

张磊把这个现象称为“测试者退化”:不是技能的退化(大家都会写用例、都会用工具),是直觉的退化——那种“不对劲”的感觉消失了。当那个信号不再出现时,你就成了一个“按流程操作”的质检员,而不是“主动拦截风险”的守护者。

我在领测内部讨论时经常说一句话:真正有威胁的不是AI取代人,是人被AI“惯坏”到不愿意再动脑。

那种“直觉告诉你哪里不对劲,但所有自动化报告都显示正常”的时刻——你选择相信AI,还是相信自己的不适感?

这个选择在未来几年会越来越频繁地出现在每个测试工程师面前。

两个月后,张磊给我发了一条消息。

他们调整了AI测试平台的使用策略:AI负责全量路径覆盖,但每个版本必须有“人类补丁”——至少三个团队手动设计的“反直觉场景”用例。补丁用例放进自动化回归集里,下次版本可以复现。

他告诉我,线上故障从那个凌晨后,再没出现过类似的致命问题。

但他又说了一句话,让我没法完全放心:“我现在每次看到AI报告都是绿色的,还是会愣一下——是不是有什么东西我没想到?”

我觉得这个愣一下,恰恰是最珍贵的东西。

当AI测试报告全部通过时,真正的安全信号不是那一片绿,而是你心里那一声“不对劲”。

保留那声“不对劲”,比保留99.8%覆盖率重要得多。因为那才是人类在不确定性面前最后的屏障——知道有些东西没有被覆盖,而且是永远无法被完全覆盖的。

张磊改了自己的微信签名,写了八个字:“怀疑是种能力,需要练习。”

我每周会问他一次:“这周你手动‘骚扰’了几个边界?”

他没一次没回答。

领测老贺

30年软件测试老兵 | ISTQB CT-GenAI测试本地化工作组组长

专注AI时代的软件测试方法论与实践

AI测试,自动化测试,质量保障

领测老贺

领测软件测试网站长,ISTQB认证高级培训师,TMMi认证咨询师。深耕软件测试行业20余年,领测老贺聊软件测试制造者。

文章评论