TESTEVAL:用大模型生成测试用例的新标杆
“ 在软件开发中测试是保证代码质量的核心环节。生成覆盖率高、符合预期逻辑的测试用例既能发现潜在bug也能提升软件可靠性。然而传统测试用例生成方法不仅耗时还需要复杂分析自动化难度大。近年来LLM在代码理解与生成方面表现出色但它们在自动生成测试用例、覆盖特定代码路径上的能力尚不清楚。TESTEVAL的出现正是为了系统评估LLMs在这一关键任务上的性能。 ”论文标题TESTEVAL: Benchmarking Large Language Models for Test Case Generation发表时间 Findings of the Association for Computational Linguistics:NAACL2025作者单位 阿尔伯塔大学东京大学等开源代码https://github.com/LLM4SoftwareTesting/TestEval01—方法介绍论文提出了 TESTEVAL 基准框架通过三个任务评估 LLM 的测试能力① 整体覆盖生成尽可能覆盖程序大部分语句的测试用例② 目标行/分支覆盖生成能覆盖特定语句或分支的测试用例③ 目标路径覆盖生成能执行指定路径的测试用例。图 1. TESTEVAL整体框架小结TESTEVAL 强调 LLM 理解程序逻辑的能力而不仅仅是生成可运行代码。02—关键机制全新测试用例基准首次系统评估 LLMs 在覆盖率导向的测试用例生成能力多任务设计兼顾整体覆盖、特定分支及路径覆盖多模型对比涵盖 17 个商业与开源 LLM展示差异化能力真实控制流复杂度数据集平均环路复杂度 13.35高于许多现有数据集。模块设计思路作用任务设计整体覆盖、特定分支/路径覆盖考察 LLM 的逻辑理解与测试用例生成能力数据集构建210 个 LeetCode Python 程序提供可控、复杂度适中的测试环境LLM 评估17 个流行商业及开源模型系统对比 LLM 在不同覆盖任务上的性能指标计算语法、执行、断言正确性及覆盖率保证评价的全面性与科学性小结ESTEVAL 不只是生成测试用例更是考察 LLM 对程序执行路径和分支逻辑的理解。03—实验结果为了构建基准数据集首先收集了LeetCodehttps://github.com/walkccc/LeetCode的解题程序。LeetCode是一个在线平台用于评估程序员的编程能力因为它对每个编程任务都有明确的任务描述和输入限制。作者首先筛选出截至2024年4月的所有公开任务。随后从GitHub仓库1中收集了每个任务的Python解决方案共收集了3123个测试程序。表1显示了整体覆盖任务的评估结果。实验中对每个模型进行20轮查询N20为每个待测程序生成测试用例每轮一个测试用例。进一步使用covk来衡量每个大型语言模型LLM生成的测试用例的多样性。表1. 整体覆盖任务的结果表2和表3分别展示了目标行覆盖率和分支覆盖率的评估结果。对于每个目标LLM还通过排除文本提示中关于目标行/分支的信息来设置基线。对于每个测试程序复用为整体覆盖任务生成的首个测试用例并测量其在目标行/分支上的覆盖准确性。表2. 目标行覆盖结果表3. 目标分支覆盖结果图4展示了目标路径覆盖任务的结果。实验采用了与目标行/分支覆盖任务中类似的基线方法即在文本提示中排除了目标路径。表4 目标路径覆盖结果小结TESTEVAL是一个新型基准数据集目标覆盖任务能够评估LLM在理解复杂程序逻辑和执行路径方面的能力以及根据测试者的意图生成测试用例的能力。实验发现尽管LLM通过生成多样化的测试用例可以实现较高的整体覆盖率但要生成覆盖特定元素的测试用例仍然具有挑战性。 总结TESTEVAL 为 LLM 测试用例生成提供了系统评价框架与公开数据集使研究者能够科学衡量模型能力。未来提升 LLM 对程序执行路径和逻辑的理解可能是突破自动化测试的关键。 欢迎留言讨论你认为 LLMs 是否能够在不依赖传统测试工具的情况下可靠地生成高覆盖率测试用例对于工业级项目覆盖特定路径的自动化生成有多大可行性 点赞 收藏 分享你的支持是我们持续解析高水平软件安全论文的最大动力

相关新闻

嵌入式GUI字体技术:XBF与TTF原理、选型与实战优化

嵌入式GUI字体技术:XBF与TTF原理、选型与实战优化

1. 嵌入式GUI字体技术:从原理到实战的深度解析在嵌入式图形界面开发中,字体显示是决定用户体验好坏的关键一环,却也是最容易被忽视的“内存杀手”和“性能瓶颈”。你是否遇到过这样的困境:产品需要显示多国语言,但内置…

2026/6/23 15:20:40阅读更多 →
匹克球赛事自动运镜跟拍相机多少钱?看完不踩坑

匹克球赛事自动运镜跟拍相机多少钱?看完不踩坑

经常打匹克球、带队参赛或者陪孩子打球的朋友,大概率都遇到过同一个难题:精彩的扣杀、网前小球、逆风翻盘的关键回合,总是拍不清楚、拍不全、直接漏拍。不少人都在问,靠谱的匹克球赛事自动运镜跟拍相机到底多少钱?有没…

