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/22 14:53:03阅读更多 →
匹克球赛事自动运镜跟拍相机多少钱?看完不踩坑

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

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

2026/6/22 17:07: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/22 15:28:50阅读更多 →
AVR单片机零交叉检测:原理、实现与交流功率控制应用

AVR单片机零交叉检测:原理、实现与交流功率控制应用

1. 从“交流电”到“数字信号”:零交叉检测的工程价值在嵌入式开发,尤其是涉及交流电(AC)控制的项目里,比如智能调光台灯、电机调速器、固态继电器(SSR)驱动或者功率因数校正电路,我…

2026/6/22 19:59:17阅读更多 →
深入解析:Boring Notch macOS 系统集成与 SwiftUI 现代化架构实战指南

深入解析:Boring Notch macOS 系统集成与 SwiftUI 现代化架构实战指南

深入解析:Boring Notch macOS 系统集成与 SwiftUI 现代化架构实战指南 【免费下载链接】boring.notch TheBoringNotch: Not so boring notch That Rocks 🎸🎶 项目地址: https://gitcode.com/gh_mirrors/bor/boring.notch Boring Notc…

2026/6/22 19:59:17阅读更多 →
3分钟上手Python弹幕神器:blivedm让B站直播数据获取变得如此简单!

3分钟上手Python弹幕神器:blivedm让B站直播数据获取变得如此简单!

3分钟上手Python弹幕神器:blivedm让B站直播数据获取变得如此简单! 【免费下载链接】blivedm 获取bilibili直播弹幕,使用WebSocket协议,支持web端和B站直播开放平台两种接口 项目地址: https://gitcode.com/gh_mirrors/bl/blived…

2026/6/22 19:59:17阅读更多 →
WeKnora:基于大模型的新一代文档理解与检索框架

WeKnora:基于大模型的新一代文档理解与检索框架

架构设计 WeKnora采用现代化模块化设计,构建了一条完整的文档理解与检索流水线。 系统主要包括以下几个核心模块: 1. 文档处理层:负责多种格式文档的解析与预处理,将非结构化内容转换为结构化数据。 2. 知识建模层:…

2026/6/22 19:59:17阅读更多 →
Hermes Agent:可复盘、可成长的智能体架构设计

Hermes Agent:可复盘、可成长的智能体架构设计

1. 项目概述:一个真正会“复盘”的Agent,不是加个日志模块就叫成长最近在几个技术社区里反复看到“Hermes Agent”这个词,尤其高频出现在AI工程实践、智能体开发和复杂任务自动化讨论中。它不像那些只强调“调用多个工具”或“堆砌大模型API”…

2026/6/22 19:59:17阅读更多 →
终极快速指南:如何用TradingAgents-CN构建AI驱动的智能股票分析系统

终极快速指南:如何用TradingAgents-CN构建AI驱动的智能股票分析系统

终极快速指南:如何用TradingAgents-CN构建AI驱动的智能股票分析系统 【免费下载链接】TradingAgents-CN 基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版 项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN TradingAgents-C…

2026/6/22 19:54:16阅读更多 →
【人工智能】一文搞定到底什么是智能体

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

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

2026/6/22 6:01:42阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

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

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

2026/6/22 1:15:34阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

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

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

2026/6/22 5:42:46阅读更多 →
Codex本地AI编码代理与CC Switch协议适配实战

Codex本地AI编码代理与CC Switch协议适配实战

1. Codex不是“另一个VS Code插件”,而是本地AI编码代理的临界点Codex这个名字,现在被太多人误读了。它不是ChatGPT那个早已停更的旧模型代号,也不是某个新出的VS Code扩展图标——它是2024年中后期悄然浮出水面的一类本地化AI编码代理&#…

2026/6/22 0:04:18阅读更多 →
从MSP430到Flexis QE128:8/32位MCU无缝迁移与低功耗设计实战

从MSP430到Flexis QE128:8/32位MCU无缝迁移与低功耗设计实战

1. 项目概述:当8位MCU遇到性能瓶颈,我们如何优雅升级?在嵌入式开发领域,尤其是电池供电的便携式设备、工业传感器节点或智能家居终端中,我们常常面临一个经典的两难选择:是选择功耗极低但性能有限的8位微控…

2026/6/22 0:04:18阅读更多 →
大语言模型空间推理能力提升:TEXT2SPACE数据集与ASCII增强技术解析

大语言模型空间推理能力提升:TEXT2SPACE数据集与ASCII增强技术解析

1. 项目缘起:当大语言模型“看”不懂空间 最近在折腾大语言模型(LLM)的各种应用时,我发现一个挺有意思的现象:你让模型写首诗、写代码、甚至做逻辑推理,它可能都表现得有模有样。但一旦涉及到需要理解“空间…

2026/6/22 0:04:18阅读更多 →