采纳率从3%到80%:智能单元测试生成的进化之路

2026年4月7日

45

314

采纳率从3%到80%:智能单元测试生成的进化之路

在快速迭代的业务开发中,单元测试作为代码质量的第一道防线,其重要性不言而喻。然而,传统人工编写单元测试的模式长期面临三大核心痛点:人力投入产出比失衡、覆盖率与有效性双低、工具辅助能力有限。这些问题严重制约了研发效能的进一步提升。AI生成被视为破局关键,但随之而来的「智能单测生成可用性危机」却成为新的拦路虎——代码调用信息缺失、生成质量不稳定、场景覆盖不全面等问题,使得初期采纳率仅维持在3%的低迷水平。

智能单测1.0:纯LLM启发式探索

面对这一挑战,快手研发效能团队开启了智能单测生成系统的演进之路。整个系统经历了从纯LLM启发式生成,到场景分组+多轮异常修复,再到知识、规则驱动的三个阶段。通过持续的技术迭代和架构优化,系统最终于实现采纳率从3%到80%的跨越式提升,编译通过率从30%提升至99%,执行通过率从10%提升至89%,AI生成单测的覆盖率也从38.38%提升至80.12%。

智能单测2.0:场景分组与多轮异常修复

2025年第二季度,团队进行了引入LLM进行单测生成的初步探索,整体架构采用「目标方法识别+场景分析+AST解析+单测生成」的基础流程。然而,由于仅依赖AST解析和被测方法内容获取信息,上下文严重缺失,导致生成代码稳定性差、编译失败率高。同时,缺乏编译错误和运行时异常的自动修复机制,使得该阶段单测代码采纳率仅有3%,编译通过率不足40%。这一阶段的技术验证证明了AI生成单测的可行性,但同时也暴露了简单串联流程的严重不足。

工具不仅要能生成代码,更要生成可直接使用的、高质量的、符合业务场景的单元测试

“快手研发效能团队”

智能单测3.0:知识与规则双驱动

针对V1.0阶段的核心问题,V2.0版本引入了「单测场景分组+多轮异常修复」的创新架构。在合并层面,通过规划阶段的场景类型分组(正常场景、边界场景、异常场景)和逻辑相似性分组,有效避免了大量的合并冲突;在修复层面,建立「执行-反馈-优化」的持续迭代机制,采用javac进行单文件编译,对错误类型分组后批量修复。场景分组与多轮修复的互补,大幅度提升了单测代码的质量,实现了从可生成到信任使用的跨越,采纳率从3%提升至38%。

V2.0版本虽已显著提升代码生成质量,但在实际应用中仍面临生成过程深度理解不足、复杂场景缺乏支持、badcase优化效率低等挑战。为此,V3.0版本构建了「生成前深度分析+生成中精准Mock+失败后智能修复」的全链路增强框架。通过代码分析阶段构建结构化代码知识库,实现对代码仓库的深度理解;生成阶段基于规则召回明确生成指令,解决Mock方案生成和特殊场景适配难题;修复阶段基于执行反馈和规则生成修复建议,实现从「生成代码」到「生成高质量、可直接使用代码」的根本性跨越。

除了技术架构的演进,产品运营策略同样至关重要。团队经历了从流水线集成到IDE插件形态的转变,通过极速跑通快速验证技术可行性,再逐步过渡到提供即时、可控、无缝的生成体验。在用户运营层面,采用Badcase驱动闭环的策略,持续优化系统质量和用户信任度。目前系统已接入42.5%的研发仓库,支持日均生成代码10万+行,周采纳代码行数从2千行增长至35万行。

如有侵权,请联系删除。

Related Articles

联系我们 预约演示
小墨 AI