2026/6/23 17:12:15阅读更多 →
魔兽争霸III终极优化指南:WarcraftHelper让你的经典游戏焕然一新

魔兽争霸III终极优化指南:WarcraftHelper让你的经典游戏焕然一新

魔兽争霸III终极优化指南:WarcraftHelper让你的经典游戏焕然一新 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸III在现代…

2026/6/23 16:27:00阅读更多 →
小白程序员必看:大模型技能检索增强(SRA)实战指南,轻松提升AI Agent能力

小白程序员必看:大模型技能检索增强(SRA)实战指南,轻松提升AI Agent能力

本文介绍了清华大学论文Skill Retrieval Augmentation for Agentic AI(SRA),探讨当技能库规模庞大时,如何让AI Agent按需检索和使用技能。SRA通过技能检索、加载和应用三阶段,解决LLM在技能选择上的“需求感知”缺失问…

2026/6/24 10:19:22阅读更多 →
Rust 测试体系:从单元测试到集成测试,质量保障的完整拼图

Rust 测试体系:从单元测试到集成测试,质量保障的完整拼图

Rust 测试体系:从单元测试到集成测试,质量保障的完整拼图一、Rust 测试不只是 #[test]:编译期保障的延伸 Rust 的类型系统和所有权规则在编译期消除了大量 bug,但编译器无法验证业务逻辑的正确性。一个函数签名正确、编译通过的代…

2026/6/24 10:19:21阅读更多 →
SpringBoot 构建轻量化企业智能业务系统:架构选型与工程规范

SpringBoot 构建轻量化企业智能业务系统:架构选型与工程规范

文章目录一、深度解析:为什么 SpringBootAI 项目必须独立规范架构?1. 安全风险极高,密钥极易泄露2. 模型迭代成本巨大,牵一发而动全身3. 代码高度耦合,完全无法复用4. 无日志无溯源,问题排查如盲人摸象二、…

2026/6/24 10:19:21阅读更多 →
Java开发者收藏:从0理解AI大模型,软着陆转型AI应用开发全攻略

Java开发者收藏:从0理解AI大模型,软着陆转型AI应用开发全攻略

本文针对Java开发者对AI大模型的焦虑,提出转型路径建议。核心观点包括:转型需理性评估自身情况,推荐从AI应用开发切入(如基于API开发、Prompt工程等),避免裸辞All in;成功案例显示利用现有架构经…

2026/6/24 10:19:21阅读更多 →
暗黑3玩家的终极解放:D3KeyHelper自动化战斗助手完整指南

暗黑3玩家的终极解放:D3KeyHelper自动化战斗助手完整指南

暗黑3玩家的终极解放:D3KeyHelper自动化战斗助手完整指南 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 你是否在暗黑破坏神3的激烈战斗…

2026/6/24 10:19:21阅读更多 →
KMS_VL_ALL_AIO:Windows和Office智能激活的进阶解决方案

KMS_VL_ALL_AIO:Windows和Office智能激活的进阶解决方案

KMS_VL_ALL_AIO:Windows和Office智能激活的进阶解决方案 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 在数字化办公环境中,Windows Office激活已成为每个用户必须面对的…

2026/6/24 10:09:01阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/24 7:33:03阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/24 2:12:09阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/24 7:37:00阅读更多 →
TaskJuggler脚本编程入门:用代码实现自动化项目管理

TaskJuggler脚本编程入门:用代码实现自动化项目管理

TaskJuggler脚本编程入门:用代码实现自动化项目管理 【免费下载链接】TaskJuggler TaskJuggler - Project Management beyond Gantt chart drawing 项目地址: https://gitcode.com/gh_mirrors/ta/TaskJuggler TaskJuggler是一款强大的开源项目管理工具&#…

2026/6/24 0:02:41阅读更多 →
终极教程:使用angular-mobile-nav实现流畅的移动页面过渡效果

终极教程:使用angular-mobile-nav实现流畅的移动页面过渡效果

终极教程:使用angular-mobile-nav实现流畅的移动页面过渡效果 【免费下载链接】angular-mobile-nav An angular navigation service for mobile applications 项目地址: https://gitcode.com/gh_mirrors/an/angular-mobile-nav angular-mobile-nav是一款专为…

2026/6/24 0:02:41阅读更多 →
Wan2.1-Fun-V1.1-1.3B-InP Web UI使用教程:无需代码的AI视频创作

Wan2.1-Fun-V1.1-1.3B-InP Web UI使用教程:无需代码的AI视频创作

Wan2.1-Fun-V1.1-1.3B-InP Web UI使用教程:无需代码的AI视频创作 【免费下载链接】Wan2.1-Fun-V1.1-1.3B-InP 项目地址: https://ai.gitcode.com/hf_mirrors/PAI/Wan2.1-Fun-V1.1-1.3B-InP Wan2.1-Fun-V1.1-1.3B-InP是一款强大的AI视频创作工具,…

2026/6/24 0:02:41阅读更多 →