随着软件系统复杂度不断提升,测试用例编写已成为测试团队的核心工作负担。传统人工编写方式不仅耗时耗力,还容易出现场景遗漏、覆盖率不足等问题,难以满足快速迭代的研发需求。
测试用例生成Agent系统基于大语言模型技术,通过4个智能Agent协同工作,实现从PRD需求文档到完整测试用例的全流程自动化。系统能够自动解析需求、识别测试场景、生成详细用例并准备测试数据,显著提升测试效率和质量。核心价值在于:将测试人员从重复性工作中解放出来,聚焦于更高价值的测试策略设计;通过系统化的场景识别方法,确保测试覆盖的全面性和规范性;支持云端和本地双后端,灵活适配不同使用场景,为测试团队提供智能化、标准化的测试用例生成解决方案。

系统概述
基于大语言模型的智能测试用例生成系统,输入PRD需求文档,自动输出完整的测试用例和测试数据。
核心能力:需求文档解析 → 测试场景识别 → 测试用例生成 → 测试数据准备
适用场景:测试团队测试用例编写
核心价值:自动化测试用例生成,提升测试覆盖率
系统架构
┌─────────────────────────────────────────────────────────────┐
│ main.py (入口) │
│ 参数解析 → 读取PRD → 启动编排器 │
└──────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────▼──────────────────────────────────────┐
│ orchestrator.py (编排器) │
│ 串行流水线: Agent1 → Agent2 → Agent3 → Agent4 → 报告生成 │
└──────┬──────────┬──────────┬──────────┬─────────────────────┘
│ │ │ │
┌────▼───┐ ┌───▼────┐ ┌──▼───┐ ┌───▼──────┐
│需求解析 │ │场景识别 │ │用例生成│ │数据准备 │ (agents/)
│.py+.md │ │.py+.md │ │.py+.md│ │.py+.md │
└────┬───┘ └───┬────┘ └──┬───┘ └───┬──────┘
│ │ │ │
┌────▼─────────▼─────────▼─────────▼──────┐
│ LLM Client (双后端路由) │ (clients/)
│ qianfan (云端) ←→ ollama (本地) │
└─────────────────────────────────────────┘
│
┌────────────────────▼────────────────────┐
│ HTML Report Generator │ (utils/)
│ 结构化数据 → f-string模板 → 独立HTML │
└─────────────────────────────────────────┘
4个Agent详解
Agent 1: 需求解析Agent
| 职责 | |
| 输入 | |
| 输出 | |
| 核心逻辑 | |
| 提示词 | prompt/requirement_parser.md |
Agent 2: 测试场景识别Agent
| 职责 | |
| 输入 | |
| 输出 | |
| 核心逻辑 | |
| 提示词 | prompt/scenario_identifier.md |
Agent 3: 测试用例生成Agent
| 职责 | |
| 输入 | |
| 输出 | |
| 核心逻辑 | |
| 提示词 | prompt/testcase_generator.md |
Agent 4: 测试数据准备Agent
| 职责 | |
| 输入 | |
| 输出 | |
| 核心逻辑 | |
| 提示词 | prompt/testdata_generator.md |
协作模式
串行流水线:4个Agent按序执行,下游Agent消费上游Agent的输出
PRD文本
↓
[Agent1: 需求解析] → 结构化需求JSON
↓
[Agent2: 场景识别] → 测试场景列表(含覆盖矩阵)
↓
[Agent3: 用例生成] → 详细测试用例(含步骤/数据/预期)
↓
[Agent4: 数据准备] → 测试数据集(实体/记录/环境)
↓
HTML可视化报告 + JSON数据文件
快速开始
前置条件
pip install requests运行
# 使用默认PRD示例
python main.py
# 指定PRD文件
python main.py /path/to/your/prd.md
# 切换Ollama后端
LLM_PROVIDER=ollama python3 main.py /path/to/prd.md
输出
output/testcase_report_*.html— HTML可视化测试报告 output/testcase_data_*.json— 完整结构化JSON数据
目录结构
testcase-generator-mas/
├── main.py # 主入口
├── orchestrator.py # 编排器(串行流水线)
├── config.py # 全局配置(LLM后端/API密钥/路径)
├── agents/ # 4个Agent实现
│ ├── requirement_parser_agent.py
│ ├── scenario_identifier_agent.py
│ ├── testcase_generator_agent.py
│ └── testdata_generator_agent.py
├── clients/ # 外部服务客户端
│ └── llm_client.py # LLM双后端(千帆+Ollama)
├── prompt/ # 提示词Markdown文件
│ ├── requirement_parser.md
│ ├── scenario_identifier.md
│ ├── testcase_generator.md
│ └── testdata_generator.md
├── utils/ # 工具模块
│ └── html_generator.py # HTML报告生成器
├── output/ # 输出目录
└── data/ # 示例数据目录
LLM后端配置
技术亮点
- 提示词外置
:4个Agent的提示词独立为Markdown文件,便于迭代优化 - 双后端透明切换
:千帆(OAuth2/BCE-V3) / Ollama(OpenAI兼容) 一键切换 - 全链路JSON结构化
:Agent间通过结构化JSON传递数据,保证数据一致性 - 覆盖率矩阵
:自动生成用户故事→功能需求→测试场景的覆盖追踪 - HTML可视化报告
:专业测试报告,含覆盖率矩阵、用例详情、测试数据
通过网盘分享的文件:testcase-generator-mas.zip
链接: https://pan.baidu.com/s/1k1Xjp67fGENUgkFTrVN2sg?pwd=c5uf 提取码: c5uf
--来自百度网盘超级会员v4的分享
夜雨聆风