换个思路搞开发?AI测试才是真正的未来!
最近这两天,我一直在死磕一个挺有意思的项目——做一个能自动抽取需求、整理文档,然后再跑自动化测试的Agent。写着写着,脑洞突然就开大了,想到了一个稍微有点“离经叛道”的问题:
我们在做开发的时候,是不是太过于纠结代码的内部逻辑了?
把代码当作黑盒,只关注输入输出
抛开内部状态,拥抱纯粹的“黑盒”
如果咱们换个角度,完全不考虑代码内部的状态,把它当成一个纯粹的黑盒来对待会怎样?这有点像是在玩函数映射游戏:只要我的输入进去,能精准地拿到我想要的输出,而且这套规则能覆盖绝大多数的输入情况,那是不是就够了?
你说这做不到?确实,现实世界里很难覆盖全集。但这也引出了一个新的思考点:如果单纯靠输入输出映射搞不定,那是不是意味着我们还得适度地去“偷窥”一下中间状态?
但这种“偷窥”绝不是回到传统的白盒测试,而是更像一种为了验证黑盒稳定性的手段。事实上,看看现在的大模型(LLM),谁真正去关心它那千亿个参数在神经网络里到底是怎么流转的?只要它吐出来的文字是我们想要的,逻辑是通顺的,我们就会觉得它很牛逼。
从需求文档到测试用例的AI自动化流程
测试人的终极幻想?
我想,这或许是AI测试给软件开发带来的新风向。现在的测试往往是基于代码逻辑的,或者是基于用例的,但在AI时代,测试能不能更“聪明”一点?
比如,现在困扰大家的一个大难题是:怎么把一句干巴巴的产品需求,变成详尽的用户故事,最后拆解成成百上千个具体的测试点,然后让AI一个个去跑、去验证?
这简直就是测试发疯前的最后一点幻想啊(笑)。但仔细想想,如果这个闭环能跑通,开发效率绝对是指数级提升的。
实操新思路:需求到测试的自动化闭环
虽然现在还没有标准答案,但我正在尝试的路径大概是这样:
- 需求结构化:不再看纯文本的PRD,而是把需求喂给模型,让它先理解,再转化为结构化的数据。
- 生成用户故事:基于结构化需求,AI自动生成覆盖各种边缘情况的用户故事。
- 用例自动生成:把用户故事翻译成具体的测试用例,这里的关键是要包含“预期结果”的明确描述。
- 黑盒执行与验证:Agent拿着这些用例去跑,只看输入输出。如果输出对得上预期,过;对不上,再报错。
在这个过程中,代码具体是怎么实现的,真的不重要。就像你用ChatGPT,你只在乎它回答得好不好,不会去翻它的源码看这行代码是不是优雅。
还有哪些坑?
当然,理想很丰满,现实很骨感。目前最大的难点还是在于**“中间态”的捕捉**。有些复杂的业务逻辑,单纯看最终的输入输出可能会漏掉一些隐藏的Bug。
这就需要我们在Agent里设计一些探针,或者是半白盒的验证机制,在关键时刻介入检查一下。但这不正是技术有趣的地方吗?在黑盒与白盒之间,找到那个平衡点。
不知道有没有大佬也在研究这个方向?如果你有更成熟的思路,或者知道有什么现成的工具能把自动化测试这摊子事彻底交给AI,欢迎在评论区指点迷津!

评论已关闭