arXiv 论文综述:TDD × AI — Programming & Non-Programming Domains

检索概况

检索时间:2026-06-04。来源:arXiv (export.arxiv.org API)。 两轮检索:Round 1 — TDD + AI/LLM 组合(代码生成方向),按关联度排序筛选;Round 2 — TDD 在非编程通用领域的应用(ontology、spreadsheet、knowledge engineering、business rules、EDD 等)。共 20 篇高相关论文,时间跨度 2006–2026。


Part A — Programming Domains(代码/软件工程方向)

A1. LLM + TDD 核心实证研究

1. LLM4TDD: Best Practices for Test Driven Development Using Large Language Models
2312.04687 | 2023-12 | Piya & Sullivan | cs.SE, cs.LG

核心发现:用 ChatGPT 在 LeetCode 问题上实施 TDD 式迭代代码生成。探究测试属性、提示属性、问题属性对 LLM TDD 效果的影响。这是该方向的开创性实证研究,建立了 TDD + LLM 的基本实验范式。

2. Test-Driven Development for Code Generation
2402.13521 | 2024-02 | Mathews & Nagappan | cs.SE, cs.AI

核心发现:给 LLM(GPT-4、Llama 3)提供测试用例作为输入的一部分,能显著提升代码生成成功率。在 MBPP 和 HumanEval 上验证了"测试先行"的 TDD 原则在 AI 代码生成场景中同样有效。结论:TDD 是确保 LLM 生成代码满足需求的可行范式。

3. Generative AI for Test Driven Development: Preliminary Results
2405.10849 | 2024-05 | Mock, Melegati & Russo | cs.SE

核心发现:提出两种 GenAI + TDD 交互模式:协作模式(开发者写测试、AI 每轮生成代码)和全自动模式(AI 自行完成,开发者仅在迭代结束时监督)。实验表明 GenAI 可有效用于 TDD,但产出需人工监督质量,且可能误导非专业开发者。

A2. TDD 驱动的 LLM 评测

4. Tests as Prompt: A TDD Benchmark for LLM Code Generation
2505.09027 | 2025-05 | Cui | cs.SE, cs.AI

核心发现:推出 WebApp1K 基准——1000 道跨 20 个领域的 TDD 代码生成挑战。评估 19 个模型发现:指令遵循能力上下文学习能力比通用编程能力更关键。揭示了长提示下的"指令丢失"瓶颈。

5. Acceptance-Test-Driven Evaluation Protocols for Business-Centric LLM Systems
2606.02755 | 2026-06 | Liang | cs.SE, cs.AI

核心发现:将 TDD 的 red-green-refactor 适配为 red-train-green 生命周期:先定义验收测试 → 改进 LLM 系统(提示/检索/微调/护栏) → 通过多维门禁后发布。把验证从代码质量扩展到非确定性 AI 系统的行为治理

A3. 智能体工作流

6. TDFlow: Agentic Workflows for Test Driven Development
2510.23761 | 2025-10 | Han et al. | cs.SE, cs.AI, cs.MA

核心发现:TDD 驱动的多智能体工作流,四个子智能体:补丁提议、调试、补丁修订、测试生成。SWE-Bench Lite 88.8%(+27.8%),SWE-Bench Verified 94.3%。关键洞察:主要瓶颈在于生成有效复现测试——而非代码修复本身。

7. Enhancing LLM Code Generation through TDD and Code Interpreter
2511.12823 | 2025-11 | Jalil et al. | cs.SE, cs.LG, cs.PL

核心发现:在资源受限场景(孟加拉语)中,TDD + Code Interpreter 将基线提升至 85%,无需微调。小模型可达大模型 98% 准确率。证明 TDD + CI 是低成本高效益方案。

A4. 工具与平台

8. LASSO: Test-driven Software Experimentation with LLM Prompt Benchmarking
2410.08911 | 2024-10 | Kessel | cs.SE, cs.AI

核心发现:TDSE(测试驱动软件实验)平台,提供 DSL 和数据结构的工具包来设计和执行软件实验。

