# skills_web_test **Repository Path**: cuihaiqi/skills_web_test ## Basic Information - **Project Name**: skills_web_test - **Description**: 随便写写,随便写写,随便写写 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-03-04 - **Last Updated**: 2026-03-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI智能测试用例生成平台 [![Python](https://img.shields.io/badge/Python-3.9%2B-blue?logo=python)](https://www.python.org/) [![Vue](https://img.shields.io/badge/Vue-3.x-green?logo=vue.js)](https://vuejs.org/) [![FastAPI](https://img.shields.io/badge/FastAPI-0.104.1-black?logo=fastapi)](https://fastapi.tiangolo.com/) [![Docker](https://img.shields.io/badge/Docker-Ready-blue?logo=docker)](https://www.docker.com/) [![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) 基于AI技能(Skill)架构的智能测试用例自动化生成平台,支持多格式需求文档解析,通过大语言模型(LLM)自动生成高质量测试用例。 ## 🌟 核心特性 ### 📋 项目与需求管理 - **多项目隔离** - 独立工作空间,项目间数据完全隔离 - **多格式支持** - 支持 `.md`、`.txt`、`.docx` 等多种需求文档格式 - **需求结构化** - 自动解析PRD、User Story、API定义等文档内容 ### 🤖 AI智能生成 - **大语言模型集成** - 支持OpenAI、Azure OpenAI等主流LLM服务 - **三阶段技能架构** - 需求分析 → 测试点设计 → 测试用例编写 - **多轮对话优化** - 支持人工反馈和用例优化迭代 - **实时进度推送** - WebSocket实时显示生成进度和结果 ### 🧪 测试全生命周期 - **用例评审** - 完整的用例状态管理(待评审/已批准/已拒绝) - **测试执行** - 创建测试计划,关联需求用例,记录执行结果 - **报告导出** - Excel格式测试用例和执行报告导出 - **多角色权限** - 管理员、项目经理、测试工程师、只读用户等角色 ### ⚡ 技术优势 - **高性能异步** - FastAPI + Celery 异步任务处理 - **实时通信** - WebSocket 实时进度推送 - **企业级安全** - JWT认证 + 多角色权限控制 - **一键部署** - Docker Compose 一键部署生产环境 ## 🏗️ 系统架构 ### 整体架构图 ``` ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ Vue3前端 │ │ FastAPI后端 │ │ AI技能引擎 │ │ LLM服务 │ │ Element Plus │◄──►│ SQLAlchemy │◄──►│ 工作流协调 │◄──►│ OpenAI/Azure │ └─────────────────┘ └─────────────────┘ └─────────────────┘ └─────────────────┘ ▲ ▲ │ │ ┌──────┴──┐ ┌───┴──────┐ │ MySQL │ │ Redis │ │ 数据库 │ │ 消息队列 │ └─────────┘ └──────────┘ ``` ### 技术栈详情 | 组件 | 技术栈 | 说明 | |------|--------|------| | **前端** | Vue 3 + Composition API | 响应式框架 | | | Element Plus | UI组件库 | | | Pinia | 状态管理 | | | Vite | 构建工具 | | **后端** | FastAPI | 高性能异步Web框架 | | | SQLAlchemy | ORM数据库映射 | | | Celery | 分布式任务队列 | | | Pydantic | 数据验证和设置 | | **AI引擎** | Skill架构 | 模块化技能设计 | | | LLM集成 | 多供应商支持 | | **基础设施** | MySQL 8.0 | 生产环境数据库 | | | Redis 7 | 缓存和消息队列 | | | Docker | 容器化部署 | ### AI技能架构 平台采用模块化技能设计,包含三个核心技能: 1. **需求分析技能** (`requirement_analysis.py`) - 解析输入文档,提取功能需求和非功能需求 - 输出结构化的需求列表 2. **测试点设计技能** (`test_point_design.py`) - 基于需求分析结果,设计详细的测试点 - 覆盖正向、反向、边界等测试场景 3. **测试用例编写技能** (`test_case_writing.py`) - 将测试点转化为具体的测试用例 - 包含前置条件、测试步骤、预期结果 **工作流引擎**: `skills/main.py` 负责协调三个技能的执行顺序,确保数据在技能间正确传递。 ## 🚀 快速开始 ### 环境要求 - **操作系统**: Linux / macOS / Windows (WSL2) - **Docker**: 20.10+ (推荐) 或 - **Python**: 3.9+ - **Node.js**: 18+ - **内存**: 4GB+ (推荐8GB+) ### Docker部署(推荐) #### 1. 配置Docker镜像加速器(可选但推荐) 为了加快镜像下载速度,建议配置Docker镜像加速器: - **Docker Desktop (Mac/Windows)**: Settings → Docker Engine → 添加以下配置: ```json { "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://registry.docker-cn.com", "https://mirror.ccs.tencentyun.com" ] } ``` - **Linux**: 编辑 `/etc/docker/daemon.json`: ```json { "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] } ``` 然后重启Docker: `sudo systemctl restart docker` #### 2. 克隆项目 ```bash git clone https://gitee.com/your-username/skills_web.git cd skills_web ``` #### 3. 配置环境变量 复制环境配置模板: ```bash cp .env.example .env ``` 编辑 `.env` 文件,配置必要的环境变量: ```env # 数据库配置 DATABASE_URL=mysql://skills_user:skills_password@mysql:3306/skills_web_db # Redis配置 REDIS_URL=redis://redis:6379/0 # 安全配置 SECRET_KEY=your-very-secret-key-here-change-in-production ACCESS_TOKEN_EXPIRE_MINUTES=1440 # LLM配置 LLM_PROVIDER=openai LLM_MODEL=gpt-3.5-turbo LLM_API_KEY=your-openai-api-key # 服务器配置 HOST=0.0.0.0 PORT=8000 DEBUG=false # CORS配置 CORS_ORIGINS=["http://localhost","http://your-domain.com"] ``` #### 3. 启动服务 ```bash # 构建并启动所有服务 docker compose up -d # 查看服务状态 docker compose ps ``` #### 4. 访问应用 - **前端界面**: http://localhost:3000 - **API文档**: http://localhost:8000/docs - **健康检查**: http://localhost:8000/health ### 本地开发部署 #### 1. 后端服务 ```bash cd backend # 安装依赖 pip install -r requirements.txt # 启动服务 python -m app.main ``` #### 2. 前端服务 ```bash cd frontend # 安装依赖 npm install # 启动开发服务器 npm run dev ``` #### 3. 访问地址 - **前端界面**: http://localhost:5173 - **API文档**: http://localhost:8000/docs ## 🔐 默认账号 首次启动时会自动创建管理员账号: - **用户名**: `admin` - **密码**: `admin123` > **安全提示**: 生产环境请立即修改默认密码! ## 📖 使用流程 1. **创建项目** - 点击"新建项目"创建测试项目 2. **上传需求** - 在项目中上传需求文档(支持.md, .txt, .docx) 3. **生成用例** - 点击"生成用例"按钮启动AI生成 4. **查看进度** - 实时查看生成进度(WebSocket推送) 5. **查看用例** - 生成完成后查看测试用例列表 6. **评审用例** - 设置用例状态(待评审/已批准/已拒绝) 7. **创建测试计划** - 关联需求和用例,制定测试执行计划 8. **执行测试** - 执行测试用例并记录结果 9. **导出报告** - 导出Excel格式的测试用例或执行报告 ## 📁 项目结构 ``` skills_web/ ├── backend/ # FastAPI后端 │ ├── app/ │ │ ├── api/ # API路由定义 │ │ ├── core/ # 核心配置(config.py, database.py, celery_app.py) │ │ ├── models/ # SQLAlchemy数据模型 │ │ ├── schemas/ # Pydantic数据验证模型 │ │ ├── skills/ # AI技能模块(核心业务逻辑) │ │ ├── tasks/ # Celery异步任务 │ │ └── main.py # 应用入口 │ ├── locales/ # 国际化文件 │ ├── uploads/ # 上传文件目录 │ └── requirements.txt # Python依赖 ├── frontend/ # Vue3前端 │ ├── src/ │ │ ├── api/ # API封装(axios实例) │ │ ├── components/ # 可复用组件 │ │ ├── router/ # 路由配置 │ │ ├── stores/ # Pinia状态管理 │ │ ├── views/ # 页面视图组件 │ │ └── main.js # 应用入口 │ └── package.json # Node.js依赖 ├── docker-compose.yml # Docker Compose配置 ├── .env.example # 环境变量模板 ├── start_dev.sh # 开发环境一键启动脚本 └── README.md # 项目文档 ``` ## ⚙️ 配置说明 ### 环境变量优先级 1. **环境变量**(最高优先级) 2. **.env 文件**(项目根目录) 3. **默认值**(代码中定义) ### 核心配置项 | 配置项 | 默认值 | 说明 | |--------|--------|------| | `DATABASE_URL` | SQLite路径 | 数据库连接URL | | `REDIS_URL` | 内存存储 | Redis连接URL | | `SECRET_KEY` | 自动生成 | JWT密钥(生产环境必须修改) | | `LLM_PROVIDER` | openai | LLM服务提供商 | | `LLM_MODEL` | gpt-3.5-turbo | LLM模型名称 | | `LLM_API_KEY` | null | LLM API密钥 | | `CORS_ORIGINS` | localhost | 允许的跨域源 | ## 🛠️ 开发指南 ### 技能开发规范 - 每个技能必须继承自基类,实现标准接口 - 技能间通过标准化的数据格式传递信息 - 错误处理必须包含详细的上下文信息 ### 数据库迁移 - 开发环境使用SQLite,自动创建表结构 - 生产环境使用MySQL,需要手动执行数据库迁移 - 模型变更后需要更新数据库schema ### 异步任务调试 - 开发环境默认同步执行Celery任务 - 如需测试真实的异步行为,设置 `task_always_eager=False` - 任务日志输出到控制台,便于调试 ## 🚨 安全注意事项 - **生产环境必须修改默认的SECRET_KEY** - **LLM_API_KEY不应提交到版本控制系统** - **生产环境应启用HTTPS和适当的CORS策略** - **定期更新依赖包以修复安全漏洞** ## 📜 许可证 本项目采用 [MIT License](LICENSE) 开源协议。 ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request!贡献前请阅读 [CONTRIBUTING.md](CONTRIBUTING.md)。 ### 贡献流程 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 创建 Pull Request ## 📞 联系我们 如有问题或建议,请通过以下方式联系我们: - **Issues**: [提交Issue](https://gitee.com/cuihaiqi/skills_web/issues) - **Email**: 870801585@qq.com --- ⭐ **如果这个项目对你有帮助,请给个Star支持!**