当前位置: 首页 > news >正文

AI智能体编写测试欠佳?掌握TDD技能或能提升60%成功率!

【SaturnCI相关链接】

[SaturnCI] [文档] [博客] [SDK] [关于我们] [登录] [注册]

【AI智能体编写测试现状】

至少就目前而言,AI智能体在编写测试方面表现欠佳。它们编写的测试往往模糊、晦涩、过于复杂、粗糙、杂乱无章、循环论证、流于形式,甚至毫无意义。短期内,未经指导的智能体在编写测试方面不会有太大改善,因为智能体通过人类编写的示例学习,而现有的人类编写的示例往往同样糟糕,不仅“业余者”编写的测试质量不高,“教师”所倡导的测试实践也相当糟糕。

【给予指导后智能体的表现】

好消息是,给予一些指导,智能体就能够遵循合理的TDD流程,并编写清晰、有意义的测试。具体需要怎样的指导呢?近似正确的答案是Kent Beck的 [规范TDD]。让智能体掌握“遵循Kent Beck的规范TDD”,约能成功60%。更详细的内容包含在个人的TDD技能中。

【个人的TDD技能】

由于这是一份动态文档,不想将TDD技能固定在博客文章中,可在GitHub上查看。这里分享该技能的核心内容,首先让智能体了解“指定 - 编码 - 实现”循环,这是个人对“红 - 绿 - 重构”的替代方案。“指定 - 编码 - 实现”(SEF)流程如下:1. 指定:明确想要构建的内容的规格。2. 编码:将这些规格编码为自动化测试(可执行的规格说明)。3. 实现:编写代码以实现这些规格。SEF是TDD的高层概念,稍低一层的是Kent Beck的规范TDD,描述如下:1. 列出当前TDD会话范围内的规格列表。2. 将列表中的每个项目编码为自动化测试。3. 对代码进行最小程度的修改,以使当前的测试失败消失,避免“投机性编码”。4. 可选择进行重构,但要在提交行为更改之后进行,永远不要将行为更改和重构混为一谈。5. 重复步骤2,直到列表为空。TDD技能包含更多细节,但这就是该流程的核心。不过,这个流程对测试本身的设计影响不大,所以还有另一个技能,即测试设计审查。测试设计审查会生成一个单独的智能体,查找是否违反设计原则,并提出修复建议。有时这些“修复建议”可能不太可靠,但通常是正确的。当对智能体编写的某个测试不满意时,会运行测试设计审查,让智能体自己发现错误。

【通用设计审查】

许多测试设计方面的问题其实就是违反了通用的软件设计原则,比如“名符其实”原则。除了使用测试设计审查技能审查测试之外,还喜欢使用软件设计审查技能。

【智能体带来的惊喜】

智能体有时会带来惊喜。在TDD技能中加入的一条指令,原本没指望它会特别遵循,即如果发现编写想要的测试很困难,这可能意味着需要“在做饭前先打扫厨房”。Claude真的把这一点记在了心上,它经常会停下来询问是否应该先打扫厨房,而且很多时候确实应该这么做。

【TDD技能的效果】

还没有让智能体100%地编写出可接受的测试,差距还很大。但TDD技能效果很好,已经成为进行任何更改的默认方式。将TDD和测试设计原则与AI结合能取得如此好的效果并不奇怪,AI生产力的最大提升来自于将AI与几十年前发现的、至今仍然适用且无论出现何种新技术都永远有用的永恒原则相结合。

【作者信息】

Jason Swett是 [Code with Jason播客] 的主持人,[《专业Rails测试》] 的作者,也是 [SaturnCI] 的创建者。SaturnCI [jason@saturnci.com] 16601 Myers Lake Ave Sand Lake, Michigan 49343

http://www.cnnetsun.cn/news/2786725.html

相关文章:

  • Gemini世界观构建实战手册(从零到可信智能体的认知基建)
  • 合成数据实战指南:从合规替代到长尾覆盖的工程落地路径
  • 接口自动化全字段清单
  • 如何彻底清理Windows旧驱动:Driver Store Explorer完整使用指南
  • Codeforces胡萝卜插件:3分钟掌握实时评级预测的终极指南
  • 充电桩安全风控:AI驱动的实时异常检测与分级响应
  • 提升游戏开发效率:用快马平台一键生成模块化cc switch系统框架
  • 多模态检索与工具调用的技术演进与实践
  • 树莓派玩转内网穿透:不用公网IP,用FRP+宝塔面板轻松实现远程访问摄像头画面
  • 从ABAQUS/ANSYS实战看拉格朗日与欧拉:你的仿真模型选对描述方法了吗?
  • 如何5分钟完成B站视频转文字:bili2text终极指南
  • 从集合关系到数据库设计:离散数学中的‘关系’到底怎么用?一个实例讲透
  • VK16K33BA 点阵数码屏驱动芯片高亮数显屏驱动LED驱动控制器工作温度-40~+8
  • 2026宿迁市权威认证贵金属回收 TOP5+黄金回收白银回收铂金回收门店地址电话推荐
  • 线性回归四大假设与多重共线性实战诊断指南
  • 第六智能学科:从AI工具使用到智能体设计的范式跃迁
  • 告别繁琐配置,用快马智能优化天元云防火墙策略效率翻倍
  • World Model(世界模型)系统
  • 别再手动下载了!教你用Docker Compose一键部署GeoServer+PostGIS,快速发布OSM地图服务
  • Excel进销存表格工具:带宏自动算库存、查销售、做报表
  • Android网络调试避坑指南:Linux/Windows的Ping命令参数差异全解析(-w vs -W)
  • 为什么92%的AI娱乐项目6个月内失败?——来自Netflix、腾讯、Sony联合技术白皮书的5条铁律(内部解密版)
  • 利用快马AI快速构建网盘管理界面原型,十分钟验证产品核心交互
  • SPSS交叉表实战:手把手教你计算疾病相对危险度(附数据准备与结果解读)
  • 华为防火墙SSL证书登录实战:从自签CA到客户端连接,一次讲清所有安全策略配置
  • AI赋能期货交易的7个断层陷阱(92%团队踩坑却浑然不觉)
  • XNB文件解包打包工具:星露谷物语模组开发终极指南
  • 运动耳机什么牌子佩戴更舒服?2026 十款热门机型实测盘点
  • Windows安卓驱动一键安装:彻底告别手动配置的烦恼
  • 从AD转KiCad 7.0画四层板,我踩过的那些坑和真香插件(附泪滴/射频/交互BOM配置)