9. CoSQA+: Pioneering the Multi-Choice Code Search Benchmark with Test-Driven Agents
2406.11589 | 2024-06 | cs.SE, cs.AI, cs.IR

核心发现:将 TDD 代理用于代码搜索基准测试,用测试执行来验证搜索结果的相关性。


Part B — Non-Programming Domains(非编程通用领域)

B1. 本体工程 (Ontology Engineering) —— TDD 在知识表示领域的标杆

10. Test-Driven Development of Ontologies (extended version)
1512.06211 | 2015-12 | Keet & Lawrynowicz | cs.AI

核心贡献:首次系统地将 TDD 引入本体工程。定义 36 个通用测试覆盖 OWL 2 DL 所有语言特性,实现为 Protégé 插件。
STDD 启示:本体 = 知识规范。TDD 在"定义概念及关系"这类非编程任务中证明有效——规格(OWL 公理)就是可执行的测试。

11. More Effective Ontology Authoring with Test-Driven Development
1812.06015 | 2018-12 | Keet, Davies & Lawrynowicz | cs.AI

核心贡献:提出完整 TDD 算法覆盖任意 OWL 2 类表达式和 ABox 断言,证明了正确性。实现为 TDDonto2(Protégé 插件)。评估结论:TDD 比传统界面更快(尤其大中型本体),建模者错误显著减少。
STDD 启示:TDD 在非编程领域最有说服力的实证——知识建模者 TDD 流程中犯错更少、完成任务更快。

B2. 表格工程 (Spreadsheet Engineering) —— 面向非程序员用户

12. Investigating the Potential of TDD for Spreadsheet Engineering
0801.4802 | 2008-01 | Rust, Bishop & McDaid | cs.SE

核心贡献:最早将 TDD 应用于电子表格开发。通过两个案例研究证明 TDD 可应用于非编程领域的表格建模。
STDD 启示:表格 = 非程序员使用频率最高的"计算规格"。TDD 的角色是对计算结果进行预期定义而非代码测试。

13. Leveraging TDD with LLMs for Reliable Spreadsheet Code Generation
2510.15585 | 2025-10 | Thorne & Sarkar | cs.SE, cs.CL, cs.PL

核心贡献:TDD + LLM 框架用于电子表格公式生成。测试优先方法论既提供"技术约束"也提供"认知支架",引导 LLM 输出更准确解决方案。

B3. 规则/策略系统 (Rule-Based Policy & Contracts)

14. VV&I of Rule Based Policies and Contracts in the Semantic Web
cs/0609119 | 2006-09 | Paschke | cs.AI, cs.SE

核心贡献:将 TDD 引入规则引擎的验证/确认/完整性测试(V&V&I)。关键洞见:TDD 关注行为层面的结论而非规则库结构,因此独立于规则语言复杂度,对规则工程师和用户都更易用。
STDD 启示:规则/策略 = 决策逻辑的规格。"关注行为而非结构"原则直接支持 STDD 中"Spec 定义预期行为"的非编程应用。

B4. 示例驱动开发 EDD (Example-Driven Development)

15. Example-Driven Development: Bridging Tests and Documentation
2409.00514 | 2024-08 | Nierstrasz, Chiş & Gîrba | cs.SE

核心贡献:EDD——示例既是可执行的测试,又是可检查、可复用的"活文档"。示例不像传统测试只返回 pass/fail,而是返回对象以便检查和复用于更丰富场景。
STDD 启示:"测试即文档"与 STDD 中 Spec = 可执行的规格定义高度一致。示例在非编程领域天然适配:用具体输入/输出来定义规格,比自然语言更准确。

B5. 推理引擎/知识查询

16. Unit Testing in ASP Revisited: Language and TDD Environment
2401.02153 | 2024-01 | Amendola et al. | cs.SE, cs.AI

核心贡献:为 Answer Set Programming(知识表示和推理范式)设计 TDD 环境。提出新的单元测试规范语言,支持在 ASP 程序中内联测试。
STDD 启示:推理模型/规则库的测试——非编程但是逻辑密集型。TDD 的角色是验证推理结果是否符合预期,而非验证代码。

