ai编程的验收前置问题
- 内容介绍
- 文章标签
- 相关推荐
大家有没有思考过在 AI Coding 的过程中的验收前置的问题?
问题来源:
1:我在自己 vibe coding 和辅助编程的过程中发现,如果能在需求确定好后就直接开始测试设计,能极大地提高开发效率,而且很大程度缓解 AI Coding 的屎山代码问题。
2:作为一名测试开发工程师,实际上我一直在疑惑,在传统软件开发过程中,为什么不将测试设计,在需求确定的阶段就确定好。这样可以保证软件设计不会偏离需求。后来我想到,可能是因为人力和效率的问题,开发没有办法完全兼顾这些。测试,也没有办法直接插手具体的业务代码开发。
3:我看一些大厂,好像 A 社也有,他们的一些公开文章里面也提到了这个问题,就是在 AI Coding 过程中,尽量地让测试和验收的行为在开发代码的过程中就执行,甚至更靠前。
网友解答:--【壹】--:
对的,我觉得补充测试步骤,不如直接在开发阶段就把测试步骤做好
--【贰】--:
这就是TDD了
--【叁】--:
然而,实际的使用下来,并不是所有的地方都适合写单测,测试也是代码,是需要维护的,如果哪天,修改一行代码,需要改动一堆测试,很难不怀疑测试的价值,TDD 是一个好的理念,但是并不是所有情况都适用,在实际的工作场景中,把活做小比把活做大更重要。
总而言之,不建议全部上TDD,最后很容易变成测试和代码都不看的情况。
比较推荐的是,稳定的 DAO 层,一些固化的逻辑,跟第三方接洽的模块上单测;在接口侧,直接用 API 进行全链路测试更快。
--【肆】--:
肯定会,测试本来就是为了保证开发往需求收敛的,测试如果偏了,那大家一起g。
--【伍】--:
我刚刚查了一下 TDD 的定义和例子,但感觉并不是那种将验收前置的,更倾向于验收前置的好像是 BDD,在需求落地的同时,就要开始测试设计。
--【陆】--:
claude的这组skill我安装了。这个东西用得很多,但是我发现大家没有就是在搭建框架的时候有意识地去做这些东西。如果你这个东西完全交给这些 skill 来做的话,会不会偏离需求?就是有时候会有一些问题,它有时候真的可能会突然发电一下,对吧。
--【柒】--:
如果测试写的有问题,会不会把开发都带偏
--【捌】--:
对,业务代码的开发和测试同步进行
--【玖】--:
我都不知道,成原始人了,艹。
--【拾】--:
SDD 的话在规范阶段,能否直接考虑 Test 呢?S 完以后一般是直接开发了,虽然会补充测试,但是好像没有一个明确的考虑步骤?
--【拾壹】--:
对于比较复杂的需求,一般还有个plan阶段,会先把需求拆分成一个一个可以独立开发的点,然后再用TDD去做实际开发。这样可以非常有效的避免两个问题:
- 避免跑的时间太长,Agent逐渐忘了自己做了啥,没做啥的问题,从而间接导致交付不全;
- 功能没有彻底完成,它为了快速答复完成,会撒谎,TDD可以有效避免这个,因为测试不过,就是功能没做好。
--【拾贰】--:
TDD早就有了吧?只不过让AI遵循TDD理念去做vibe coding的工程化出来了衍生出了 openspec、superpowers.. 不过有了ai,各种工具、框架起来的太快了,只要学得慢,就不用学…
--【拾叁】--:
这不就是现在很流行的tdd vibe模式吗。
试一下superpowers。
大家有没有思考过在 AI Coding 的过程中的验收前置的问题?
问题来源:
1:我在自己 vibe coding 和辅助编程的过程中发现,如果能在需求确定好后就直接开始测试设计,能极大地提高开发效率,而且很大程度缓解 AI Coding 的屎山代码问题。
2:作为一名测试开发工程师,实际上我一直在疑惑,在传统软件开发过程中,为什么不将测试设计,在需求确定的阶段就确定好。这样可以保证软件设计不会偏离需求。后来我想到,可能是因为人力和效率的问题,开发没有办法完全兼顾这些。测试,也没有办法直接插手具体的业务代码开发。
3:我看一些大厂,好像 A 社也有,他们的一些公开文章里面也提到了这个问题,就是在 AI Coding 过程中,尽量地让测试和验收的行为在开发代码的过程中就执行,甚至更靠前。
网友解答:--【壹】--:
对的,我觉得补充测试步骤,不如直接在开发阶段就把测试步骤做好
--【贰】--:
这就是TDD了
--【叁】--:
然而,实际的使用下来,并不是所有的地方都适合写单测,测试也是代码,是需要维护的,如果哪天,修改一行代码,需要改动一堆测试,很难不怀疑测试的价值,TDD 是一个好的理念,但是并不是所有情况都适用,在实际的工作场景中,把活做小比把活做大更重要。
总而言之,不建议全部上TDD,最后很容易变成测试和代码都不看的情况。
比较推荐的是,稳定的 DAO 层,一些固化的逻辑,跟第三方接洽的模块上单测;在接口侧,直接用 API 进行全链路测试更快。
--【肆】--:
肯定会,测试本来就是为了保证开发往需求收敛的,测试如果偏了,那大家一起g。
--【伍】--:
我刚刚查了一下 TDD 的定义和例子,但感觉并不是那种将验收前置的,更倾向于验收前置的好像是 BDD,在需求落地的同时,就要开始测试设计。
--【陆】--:
claude的这组skill我安装了。这个东西用得很多,但是我发现大家没有就是在搭建框架的时候有意识地去做这些东西。如果你这个东西完全交给这些 skill 来做的话,会不会偏离需求?就是有时候会有一些问题,它有时候真的可能会突然发电一下,对吧。
--【柒】--:
如果测试写的有问题,会不会把开发都带偏
--【捌】--:
对,业务代码的开发和测试同步进行
--【玖】--:
我都不知道,成原始人了,艹。
--【拾】--:
SDD 的话在规范阶段,能否直接考虑 Test 呢?S 完以后一般是直接开发了,虽然会补充测试,但是好像没有一个明确的考虑步骤?
--【拾壹】--:
对于比较复杂的需求,一般还有个plan阶段,会先把需求拆分成一个一个可以独立开发的点,然后再用TDD去做实际开发。这样可以非常有效的避免两个问题:
- 避免跑的时间太长,Agent逐渐忘了自己做了啥,没做啥的问题,从而间接导致交付不全;
- 功能没有彻底完成,它为了快速答复完成,会撒谎,TDD可以有效避免这个,因为测试不过,就是功能没做好。
--【拾贰】--:
TDD早就有了吧?只不过让AI遵循TDD理念去做vibe coding的工程化出来了衍生出了 openspec、superpowers.. 不过有了ai,各种工具、框架起来的太快了,只要学得慢,就不用学…
--【拾叁】--:
这不就是现在很流行的tdd vibe模式吗。
试一下superpowers。

