# testcase_generator_platform **Repository Path**: beck_john/testcase_generator_platform ## Basic Information - **Project Name**: testcase_generator_platform - **Description**: 一个基于AI的测试用例生成工具,支持从流程图、思维导图和UI截图生成测试用例。 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-01-22 - **Last Updated**: 2026-04-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智能测试用例生成平台 基于多智能体协作的测试用例自动生成工具,支持多种文档格式(图像、PDF、OpenAPI)智能生成高质量测试用例。 ## 核心特性 - **三阶段AI协作**:需求分析 → 测试用例生成 → 质量评审 - **多格式支持**:图像(PNG/JPG)、PDF、OpenAPI/Swagger、文本文件 - **智能技能系统**:6种测试技能(功能/API/安全/性能/UI/兼容性测试) - **文件类型智能处理**:PDF提取文档结构、OpenAPI解析API端点、图像识别UI元素 - **性能优化**:智能缓存、性能监控、响应时间追踪 - **安全防护**:速率限制、API认证、文件安全验证 ## 项目结构 ``` testcase_generator_platform/ ├── backend/ │ ├── agents/ # AI智能体(需求分析、用例生成、评审) │ ├── services/ # 业务服务(AI协调、PDF处理、Excel导出) │ ├── skills/ # 测试技能系统(6种内置技能) │ ├── utils/ # 工具函数(缓存、认证、安全) │ ├── middleware/ # 中间件(性能监控、速率限制) │ └── tests/ # 测试套件(110+测试用例) └── frontend/ └── src/ ├── components/ # React组件(三阶段输出、思维导图) └── App.jsx # 主应用 ``` ## 技术栈 **后端**: FastAPI + AutoGen + Qwen-VL/DeepSeek + PyPDF2 + OpenPyXL **前端**: React 18 + Material-UI + markmap **基础设施**: pytest | JWT认证 | 令牌桶限流 | 智能缓存 ## 快速开始 ### 环境要求 - Python 3.11+ - Node.js 16+ ### 后端启动 ```bash cd backend python -m venv venv && source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt cp .env.example .env # 配置API密钥 python main.py ``` 访问 http://localhost:8000/docs 查看API文档 ### 前端启动 ```bash cd frontend npm install npm start ``` 访问 http://localhost:3000 使用应用 ### API密钥配置 **方式1:统一配置(推荐)** ```env OPEN_API_KEY=your_api_key_here OPEN_API_BASE_URL=https://one-api.miotech.com/v1 ``` **方式2:单独配置** ```env QWEN_API_KEY=your_qwen_key # 图像分析 DEEPSEEK_API_KEY=your_deepseek_key # 文本处理 ``` ## 使用指南 ### 1. 上传文件 支持PNG/JPG/PDF/JSON/YAML/TXT/MD,限制10MB ### 2. 选择测试技能 - **functional** (默认):功能测试,支持所有文件类型 - **api**:API测试,OpenAPI专用 - **security**:安全测试 - **performance**:性能测试 - **ui**:UI测试,图像专用 - **compatibility**:兼容性测试 ### 3. 三阶段生成流程 1. **需求分析**:分析文件内容,提取测试重点 2. **用例生成**:生成正向/负向/边界测试用例 3. **质量评审**:评审覆盖度,输出改进后用例 ### 4. 导出结果 - Excel文件下载 - 思维导图可视化 - XMind格式导出 ## 主要配置 ### 技能系统 系统根据文件类型自动选择最优策略: - **PDF**:提取文档结构、页数、元数据 - **OpenAPI**:解析API端点、参数、响应结构 - **图像**:识别UI元素、交互流程 - **文本**:通用需求分析 ```bash # API使用示例 curl -X POST http://localhost:8000/api/test-cases/generate \ -F "file=@test.pdf" \ -F "context=测试上下文" \ -F "requirements=测试需求" \ -F "skill_id=functional" ``` ### 性能监控 ```bash # 查看性能统计 curl http://localhost:8000/api/test-cases/performance/stats # 查看缓存统计 curl http://localhost:8000/api/test-cases/performance/cache ``` ### 可选配置 ```env # 速率限制 RATE_LIMIT_ENABLED=true RATE_LIMIT_RPM=30 # API认证(可选) VALID_API_KEYS=key1:User1,key2:User2 JWT_SECRET_KEY=your_secret_key # CORS ALLOWED_ORIGINS=http://localhost:3000,https://example.com # 日志 LOG_LEVEL=INFO LOG_DIR=logs ``` ## 架构设计 ``` 用户上传文件 ↓ 需求分析智能体 → 提取结构化需求 ↓ 测试用例生成智能体 → 生成全面测试用例 ↓ 测试用例评审智能体 → 质量评审和改进 ↓ 最终测试用例输出 ``` **设计优势**: - 模块化智能体,职责清晰 - 文件类型特定处理,专业性强 - 流式输出,实时反馈 - 质量保证,自动改进 ## 测试用例格式 ```markdown ## TC-001: 测试标题 **优先级:** 高/中/低 **描述:** 测试用例详细描述 **前置条件:** 执行前的条件 ### 测试步骤 | # | 步骤描述 | 预期结果 | |---|---------|---------| | 1 | 操作步骤 | 期望结果 | ``` ## 安全与故障排除 ### 安全建议 - `.env`文件包含敏感信息,勿提交到版本控制 - 生产环境使用安全的密钥管理 - 定期轮换API密钥 - 配置正确的CORS ### 常见问题 **后端启动失败**:检查Python版本、依赖安装、端口占用 **前端启动失败**:检查Node版本、重新安装依赖 **文件上传失败**:确认文件格式支持、检查文件大小≤10MB **日志查看**: - 后端:终端uvicorn输出 - 前端:浏览器开发者工具Console ## 更新日志 ### v3.2 (2026-03-26) - **重要修复**:恢复文件类型特定处理逻辑 - Functional技能v2.0:PDF/OpenAPI/图像/文本专用提示词 - 增强文件处理专业性 ### v3.1 (2026-03-26) - 集成性能优化系统(缓存、监控) - 测试覆盖率65%+ - 优化文件处理性能 ### v3.0 (2026-03-16) - 新增测试用例评审智能体 - 实现三阶段AI协作架构 - 支持XMind格式导出 [查看完整更新日志](CHANGELOG.md) ## 贡献 欢迎提交Issue和Pull Request! 1. Fork项目 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 提交Pull Request ## 许可证 本项目采用MIT许可证 - 详见 [LICENSE](LICENSE) 文件 ## 致谢 - [AutoGen](https://github.com/microsoft/autogen) - AI智能体框架 - [FastAPI](https://fastapi.tiangolo.com/) - 现代Web框架 - [Material-UI](https://mui.com/) - React UI组件库 - [markmap](https://markmap.js.org/) - 思维导图库