AI写的测试代码真的有用吗?

如题,ai写业务代码时也会写测试代码,但是这个测试代码感觉是为了写而写,甚至ai还会直接改测试代码让测试通过的情况。
除非是tdd驱动开发,自己写测试,让ai过以过测试为目的的开发感觉才有用。
总之就是覆盖不全,为了过而过。
我是用cursor开发go语言项目,opus、grok、gpt都会写测试代码的。
我的开发流程是先设计好开发文档,然后直接丢给ai开发,开发过程中基本不会弹嘎啦game选择框,开发完成后,我会让ai自己启动服务,自己测试接口(这个是真爽)
模型能力都这么强了,测试代码也没太大必要了吧。
而且ai生成的测试代码,会被grep到吧,按理来说会污染上下文?占据更多token?

如果你需要ai 审核加人工审核的话 ai 写不写其实问题不大 甚至不写就没事。反正人工也要过一遍的。
如果你是 ai 全梭哈的 不写也没啥事 反正你也不看呐。
所以还是不要写了。

我在《猜猜是哪个模型写的unittest大赛》中获得了0秒的好成绩,你也来试试吧

一般都是垃圾 一般情况下只是妨碍以后的ai改相关代码而已

我觉得是没有必要写的,你让程序员自己写测试用例也是效果不好的,不如人工审查。

主要目的是固定现有的行为,之后比如ai犯蠢也能通过运行测试及时发现

回归有用,但跟人一样会偷懒,会钻空子

我是一直都有注意别让AI自己生成mock数据 走真实路径测试
不然AI真会给你自圆其说的无用测试 :laughing:

我也有这样的体会,之前让codex改了一版ESP32的代码,后面很长一段时间都在搞验证,结果编译出错,烧录不了,屏幕显示紊乱,感觉测试了个寂寞

在应付某些任务的时候特别有用,比如说有要求单元测试占比要多少,直接拿AI生成的来就行了,不需要在那费尽心思花时间写大量凑数的测试代码,就只管核心模块的就行了。

rust代码,默认测试都在原代码文件,然后代码行数起飞

要写测试例子最好自己要看,这样在可以防止在下次改的时候起码不会错得离谱;如果自己不看的话,写不写没有什么大区别,最后过一遍人工测试就行。

佬,想请教一下,如果业务代码和测试代码强制分给两个独立 agent,而且测试那个只看需求和接口、不看实现,是不是能明显缓解 AI 为了过测试去改测试的问题?有人实际这样跑过吗?

GPT:冒烟测试已全部通过225/225,成品已交付。
然后功能全都不正常,也不知道它怎么测的 :bili_040:

有没有佬请教我一下,我现在是在一个第三方检测机构,经常性要给项目写一大堆测试用例,有没有什么好的办法,我现在都是通过截图丢给AI给我生成的

也就让ai写个冒烟测试 测一下的大概的还行,细节肯定覆盖不了的

还是很有用的,不管写和质量怎么样,但是基本逻辑,覆盖率方面还是可以的, 另外,客户那边有时候会要求有单元测试报告的

我觉得这玩意是防止ai犯蠢自己给自己发现bug的。。

一直用hermes改代码,没发现上面说的什么测试乱来的问题,它写的测试能过就真的没问题,测试不过它自己会回去修改,不懂你们用的啥智能体和模型..

让英雄查英雄,ai查ai。我觉得是有用的,甚至基本够用了,而且是能自己发现问题的。实在不行,看到测试不对,不是自己想要的,修正一下也快。完全自己人工校正,我觉得没必要。说点那啥的,以ai的代码生成速度,人工写测试,写得过来么