# test_case_agent **Repository Path**: dillyweiwei/test_case_agent ## Basic Information - **Project Name**: test_case_agent - **Description**: 基于ai大模型的智能测试用例生成系统,支持需求文档和原型图智能分析,批量生成标准化测试用例。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-12-18 - **Last Updated**: 2025-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # test_case_agent ## 介绍 基于ai大模型的智能测试用例生成系统,支持需求文档和原型图智能分析,批量生成标准化测试用例。 📖 [快速上手使用手册](http://localhost:9999) ## ✨ 核心功能 ### 📄 需求文档分析 - **多格式支持**: PDF、Word、TXT、HTML等文档格式 - **智能解析**: 自动提取功能模块、业务逻辑和测试要点 - **深度分析**: 使用ai大模型进行语义理解和功能识别 - **模块分类**: 自动识别登录、管理、查询、统计等功能类型 ### 🖼️ 原型图分析 - **OCR识别**: 建议使用Qwen3-VL-Plus提取图片中的文字信息 - **界面元素识别**: 自动识别按钮、表单、列表等UI组件 - **功能点提取**: 基于界面元素分析业务功能 - **批量处理**: 支持多张图片同时分析 ### 🎯 测试用例生成 - **智能生成**: 基于AI分析结果自动生成测试用例 - **标准化格式**: 统一的测试用例结构和字段 - **多类型支持**: 功能测试、性能测试、安全性测试等 - **优先级分配**: 自动设置测试优先级(P0-P3) ### 🔒 用户数据隔离 - **IP隔离**: 基于用户IP实现数据完全隔离 - **独立存储**: 每个用户拥有独立的数据文件 - **持久化存储**: API密钥、配置信息自动保存 - **安全可靠**: 用户间数据互不影响 ## 🛠️ 技术架构 ### 核心技术栈 - **前端框架**: Streamlit - **AI模型**: openAi大模型系列 - Qwen-Plus: 文档分析和测试用例生成 - Qwen3-VL-Plus: 图片OCR和界面分析 - **文档处理**: PyMuPDF、PyPDF2、python-docx - **图片处理**: PIL、base64编码 - **数据存储**: JSON文件 + 用户隔离 ### 系统特性 - **多终端并发**: 支持多用户同时访问 - **API密钥验证**: 实时验证API密钥有效性 - **错误处理**: 完善的异常处理和重试机制 - **缓存优化**: 智能缓存减少API调用 - **频率控制**: API调用频率限制保护 ## 📦 安装部署 ### 环境要求 - Python 3.8+ (本地部署) - Docker & Docker Compose (容器部署) - Windows/Linux/macOS ### 💻 本地部署 #### 安装步骤 1. **克隆项目** ```bash git clone https://gitee.com/yingzi_shadow/test_case_agent.git cd test_case_agent ``` 2. **安装依赖** ```bash pip install -r requirements.txt ``` 3. **配置API密钥** - 在侧边栏输入AI模型的API密钥 - 点击"🔍 验证API密钥"进行验证 - 系统会自动保存配置 4. **启动应用** ```bash 方法一: python run.py 方法二: streamlit run ./core/test_case_agent.py ``` #### 部署选项 ##### 本地开发 ```bash # 默认端口8501 streamlit run ./core/test_case_agent.py # 自定义端口 streamlit run ./core/test_case_agent.py --server.port 8506 ``` ##### 服务器部署 ```bash # 后台运行 nohup streamlit run ./core/test_case_agent.py --server.port 8506 > app.log 2>&1 & # 使用systemd服务 sudo systemctl start test-case-agent ``` ## 🎮 使用指南 ### 1. 配置设置 - **API密钥**: 在侧边栏配置Ai模型的API密钥 - **负责人**: 选择测试用例负责人 - **字段配置**: 自定义测试用例字段和格式 ### 2. 文档上传 - **需求文档**: 上传PDF、Word等需求文档 - **原型图**: 上传界面截图或原型图 - **批量上传**: 支持ZIP文件批量上传 ### 3. 智能分析 - **自动解析**: 系统自动分析文档内容 - **模块提取**: 识别功能模块和业务逻辑 - **OCR识别**: 提取图片中的文字信息 ### 4. 测试用例生成 - **批量生成**: 一键生成所有测试用例 - **类型选择**: 选择测试类型和优先级 - **实时预览**: 查看生成的测试用例 ### 5. 数据管理 - **导出功能**: 导出Excel格式测试用例 - **数据隔离**: 每个用户数据独立存储 - **配置管理**: 自定义字段和导出格式 ## 📊 功能特性 ### 智能分析能力 - ✅ **文档解析**: 支持多种文档格式 - ✅ **图片识别**: OCR文字提取和界面分析 - ✅ **模块提取**: 自动识别功能模块 - ✅ **语义理解**: 基于AI的深度分析 ### 测试用例生成 - ✅ **标准化**: 统一的测试用例格式 - ✅ **完整性**: 覆盖所有功能点 - ✅ **可读性**: 清晰的测试步骤和预期结果 - ✅ **可维护**: 易于更新和修改 ### 用户体验 - ✅ **界面友好**: 直观的操作界面 - ✅ **实时反馈**: 操作状态实时显示 - ✅ **错误提示**: 详细的错误信息和解决建议 - ✅ **数据安全**: 用户数据完全隔离 ### 系统性能 - ✅ **并发支持**: 多用户同时访问 - ✅ **缓存优化**: 减少API调用成本 - ✅ **错误恢复**: 完善的异常处理 - ✅ **数据持久化**: 配置和数据自动保存 ## 🔧 配置说明 ### API配置 - **API密钥**: 用于AI模型调用 - **API验证**: 实时验证密钥有效性 - **频率控制**: 自动限制API调用频率 ### 字段配置 - **默认字段**: 标题、目录、负责人、前置条件等 - **自定义字段**: 支持添加自定义字段 - **字段类型**: 文本、选择、列表、日期时间等 - **导出配置**: 自定义导出字段和格式 ### 数据存储 - **用户隔离**: 基于IP的数据隔离 - **文件存储**: JSON格式数据文件 - **自动备份**: 数据自动保存和恢复 - **目录结构**: 统一的数据目录管理 ## 🚨 注意事项 ### API使用 - 确保API密钥有效且有足够额度 - 注意API调用频率限制 - 建议定期验证API密钥状态 ### 数据安全 - 用户数据基于IP隔离,确保网络环境稳定 - 定期备份重要数据 - 注意API密钥的保密性 ### 性能优化 - 大文档建议分批处理 - 图片数量较多时注意处理时间 - 定期清理无用数据文件 ### 数据持久化 ```bash # 数据目录结构 ./data/ ├── test_cases_{user_hash}.json # 用户测试用例数据 ├── field_config_{user_hash}.json # 用户字段配置 └── api_config_{user_hash}.json # 用户API配置 # 日志目录 ./logs/ └── {当前日期}.log # 应用运行日志 ``` ## 📈 更新日志 ### v1.0.0 (当前版本) - ✅ 实现基于ai的智能文档分析 - ✅ 支持多格式文档和图片处理 - ✅ 实现用户数据隔离和持久化存储 - ✅ 完善API密钥验证和错误处理 - ✅ 优化界面交互和用户体验 - ✅ 支持一键部署和自动化运维 ## 🤝 技术支持 ### 常见问题 1. **API密钥验证失败**: 检查密钥格式和有效性 2. **文档解析失败**: 确认文档格式和内容完整性 3. **图片识别失败**: 检查图片清晰度和格式 4. **数据加载失败**: 检查文件权限和网络连接 ### 联系方式 - 项目地址: [[Gitee](https://gitee.com/yingzi_shadow/test_case_agent)] - 问题反馈: [[Issues](https://gitee.com/yingzi_shadow/test_case_agent/issues)] ## 下个迭代计划 1. 支持.md格式的文档解析 2. 本地OCR识别效率的优化,减少token使用 3. 根据文档内容生成脑图 4. 优化代码层级逻辑,提高可读性