🤖 AI总结
主题
AI辅助编程加速软件开发,但导致测试验证成为新瓶颈。
摘要
AI辅助编程加速代码生产,但测试验证成为新瓶颈,企业需将验证融入开发流程,并投资自动化测试基础设施,如CodeRabbit和Blacksmith。
关键信息
- 1 AI代码生成速度超过验证能力,测试成为新瓶颈。
- 2 AI生成代码缺乏上下文,验证需锚定需求而非实现。
- 3 CodeRabbit和Blacksmith等公司融资,填补验证基础设施缺口。
![]()
AI辅助编程正在以极快的速度加速软件开发,企业不得不重新思考如何跟上代码生产的节奏——而解决这一难题本身,已经成为一个价值数十亿美元的市场。
本周,两家致力于解决这一问题的公司相继获得了数亿美元的投资。AI代码审查公司CodeRabbit在最新一轮融资后,估值达到15亿美元;软件测试平台Blacksmith则以接近5.5亿美元的估值完成了4500万美元融资。这两家公司虽然分别针对软件开发生命周期的不同环节,但它们的同步崛起指向同一个行业转变:AI正在帮助企业以远超其自身评估能力的速度生产代码。
这颠覆了软件开发领域长期以来的固有瓶颈。多年来,工程团队一直专注于提升开发者生产力、缩短编写和交付代码所需的时间。如今,限制因素越来越多地出现在代码生产之后的环节。
T-Systems International首席技术官Richard Simon表示:”AI做了两件事:它提高了代码生成速度,但也暴露出代码检查、验证和清洗方面的瓶颈。我们正在从开发者是瓶颈,转变为测试人员成为瓶颈。”
对于企业IT领导者来说,这一变化提出了一个比是否投资新测试工具更根本的问题:软件开发生命周期的其余环节,能否以与AI生成代码同样的速度加速推进?
AI生成代码带来的上下文理解难题
AI辅助软件开发带来的一个后果是,工程师对AI生成代码的理解程度,远不如对自己亲手编写的代码那样深入。
Meta公司专注于AI与机器学习基础设施的软件工程师Tommy Tran表示,工程师通常能理解自己代码背后的决策逻辑,因为他们亲身经历了解决问题的过程。而对于AI生成的代码,这种推理过程是缺失的——即便最终实现看起来没有问题。
这使得代码验证的复杂程度远不止于检查代码是否通过常规测试用例。在审查AI生成的代码时,审查者还需要确认:代码为何如此编写、实现是否真实反映了任务的原始需求,以及代码在AI未能预见的情况下是否能够正确运行。
当AI同时被用于生成旨在验证代码的测试用例时,上述区别尤为重要。一个自动化测试可能只能证明某个实现符合特定预期,却无法证明这个预期本身是否正确。
为此,Tran建议企业应将测试锚定于需求和系统契约,而非AI系统生成的具体实现。否则,企业就有可能陷入一个封闭的反馈循环——用AI生成的假设来评估AI生成的代码。”实际上,你承担了’让AI自我印证’的风险。”Tran说道。
这意味着企业不能仅凭代码是否通过测试来判断代码质量,还需要判断这些测试是否真正满足了业务与系统需求。
这同样改变了企业对测试覆盖率的理解方式。LinkedIn工程高级总监Balaji Srinivasan表示,传统的覆盖率指标——即测试所覆盖的代码百分比——可能掩盖测试是否真正验证了有意义的行为。随着AI让代码和测试的生成都变得更加容易,覆盖质量比单纯追求覆盖率数字更为重要。
“代码的有效覆盖率,将成为比传统覆盖率数字更重要的指标。”Srinivasan说。
验证环节必须与开发同步推进
下一个挑战是时机问题。在传统开发流程中,测试可以在开发人员完成工作后进行。但AI能够并行生成代码并快速迭代。如果测试被视为开发末尾的独立阶段,那么在企业确认某些变更是否有效之前,可能已经积累了多次代码修改。
Simon表示,这已经在影响企业对质量保障的思考方式。
“质量保证、测试和验证领域已经在发生变化,”Simon说,”更合理的做法是将测试阶段融入整个开发生命周期,使其成为开发过程的一部分,在代码生成时就获得’代码可见性’,而不是事后补救。”
测试的基本原则不会改变:软件仍然需要满足需求、行为正确、保持安全并具备足够的性能。但围绕这些目标的管控手段,可以越来越多地与开发过程并行运行。
Simon指出,AI模型溯源、自动化审查、依赖项检查、安全扫描和测试充分性评估,都是可以且应当被纳入开发流程的管控手段,而人工审批则应保留给那些潜在影响值得特别关注的变更。
最终的结果将是一个验证持续进行的开发生命周期,而非作为流程末尾的一道关卡。
基础设施投入正在成为新的竞争焦点
企业能否大规模实现这一转变,在一定程度上取决于现有测试基础设施的成熟度。拥有完善自动化测试体系的组织,可以在不按比例增加人工审查的情况下扩大代码产出;而缺乏这一基础的组织则可能举步维艰。
“如果你的测试覆盖率很低,依赖人工测试来发现问题和验证构建,那么你就无法充分享受AI辅助编程带来的红利,因为仍然需要人工来验证代码。”Srinivasan说。
这有助于理解本周融资活动背后的逻辑。
CodeRabbit主攻代码审查自动化,Blacksmith则提供持续集成与测试基础设施。随着软件开发日益自动化,这两家公司都在填补企业亟需的基础设施缺口。Simon将这一转变描述为”验证环节的工业化与自动化”,而非单纯的外包行为。
此外,购买而非自建这些能力,也有其经济逻辑。Tran表示,随着AI模型、安全风险和开发环境的不断变化,内部验证系统需要持续投入维护。专业供应商可以将这部分投入分摊到多个客户身上,从而使最终产品更具成本效益。
但Tran补充道,企业采购此类产品并不意味着将软件质量责任移交给供应商。这些工具可以审查代码、运行测试并识别潜在问题,但企业自身仍然需要负责确定需求、评估风险容忍度,以及判断某项变更是否已准备好上线。
因此,AI辅助编程改变的不仅是软件生产的速度,更迫使企业重新审视整个开发流程如何建立对代码质量的信心。
对于企业IT领导者而言,这或许才是更深远的变革:代码生成速度的提升,越来越依赖于周边系统能否以同等速度完成对代码的验证。
Q&A
Q1:AI辅助编程为什么会导致软件测试成为新瓶颈?
A:AI大幅提升了代码生成速度,但代码的检查、验证和清洗能力并未同步跟上。传统开发中,开发者是效率瓶颈;而现在,测试和验证人员成了新的瓶颈。企业生产代码的速度已经超过了其有效评估代码的能力,这就要求测试与验证环节必须与开发过程同步推进,而非停留在流程末尾。
Q2:AI生成的代码在验证上有哪些特殊挑战?
A:最大的挑战是”上下文缺失”。工程师对自己编写的代码理解其背后的决策逻辑,但AI生成的代码缺少这种推理过程。验证时不仅要检查代码能否通过测试,还要确认测试本身是否基于正确的需求。如果AI同时生成代码和测试用例,就可能形成封闭反馈循环,本质上变成”让AI自我印证”,无法真正保证代码质量。
Q3:CodeRabbit和Blacksmith分别解决了什么问题?
A:CodeRabbit专注于自动化代码审查,帮助企业在代码合并前快速识别问题,估值已达15亿美元;Blacksmith则提供持续集成与测试基础设施,支持企业在开发过程中持续运行自动化测试,估值接近5.5亿美元。两家公司分别针对软件开发生命周期的不同环节,共同解决AI时代代码验证效率不足的问题。