17. Are Query-Based Ontology Debuggers Really Helping Knowledge Engineers?
1904.01484 | 2019-04 | Rodler et al. | cs.AI

核心贡献:交互式本体调试用户研究。发现基于查询的调试比基于测试用例的算法调试更高效,但也揭示用户易出错,提示测试用例设计需谨慎。
STDD 启示:知识工程行为本身需要测试驱动——验证知识工程师的推理过程是否正确。


Part C — Cross-Domain 理论框架

18. The role of slicing in test-driven development
2407.13258 | 2024-07 | Dieste et al. | cs.SE

核心发现:每个 TDD 周期 = 用户故事的垂直切片,通过"契约"(contracts)捕获。本文的框架不限于编程,描述了 TDD 的普适性本质。

19. Why Research on TDD is Inconclusive?
2007.09863 | 2020-07 | Ghafari et al. | cs.SE

核心发现:系统综述 TDD 研究矛盾结论的方法论陷阱。任何 TDD 研究者设计实验前应阅读。

20. Causal Factors, Benefits and Challenges of TDD: Practitioner Perceptions
2101.12393 | 2021-01 | Buchan et al. | cs.SE

核心发现:组织层面 TDD 落地的三年追踪——因果要素、益处与挑战。


跨域聚类分析

篇数共同特征STDD 启示
知识工程系
本体工程 + 规则系统 + 调试 + ASP
5知识/逻辑表征为输出,测试验证"推理结果"而非代码正确性Spec = 示例 + 约束的组合,而非自然语言描述
计算工具系
表格工程
2面向非程序员终端用户,验证"计算结果"是否符合业务预期测试独立于领域复杂度——TDD 不依赖底层逻辑复杂度
代码生成系
LLM4TDD + TDFlow + GenAI + TDD
7LLM 辅助或驱动的代码生成,TDD 作为约束和验证机制协作模式 vs 全自动——非编程领域更适合协作(专家定 Spec,AI 辅助方案)
通用框架系
EDD + 切片理论 + ATDD
4描述 TDD 超越编程的本质——契约、切片、验收条件是通用概念验证链可抽象为"规格定义→实现匹配→整体一致性"
治理系
ATDD for LLM Systems
1非确定性系统行为控制,red-train-green 生命周期TDD 正在从确定性领域扩展至概率性 AI 行为

关键趋势

趋势说明
从提示驱动 → 测试驱动2023 的 LLM4TDD(探索)→ 2025 的 TDFlow(88.8%)。范式从"怎么让 LLM 按提示写代码"转向"怎么用测试约束 LLM 行为"
Agentic TDD多智能体分解 + TDD 流水线成为最强代码修复方案
测试质量成为瓶颈TDFlow 指出"生成有效复现测试"是最后屏障——而非代码修复本身
TDD 在非编程领域的有效性已被实证本体工程(Keet 团队,TDDonto2)→ 建模者错误减少、效率提升
TDD 独立于领域复杂度规则系统的 VV&I 论文证明 TDD 关注行为而非结构——对任何领域都适用
EDD 弥合了测试与文档的鸿沟示例既是测试又是活文档——Spec = 可执行的示例定义

STDD 非编程域扩展建议

  1. 知识工作者的 Spec = 示例 + 约束:本体工程 TDD 和 EDD 表明,非编程领域中最有效的 Spec 形式是"具体示例 + 约束条件"的组合,而非自然语言描述。
  2. 测试独立于领域复杂度:规则系统 VV&I 论文指出 TDD "独立于规则语言复杂度"——测试框架不应依赖底层领域逻辑的复杂度。
  3. 协作模式更适合非编程领域:领域专家定义 Spec,AI 辅助生成候选方案,而非全自动模式。
  4. 验证链的抽象方法:STDD 的三层验证(Spec 验证 → 测试验证 → 集成验证)可抽象为任何领域的"规格定义 → 实现匹配 → 整体一致性"。
  5. LLM 作为非编程 TDD 的执行器:TDFlow 的智能体解耦设计——Spec 设计层、测试生成层、执行层分离——可直接指导非编程 STDD 的架构。