技术实践
字节跳动用NL2Test将自然语言转为回归用例
概述
字节跳动团队选择边界清晰、确定性高的任务切入:不做测试设计替代 QA,而是把 QA 用自然语言描述的测试场景转译为可运行的回归测试用例,借助测试流量自动提取相关后端 API 并生成面向 API 的自动化用例。NL2Test Agent 把生成流程拆成请求匹配、依赖关系提取、断言意图识别、受约束代码生成等小任务,每次 LLM 调用只产出小的结构化结果并在进入下一阶段前校验,用结构校验与异常内容丢弃保证链路容错。 能用程序解决的字段查找、schema 校验、值匹配、请求过滤、参数替换、断言校验交给确定性逻辑,只让 LLM 处理语义理解与模糊判断。调用前先治理流量,过滤静态资源、轮询、重复流量与时间戳、trace id 等噪声字段并摘要响应结构。用 schema 与允许集合(合法请求标识、候选字段、断言类型、已有变量名)约束输出,超约束内容可唯一修复才自动修复否则丢弃。 只针对业务相关且可重复验证的稳定字段生成断言。落地数据:已在多条业务线部署,85.4% 的生成用例被集成到 CI/CD 工作流。新增用例平均值约 25% 来自 Agent 生成,个别业务团队峰值可达 50%+ 且比例持续提升。Agent 用户月活率 30.7%。工具平均每双周为部门节省约 30 人天投入。