req2test
收藏资源简介:
Req2Test 是一个用于需求驱动单元测试生成的大规模、多语言数据集,专为从大型教师大语言模型(LLM)到小型(2B–4B)学生模型的知识蒸馏而构建。数据集包含 85,560 条记录,每条记录将一个详细的自然语言功能需求段落与八个对齐的代码工件配对:包括四种编程语言(PHP、Java、TypeScript、C#)及其对应测试框架(PHPUnit、JUnit、Jest、NUnit)中的接口声明和单元测试类。数据涵盖 177 个领域(128 个软件应用领域和 49 个算法/计算领域),共生成 684,480 个代码示例,其中 95.2% 的单元测试工件包含至少一个真实断言。数据集旨在用于监督微调小型语言模型,使其能够在测试驱动开发场景中,直接根据自然语言需求生成接口声明和单元测试,而无需访问现有源代码。数据生成完全在本地完成,使用了 Gemma 2 27B、Phi-3 Medium 14B 和 CodeGemma 7B 等开源模型。数据集仅包含英文后端功能需求,且未进行执行验证,有 3.6% 的测试记录不含真实断言。数据集以 CC BY 4.0 许可证分发,并受 Google Gemma 使用条款约束。
数据集概述:Req2Test
Req2Test 是一个大规模、多语言的、面向需求驱动的单元测试生成数据集,旨在支持从大型教师语言模型到小型学生模型的知识蒸馏。
基本属性
- 许可协议:CC BY 4.0
- 语言:英语
- 记录数量:85,560 条
- 列数:9 列
- 领域:177 个(128 个软件应用领域 + 49 个算法/计算领域)
- 生成示例总数:684,480 个
- 数据集大小:
DataSet.parquet文件(单一训练集,约 366 MiB) - 任务类别:文本生成
- 标签:代码、单元测试、软件工程、测试生成、知识蒸馏、合成数据、PHP、Java、TypeScript、C#
- 配置:默认配置,包含一个训练集,数据文件路径为
DataSet.parquet
数据模式(Schema)
每条记录包含一个自然语言功能需求以及四种编程语言对应的接口声明和单元测试类,共 9 列:
| 列名 | 类型 | 描述 |
|---|---|---|
requirements |
string | 详细描述的自然语言功能需求段落 |
interface_php |
string | PHP 接口 |
unittest_php |
string | PHPUnit 测试类 |
interface_java |
string | Java 接口 |
unittest_java |
string | JUnit 测试类 |
interface_js |
string | TypeScript 接口 |
unittest_js |
string | TypeScript/Jest 测试类 |
interface_csharp |
string | C# 接口 |
unittest_csharp |
string | NUnit 测试类 |
使用示例
使用 Hugging Face datasets 库加载:
python
from datasets import load_dataset
ds = load_dataset("centertest/req2test", split="train")
print(ds)
print(ds[0]["requirements"])
print(ds[0]["unittest_php"])
数据集构建
由七步迭代分解流水线生成,完全在本地运行(单张 NVIDIA A40 GPU,约 5,184 GPU 小时),使用开源权重模型:
- Gemma 2 27B:教师模型,生成需求、接口和单元测试。
- Phi-3 Medium 14B:轻量模型,处理低复杂度项目。
- CodeGemma 7B:跨语言翻译(PHP → Java, TypeScript, C#)。
所有生成过程中未向任何外部 API 发送源代码或数据。
数据质量
- 包含断言的测试:95.2% 的单元测试工件包含至少一个真实断言。
- 局限性:仅涵盖后端功能需求(无前端/集成问题);需求仅使用英语;无基于执行的验证,3.6% 的测试记录不含真实断言。
预期用途
监督微调小型语言模型,使其能够直接从自然语言需求生成接口声明和单元测试,模拟测试驱动开发场景,无需访问现有源代码。
发布说明(2026-07)
- Parquet 文件已原地重新编码,以改善远程扫描兼容性。
- 当前布局使用多个行组和 Parquet 页面索引,支持更好的随机访问读取。
- 内容未变:85,560 行,9 列。
引用
如果使用 Req2Test,请引用随附论文和该数据集(数据集中心标识符:centertest/req2test,DOI: 10.57967/hf/9646)。




