LLM已能显著提升测试脚本生成的速度和包括率,真正的转折是:从生成测试代码变成生成可证实的测试意图,否则测试可能只是看起来对,却无法真正发现缺陷。
矛盾
LLM 擅长生成语法正确、包括率高的测试代码。
但代码包括率高 ≠ 测试有效:测试可以执行每一行代码,却不做有意义断言。
当前最大短板:语义深度不足、断言幻觉、代码先行偏差。
技术路线演进
提示驱动直接生成
简单提示让模型直接输出测试代码,易出现函数签名幻觉、无法编译、边界包括不足。
结构化推理和场景建模
引入链式思维、场景元组、状态/边界/异常推理。
代表:ScenarioLLM,Pass@3 可执行率达 96.8%,异常场景包括率 79.3%。
知识增强:RAG加程序分析增强微调
RAG:检索项目 API、数据结构、业务规则,注入提示。
程序分析增强微调:Ericsson 方法级 F1 平均提升 8%,中小模型接近大模型效果。
组合方法:可执行性 +27.92%,正确性 +33.83%,需求对齐 +45.3%,需求包括率 +42%。
实践落点
单元测试:多阶段提示流程,从函数发现、条件引出到测试封装;推理模型在复杂途径分析中更有优势。
API 测试:MASTEST 多智能体系统根据 OpenAPI 生成测试,单元包括率 94%–98%,语法正确率 100%,Bug 检测率 2.13–4.50。
端到端测试:单次提示 + 抽象 DOM 引用可降低 CoT 的 token 成本 22.7%、延迟 40%–50%,准确率 80%–90%。
标准转变
旧标准:代码包括率。
新标准:变异测试杀伤率。
AI Test Pilot 在 QuixBugs 上杀伤率 0.80,HumanEval 留出集 0.923;Pynguin 仅 0.30。
多维正在形成:创建执行成功率、变异分数、可读性。
挑战
语义深度不足:断言停留在返回值,缺少中间状态、副作用、不变式证实。
断言幻觉:当代码有缺陷时,LLM 可能生成“证实错误行为”的测试,使测试成为缺陷同谋。
代码先行系统性偏差:从实现反推测试,倾向包括已有行为,而不是定义应有行为,和TDD思路倒置。
未来方向
LLM加符号执行:LLM理解意图,符号执行求解途径约束。
多模态反馈流程:生成—执行—分析—进化,以包括率缺口、变异存活、运行时异常驱动优化。
从测试代码到测试意图:用形式化规约、属性、不变式表达测试意图,再编译为可执行测试。
产业落地
美团KuiTest:UI 交互遍历测试,准确率 86%,召回率 85%。
东软:智能测试平台拓展至车载、金融、医疗、政务。
快手:大模型智能冒烟作为提测门禁。
判断
LLM测试生成的下一阶段,不是更会写测试代码,而是更会定义并证实测试意图。