网易首页 > 网易号 > 正文 申请入驻

两个测试全绿,代码却还在多收钱?

0
分享至

让AI写单元测试,最迷惑的场景不是测试挂了,而是全绿。一个订单满100减10%的函数,在金额正好是100时返回了100而不是90,可两套测试跑下来一个都没报错。

问题出在期望值从哪来。当智能体先写完代码、再回头补测试,它写的测试描述的是自己刚写的那份代码,于是连bug一起被"验证通过"了。

素材里给了两个典型写法,都用TypeScript和Vitest。被测试的函数长这样:订单满100打九折,但判断条件写成了大于100,而不是大于等于。

第一种:把被测函数mock掉。测试里直接让applyDiscount返回90,然后断言它等于90。这个断言检查的是mock,真实代码一行都没跑过。给支付服务这类外部依赖做mock是正当用法,但mock掉自己正要验证的函数,等于自己给自己发合格证。

第二种:用代码自己的公式算期望值。测试里照着实现写了一遍total > 100 ? total * 0.9 : total,连边界bug一起抄了进去。代码错在哪,期望值就错在哪,两边永远对得上。

这两种写法的共同点是:期望值来自智能体自己写的代码。只要来源是代码,测试就可能重复代码的错误,而不是抓住它。

有研究量化过这个现象。一项2026年7月的研究里,11个模型、13种模型与模式组合,为318个Java方法写了测试,这些方法背后对应233个真实bug。平均下来,3.84%的测试是从有bug的代码写出来的,它们在bug上通过、在修复后失败。而从修复后的代码写出来的测试,这个比例是0.46%(Zhao、Zhou与Cohen)。

那多写点测试能不能解决?另一项2026年2月首次发布的研究,在500个SWE-bench Verified任务上做了对照。逼智能体多写测试,解出的任务数几乎没变:GPT-5.2两种情况下都是359个,Gemini 3 Pro Preview从371变成366。反过来告诉Kimi K2 Thinking和DeepSeek v3.2 Reasoner别写测试,成绩从317掉到304、从300掉到291。这些变化在统计上都不显著。

成本倒是跟着模型走。GPT-5.2多写了测试,API调用和token都更多,解出的任务却没变多;被要求跳过测试的两个模型,用量则下降了。这项研究只覆盖一个基准和一个智能体脚手架mini-SWE-agent,也没有测试TDD或下面这套流程。

可行的做法是把节奏切小:先定义"完成"是什么,而且这个定义要能被证伪;期望值必须取自智能体没写过的东西——工单、规格说明、真实案例;先写一个失败的测试(红),它必须是因为行为缺失而失败;再写刚好够让它通过的代码(绿);然后进入下一片,评审放在绿之后。

回到折扣的例子,测试的期望值直接来自工单:"金额正好100的订单付90。"拿它去跑智能体的代码,会红着报出expected 100 to be 90。把>改成>=,它转绿。那个mock测试依然通过,因为它从没跑过真实代码;而抄公式的测试这时反而失败了——它一直在保护那个bug。

这套流程有人做成了工具。Matt Pocock的/tdd技能就是它的一个版本,一次只切一片,一次性写完全部测试在那里属于反模式,重构归评审阶段。Kent Beck的Canon TDD则允许在每个循环内、转绿之后重构,这是个人选择。Lauren Tan(poteto)的pstack把第一步做进了/figure-it-out技能:在开始运行前,先让智能体说清楚"完成"意味着什么,并且这个说法要能被证伪。

最后要认清一件事:再好的单元测试也只是检查表里的一行。全绿不等于没问题,先看每个期望值的出处,比数绿点有用得多。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
泰山队保护使用依木兰,唐田换人后防线崩了,下轮战成都,别当背景板

泰山队保护使用依木兰,唐田换人后防线崩了,下轮战成都,别当背景板

替补席看球
2026-10-24 17:52:44
汪小菲两个儿子同框逛街,8个月小儿子壮实可爱,10岁霖霖1米6多了!

汪小菲两个儿子同框逛街,8个月小儿子壮实可爱,10岁霖霖1米6多了!

情感大头说说
2026-10-22 00:47:02
“马天宇一家把张萌联系方式删了”“张萌后悔找马天宇上节目”双双冲上微博热搜

“马天宇一家把张萌联系方式删了”“张萌后悔找马天宇上节目”双双冲上微博热搜

扬子晚报
2026-10-23 07:37:15
医生警告:每天吃一块红薯,就等于给肺结节 “踩刹车”? 真相来了

医生警告:每天吃一块红薯,就等于给肺结节 “踩刹车”? 真相来了

路医生健康科普
2026-10-19 09:11:10
奢靡荒唐的白马会所:性交易泛滥,让无数富婆挥金如土

