RESTestBench
收藏arXiv2026-04-29 更新2026-04-30 收录
下载链接:
https://github.com/casablancahotelsoftware/RESTestBench
下载链接
链接失效反馈官方服务:
资源简介:
RESTestBench是由CASABLANCA酒店软件公司联合多所高校开发的REST API测试基准,包含3个真实场景的REST服务、106条经过人工验证的双粒度自然语言需求(精确版与模糊版)以及228条基于需求设计的变异用例。数据集通过OpenAPI规范描述接口,配套提供评估框架,支持对LLM生成的测试用例进行基于属性变异测试(PBMT)的量化评估。该基准旨在解决传统API测试指标(如代码覆盖率)无法衡量需求对齐度的痛点,特别适用于验证自然语言需求到可执行测试用例的转换效果,推动智能化API测试工具的发展。
RESTestBench is a REST API testing benchmark developed by CASABLANCA Hotel Software Company in collaboration with multiple universities. It includes 3 real-world REST services, 106 manually verified dual-granularity natural language requirements (precise and vague versions), and 228 mutation test cases designed based on these requirements. The dataset describes interfaces via the OpenAPI Specification, and is equipped with an evaluation framework that supports quantitative evaluation of test cases generated by LLMs through Property-Based Mutation Testing (PBMT). This benchmark aims to solve the pain point that traditional API testing metrics such as code coverage cannot measure requirements alignment, and is particularly suitable for verifying the conversion effect from natural language requirements to executable test cases, so as to promote the development of intelligent API testing tools.
提供机构:
CASABLANCA hotelsoftware GmbH; 因斯布鲁克大学; 慕尼黑工业大学; Diffblue有限公司
创建时间:
2026-04-29
原始信息汇总
RESTestBench 数据集概述
RESTestBench 是一个用于评估由大型语言模型(LLM)从自然语言需求生成的 REST API 测试用例有效性的基准测试集。
核心目标
通过基于需求的变异测试(requirements-based mutation testing),衡量生成的测试用例能否检测出 REST API 实现中注入的已知故障(变异体)。
数据集构成
数据集位于 data/requirements/ 目录下,覆盖了三个 REST API 服务:
| 服务 | 框架 | 需求数量 | 端口 |
|---|---|---|---|
fastapi |
FastAPI (Python) | 63 | 8000 |
nestjs-realworld |
NestJS (TypeScript) | 26 | 3000 |
todoapp |
.NET (C#) | 14 | 5000 |
每个需求是一个 JSON 文件(data/requirements/<服务名>/requirement_<编号>.json),包含:
- 精确需求(precise) 和 模糊需求(vague) 两种描述
- 一个或多个变异体(injected faults),测试用例需要检测这些故障
主要特点
- 支持评估多种测试生成方法
- 提供单步生成(single-step)和迭代精化(refinement)两种工具实现
- 评估了 10 种 LLM 模型在精确和模糊需求下的表现
关键发现
- 需求精确度对测试有效性影响显著,精确描述通常比增加精化循环更重要
- 迭代精化在需求不明确时帮助更大,但在需求精确时收益有限
- 生成过程中与服务交互可能导致工具适应错误行为,遗漏本应检测的故障
- 模型大小不能简单代表测试质量,小模型可能无法覆盖变异代码,大模型可能过度设计断言
搜集汇总
数据集介绍
构建方式
RESTestBench的构建基于对三个代表性REST服务(FastAPI、TodoApp和RealWorld)的精心遴选,这些服务均满足开源、提供OpenAPI规范且具有非平凡领域逻辑的要求。针对每项服务,通过逆向工程从现有集成测试或源代码中提取了106条人工验证的功能性自然语言需求,并为每条需求提供了精确与模糊两种变体,以模拟工业实践中需求精度的差异。此外,为每条需求手工设计了228个基于需求的变异体,这些变异体遵循属性导向变异测试原则,确保其可传播、相关且非等价,从而精准评估测试用例对功能行为的检测能力。最终,整个基准测试框架提供了标准化的Python接口,支持不同生成工具的集成与可重复评估。
特点
RESTestBench的核心特点在于其将需求工程与测试生成相解耦,通过引入属性导向变异测试指标,实现了对LLM生成测试用例功能有效性的量化评估。与传统的代码覆盖率或崩溃检测指标不同,该基准测试能够区分测试是否因正确的原因(即验证了预期需求)而检测到故障。此外,基准测试提供了精确与模糊两种需求变体,使研究者能够系统研究需求粒度对生成质量的影响。另一显著特点是其支持对有精炼循环与无精炼循环两种生成策略的对比评估,尤其能测量与实际实现交互时,测试有效性是否会因接触错误行为而下降,从而揭示需求明确性与实现反馈之间的权衡关系。
使用方法
使用RESTestBench时,研究者需实现标准的Python接口函数generate_test与execute_test,以集成其测试生成方法。基准测试提供清晰的输入(自然语言需求、OpenAPI规范与服务基础URL)和统一的输出格式(pytest测试用例)。评估过程自动执行以下步骤:在干净的SUT状态上生成测试、运行测试并依据属性导向变异测试计算变异分数。对于采用精炼循环的方法,基准测试能分别计算基于有效实现与变异实现生成的测试的变异分数,从而量化实现行为对测试效果的影响。最终结果以标准化的JSON格式输出,支持跨工具、跨模型的系统化比较,且所有实验数据与代码均开源可复现。
背景与挑战
背景概述
RESTestBench是由奥地利因斯布鲁克大学、慕尼黑工业大学及Diffblue公司等机构的研究人员于2026年联合提出的基准测试集。其核心研究问题聚焦于如何量化评估大语言模型从自然语言需求描述中生成REST API测试用例的有效性。该基准的诞生源于软件测试领域的一个重要转变:传统REST API测试大多依赖代码覆盖率和崩溃检测指标,但随着基于LLM的测试生成方法兴起,这些指标难以衡量测试用例是否真正验证了预期的功能性行为。RESTestBench通过提供三个经过人工验证的REST服务、106条兼具精确与模糊变体的自然语言需求、以及228个与需求紧密关联的定向变异,开创性地建立了需求驱动的测试评估框架。该基准引入的基于需求的变异测试指标,为自动化API测试领域提供了更具语义严谨性的评估范式,显著推动了测试生成技术从鲁棒性检测向功能正确性验证的跨越。
当前挑战
RESTestBench致力于解决的核心挑战是现有评估指标与需求验证之间的根本性脱节。在领域问题层面,传统代码覆盖率和HTTP错误码等指标只能反映测试对系统执行的触及程度,却无法判断测试是否真正检验了自然语言需求中规定的前置条件、业务逻辑和预期响应,导致许多LLM生成的测试在检测功能缺陷时效果不佳。在基准构建过程中,研究者面临多重棘手的挑战:首先,需要从源代码和集成测试中逆向工程出完整且精确的需求描述,确保每条需求都能在正式实现上通过人工编写的黄金测试;其次,必须为每条需求设计既能传播至API响应、又非等价且互不包含的手工变异,这要求对每个服务的业务逻辑有深刻理解;再者,要区分精确与模糊两种需求变体以探究详细程度对生成效果的影响,同时保证需求描述符合工程实践中的真实模糊性。这些挑战共同塑造了RESTestBench在可复现性、可控性和语义对齐方面的独特价值。
常用场景
经典使用场景
RESTestBench被广泛用于评估大语言模型在生成REST API测试用例时的有效性。该基准测试包含三个精选的REST服务,配备人工验证的自然语言需求描述,并提供了精确与模糊两种变体,从而允许在受控且可复现的条件下,系统性地衡量从需求描述到可执行测试用例的转换质量。研究者通常利用该基准对比单步生成与基于精化循环的生成策略,以探究模型在不同需求粒度下的表现差异。其经典使用场景聚焦于验证测试用例是否真正捕捉到功能需求,而非仅仅依赖代码覆盖或服务器错误等传统代理指标,为需求驱动的测试生成研究奠定了坚实的评估基础。
实际应用
在实际软件工程中,RESTestBench可应用于自动化API测试工具链的选型和优化。企业测试团队可以利用该基准评估不同大语言模型或生成策略在将其业务需求转化为可执行测试时的表现,从而选择最具成本效益的方案。例如,在持续集成流水线中,该基准能帮助确定是采用单步生成以降低成本,还是引入精化循环以提升测试有效性,特别是在需求描述不完整或遗留系统文档匮乏的场景下。此外,RESTestBench还可用于指导测试用例的质量审计,通过其需求对齐的变异评分来识别测试套件中的薄弱环节,最终提升生产环境中API服务的可靠性和数据完整性。
衍生相关工作
RESTestBench的发布催生了一系列相关研究工作,推动了大语言模型驱动API测试领域的发展。一方面,研究者基于其评估框架开发了更高效的测试生成方法,例如将检索增强生成与精化循环结合,以提升在模糊需求下的测试效果。另一方面,该基准中的变异集和需求设计激发了关于测试预言机鲁棒性的研究,揭示了模型在面对错误实现时可能调整断言以匹配故障行为的倾向。此外,RESTestBench的PBMT指标已被后续工作采纳并扩展,用于评估多服务微服务架构中的需求级测试,促进了更复杂场景下测试有效性度量的研究,并启发了对OpenAPI规范质量影响测试生成效能的系统性分析。
以上内容由遇见数据集搜集并总结生成



