# test-cace-generator **Repository Path**: qiugc/test-cace-generator ## Basic Information - **Project Name**: test-cace-generator - **Description**: 基于Node.js开发的智能测试用例生成和管理工具,能够根据需求文档自动生成专业的测试用例文档,并提供完整的测试用例管理系统。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-07-18 - **Last Updated**: 2025-08-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 测试用例生成器 基于Node.js开发的智能测试用例生成和管理工具,能够根据需求文档自动生成专业的测试用例文档,并提供完整的测试用例管理系统。 ## 🚀 功能特性 ### AI测试用例生成器 - **智能文档解析**: 支持TXT、Markdown、Word(.docx)、PDF等多种格式的需求文档 - **全面测试覆盖**: 自动生成功能测试、性能测试、安全测试、边界测试等多种类型的测试用例 - **多格式输出**: 支持HTML、CSV、JSON三种格式的测试报告 - **用户友好界面**: 提供直观的Web界面,支持拖拽上传和实时配置 - **智能需求识别**: 自动识别功能需求、用户故事、验收标准等关键信息 - **可定制配置**: 支持测试类型、优先级、扩展测试等多种配置选项 ### 测试用例管理系统 🆕 - **数据库存储**: 使用SQLite数据库持久化存储测试用例 - **项目管理**: 创建和管理多个测试项目 - **测试用例CRUD**: 完整的增删改查功能 - **执行跟踪**: 记录测试用例执行状态和结果 - **日期标识**: 根据执行日期跟踪测试通过情况 - **测试报表**: 生成详细的测试统计和执行报告 - **批量导入**: 支持从AI生成器批量导入测试用例 - **状态管理**: 跟踪测试用例的生命周期状态 ## 📋 系统要求 - Node.js 14.0 或更高版本 - npm 6.0 或更高版本 ## 🛠️ 安装和运行 ### 1. 克隆项目 ```bash git clone cd test-case-generator ``` ### 2. 安装依赖 ```bash npm install ``` ### 3. 启动服务 ```bash npm start ``` ### 4. 访问应用 打开浏览器访问: http://localhost:3000 ## 📖 使用说明 ### 系统访问地址 - **AI生成器**: http://localhost:3000 - **管理系统**: http://localhost:3000/manage.html ### AI生成器使用流程 1. **上传需求文档** - 支持的格式:.txt, .md, .docx, .pdf - 文件大小限制:10MB - 支持拖拽上传 2. **配置生成选项** - 项目名称:设置项目标识 - 版本号:指定项目版本 - 测试人员:记录测试负责人 - 测试类型:功能测试/集成测试/系统测试 - 优先级:高/中/低 - 扩展测试:负面测试、性能测试、安全测试 3. **生成测试用例** - 点击"生成测试用例"按钮 - 系统自动解析文档并生成测试用例 - 下载生成的测试报告 - 可选择保存到数据库 ### 管理系统使用流程 🆕 1. **项目管理** - 创建新项目:设置项目名称、描述、负责人 - 查看项目列表:显示所有项目及统计信息 - 项目详情:查看项目下的测试用例分布 2. **测试用例管理** - **新增**:手动创建测试用例或从AI生成器导入 - **查看**:按项目、状态、优先级等条件筛选查看 - **编辑**:修改测试用例的详细信息 - **删除**:删除不需要的测试用例 3. **测试执行跟踪** - **执行测试**:标记测试用例为"执行中"状态 - **记录结果**:记录测试通过/失败状态 - **添加备注**:记录测试过程中的问题和发现 - **查看历史**:查看测试用例的执行历史记录 4. **测试报表生成** - **统计概览**:查看测试用例总数、通过率等关键指标 - **执行报告**:生成详细的测试执行报告 - **趋势分析**:分析测试执行的时间趋势 ### 需求文档格式建议 为了获得最佳的解析效果,建议需求文档包含以下结构: ``` 项目名称: XXX系统需求文档 项目描述: 系统的基本介绍和目标 功能需求: 1. 用户登录功能 2. 数据查询功能 3. 报表生成功能 用户故事: - 作为管理员,我希望能够管理用户账户,以便控制系统访问权限 - 作为普通用户,我希望能够查看个人信息,以便了解账户状态 验收标准: - 系统响应时间不超过2秒 - 支持100个并发用户 - 数据准确率达到99.9% 非功能需求: - 性能要求:响应时间 < 2秒 - 安全要求:数据传输加密 - 可用性要求:7x24小时运行 ``` ## 📊 生成的测试用例类型 ### 功能测试用例 - 基于功能需求生成的正向测试用例 - 输入验证测试用例 - 业务流程测试用例 ### 用户故事测试用例 - 基于用户故事的端到端测试 - 角色权限验证测试 ### 验收测试用例 - 基于验收标准的验证测试 - 质量指标验证测试 ### 边界测试用例 - 最小值/最大值边界测试 - 空值处理测试 - 超长输入测试 ### 负面测试用例(可选) - 无效输入测试 - 权限不足测试 - 网络异常测试 - 并发冲突测试 ### 性能测试用例(可选) - 响应时间测试 - 并发用户测试 - 负载测试 - 压力测试 ### 安全测试用例(可选) - SQL注入测试 - XSS攻击测试 - 身份验证测试 - 授权测试 - 数据加密测试 ## 📄 输出格式 ### HTML报告 - 美观的可视化报告 - 包含统计信息和图表 - 支持筛选和搜索功能 - 适合演示和查看 ### CSV报告 - 表格格式,便于导入Excel - 包含所有测试用例详细信息 - 适合进一步编辑和处理 ### JSON报告 - 结构化数据格式 - 包含完整的元数据和统计信息 - 适合程序化处理和集成 ## 🔧 API接口 ### AI生成器接口 #### POST /generate-test-cases 生成测试用例 **请求参数:** - `document`: 需求文档文件(multipart/form-data) - `projectName`: 项目名称(可选) - `version`: 版本号(可选) - `author`: 测试人员(可选) - `testType`: 测试类型(functional/integration/system) - `priority`: 优先级(high/medium/low) - `includeNegativeTests`: 是否包含负面测试(true/false) - `includePerformanceTests`: 是否包含性能测试(true/false) - `includeSecurityTests`: 是否包含安全测试(true/false) - `saveToDatabase`: 是否保存到数据库(true/false)🆕 **响应格式:** ```json { "success": true, "message": "测试用例生成成功", "testCasesCount": 25, "reportPath": "/path/to/report.html", "downloadUrl": "/download/report.html", "projectId": 1 // 如果保存到数据库 } ``` #### GET /download/:filename 下载生成的报告文件 #### GET /api/template 获取测试用例模板格式 ### 管理系统接口 🆕 #### 项目管理 - `POST /api/projects` - 创建项目 - `GET /api/projects` - 获取项目列表 - `GET /api/projects/:id` - 获取项目详情 #### 测试用例管理 - `POST /api/test-cases` - 创建测试用例 - `GET /api/test-cases` - 获取测试用例列表(支持项目筛选) - `GET /api/test-cases/:id` - 获取测试用例详情 - `PUT /api/test-cases/:id` - 更新测试用例 - `DELETE /api/test-cases/:id` - 删除测试用例 #### 测试执行 - `POST /api/test-cases/:id/execute` - 执行测试用例 - `GET /api/test-cases/:id/executions` - 获取执行记录 #### 批量操作 - `POST /api/test-cases/import` - 批量导入测试用例 #### 报表生成 - `GET /api/reports/test-summary` - 获取测试统计报告 ## 🏗️ 项目结构 ``` test-case-generator/ ├── index.js # 主程序入口 ├── package.json # 项目配置和依赖 ├── src/ # 源代码目录 │ ├── documentParser.js # 文档解析器 │ ├── testCaseGenerator.js # 测试用例生成器 │ ├── reportGenerator.js # 报告生成器 │ ├── database.js # 数据库管理器 🆕 │ └── testCaseController.js # 测试用例控制器 🆕 ├── public/ # 静态文件目录 │ ├── index.html # AI生成器前端界面 │ └── manage.html # 管理系统前端界面 🆕 ├── uploads/ # 上传文件临时目录 ├── output/ # 生成的报告输出目录 ├── database.db # SQLite数据库文件 🆕 ├── example/ # 示例文档目录 │ └── requirements-example.md # 示例需求文档 ├── USAGE.md # 详细使用指南 🆕 └── README.md # 项目说明文档 ``` ## 🧪 开发和测试 ### 开发模式 ```bash npm run dev ``` ### 运行测试 ```bash npm test ``` ## 📝 更新日志 ### v1.0.0 - 初始版本发布 - 支持多格式文档解析 - 实现智能测试用例生成 - 提供Web界面和API接口 - 支持多种输出格式 ## 🤝 贡献指南 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) 文件了解详情 ## 🆘 支持和反馈 如果您在使用过程中遇到问题或有改进建议,请: 1. 查看本文档的常见问题部分 2. 在 GitHub Issues 中提交问题 3. 发送邮件至项目维护者 ## 🔮 未来计划 - [ ] 支持更多文档格式(如Excel、PowerPoint) - [ ] 增加AI智能优化测试用例 - [ ] 集成测试管理工具 - [ ] 支持自定义测试用例模板 - [ ] 增加多语言支持 - [ ] 提供Docker部署方案