奢靡荒唐的白马会所:性交易泛滥,让无数富婆挥金如土

天启大世界
2026-10-13 17:17:54
太逗了,穷人的便宜占不得,网友:贪小便宜吃大亏

太逗了,穷人的便宜占不得,网友:贪小便宜吃大亏

康富贵碎碎念
2026-10-24 12:45:11
筱梅直播捅破窗户纸:选乐乐合播不看本事看人品

筱梅直播捅破窗户纸:选乐乐合播不看本事看人品

动物奇奇怪怪
2026-10-24 14:27:32
上海大妈公交车上打怀孕女子,一巴掌打掉退休后的幸福生活

上海大妈公交车上打怀孕女子,一巴掌打掉退休后的幸福生活

罪案洞察者
2025-02-24 11:47:38
退休大局定了:若不出意外的话,2026年中国退休金将面临3大变化

退休大局定了:若不出意外的话,2026年中国退休金将面临3大变化

白米饭怎么吃
2026-10-24 18:52:11
2026下半年最危险的6天来了!千万别重仓,再厚的本金也扛不住

2026下半年最危险的6天来了!千万别重仓,再厚的本金也扛不住

户外钓鱼哥阿旱
2026-10-24 11:20:04
黄克诚转移时,发现警卫员始终走在最前面,他想起侦察员一句提醒

黄克诚转移时,发现警卫员始终走在最前面,他想起侦察员一句提醒

史源观点
2026-10-22 19:35:33
今天 10 月 24 日,全体退休人员注意:10 月养老金发放,必查三项!

今天 10 月 24 日,全体退休人员注意:10 月养老金发放,必查三项!

白昼说故事
2026-10-24 09:35:47
终于知道为什么大家都说农学是抑郁率最低的专业了!

终于知道为什么大家都说农学是抑郁率最低的专业了!

另子维爱读史
2026-10-18 11:46:21
人有没有癌症,看晨起就知道?癌症患者:晨起一般会有5表现

人有没有癌症,看晨起就知道?癌症患者:晨起一般会有5表现

路医生健康科普
2026-10-24 15:10:07
“都绝户了,还拼命挣钱干嘛?”看见父亲50岁就躺平,我崩溃了

“都绝户了,还拼命挣钱干嘛?”看见父亲50岁就躺平,我崩溃了

素十三儿
2026-04-13 07:12:36
以为是烂剧,结果好看到舍不得眨眼的5部剧,你是否全都看过?

以为是烂剧,结果好看到舍不得眨眼的5部剧,你是否全都看过?

圆头讲电影
2026-10-24 08:00:21
云南省召开全省领导干部会议,莫高义、刘奇凡讲话

云南省召开全省领导干部会议,莫高义、刘奇凡讲话

澎湃新闻
2026-10-24 20:05:03
不查不知道一查吓一跳!44岁一家人住北京豪宅的陈婷,私下有多壕

不查不知道一查吓一跳!44岁一家人住北京豪宅的陈婷,私下有多壕

冷紫葉
2026-09-19 12:41:16
《永乐大典》的纸张有多牛?乾隆皇帝为了写字作画,从中裁切了17000余张

《永乐大典》的纸张有多牛?乾隆皇帝为了写字作画,从中裁切了17000余张

言过于诚
2026-10-22 22:45:09
两性关系:发现了没,寿命长的男人,大多都有这五个好习惯

两性关系:发现了没,寿命长的男人,大多都有这五个好习惯

荔子言
2026-09-08 14:55:50
2026-10-24 22:03:00
野生运营
野生运营
懂点产品,懂点AI,正在努力给平淡日子搞点新花样。
246文章数 98关注度
往期回顾 全部

科技要闻

写程序、做3D,新Kimi还有多少本事?

头条要闻

澳官方扑杀200万只野猫 当地人直接搬出"全自动杀猫机"

头条要闻

澳官方扑杀200万只野猫 当地人直接搬出"全自动杀猫机"

体育要闻

从乐透秀到总冠军再到没工作 一共要几年?

娱乐要闻

翁虹19岁女儿三次拒爱,在美国上学却“不随便”

财经要闻

叫"保障"不叫"保险":租车平台的文字游戏

汽车要闻

大众安徽与众09正式上市 双十一权益价16.99万起

态度原创

教育
时尚
房产
本地
手机

教育要闻

焕新升级!绵阳这所学校宿舍改造完成

怕停产专场|| 35岁后越来越觉得,真正的“长期主义”是保住它

房产要闻

百亩大盘又 +1!攒量超 200 万㎡!江东,要燃起来了!

本地新闻

这么近,那么美,周末赴贺州丨大湾区后花园

手机要闻

谁家手机最好卖?销量榜单出炉!

无障碍浏览 进入关怀版