# testcase_gen **Repository Path**: joyamon/testcase_gen ## Basic Information - **Project Name**: testcase_gen - **Description**: 基于 Django + 规则引擎 + 通义千问(Qwen)的智能测试用例生成平台,支持从需求描述自动生成标准化测试用例,并可导出为 Excel / Markdown 格式。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-29 - **Last Updated**: 2026-04-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 测试用例生成系统 基于 Django + 规则引擎 + 通义千问(Qwen)的智能测试用例生成平台,支持从需求描述自动生成标准化测试用例,并可导出为 Excel / Markdown 格式。 --- ## 功能特性 - **项目管理**:创建/编辑/删除测试项目,统一归类需求与用例 - **需求管理**:录入需求描述,支持优先级与状态标记 - **智能生成用例**: - 🔧 **规则引擎模式**:基于关键词匹配(登录/注册/搜索/上传等 11 类场景)自动生成用例,无需 API Key - 🤖 **LLM 模式**:调用通义千问大模型,深度理解需求语义生成用例 - ⚡ **混合模式**:规则引擎 + LLM 结果合并去重,覆盖率更高 - **用例管理**:支持手动新增/编辑/删除,设置优先级、状态、预期结果 - **导出功能**: - Excel(`.xlsx`):带样式、冻结表头、自动列宽 - Markdown(`.md`):按需求分组,适合文档归档 --- ## 技术栈 | 层次 | 技术 | |------|------| | Web 框架 | Django 6.0.3 | | 数据库 | SQLite(内置,无需额外安装) | | LLM 服务 | 阿里云 DashScope / 通义千问 | | Excel 导出 | openpyxl 3.1.5 | | 前端 UI | Bootstrap 5 + Bootstrap Icons | --- ## 项目结构 ``` testcase_gen/ ├── manage.py ├── requirements.txt ├── README.md ├── create_admin.py # 一键创建管理员脚本 ├── testcase_gen/ # Django 项目配置 │ ├── settings.py │ ├── urls.py │ └── wsgi.py ├── generator/ # 核心应用 │ ├── models.py # 数据模型(Project / Requirement / TestCase) │ ├── views.py # 视图层(CRUD + 生成流水线) │ ├── urls.py # URL 路由(20 条) │ ├── rule_engine.py # 规则引擎(11 类场景 + 边界值) │ ├── llm_service.py # LLM 服务(Qwen 集成 + 容错解析) │ ├── export_utils.py # 导出模块(Excel + Markdown) │ └── admin.py # Django Admin 配置 ├── templates/ # 前端模板 │ ├── base.html # 公共布局(导航栏 + 统计栏) │ └── generator/ │ ├── index.html # 首页仪表盘 │ ├── project_list.html # 项目列表 │ ├── project_form.html # 新建/编辑项目 │ ├── project_detail.html # 项目详情(需求列表) │ ├── requirement_form.html # 新建/编辑需求 │ ├── requirement_detail.html # 需求详情(用例列表 + 生成) │ ├── case_form.html # 新建/编辑用例 │ └── confirm_delete.html # 删除确认 └── static/ # 静态资源(CSS / JS) ``` --- ## 快速开始 ### 1. 克隆 / 获取项目 ```bash # 进入项目目录 cd 测试开发必备技能/软件测试/testcase_gen ``` ### 2. 安装依赖 ```bash pip install -r requirements.txt ``` ### 3. 初始化数据库 ```bash python manage.py migrate ``` ### 4. 创建管理员账号 ```bash python create_admin.py # 默认账号:admin / admin123 ``` 或手动创建: ```bash python manage.py createsuperuser ``` ### 5. 配置 Qwen API Key(可选) 编辑 `testcase_gen/settings.py`,找到并修改: ```python DASHSCOPE_API_KEY = "sk-你的真实Key" ``` 或通过环境变量设置(推荐生产环境使用): ```bash # Windows set DASHSCOPE_API_KEY=sk-xxxxxxxxxxxx # Linux / macOS export DASHSCOPE_API_KEY=sk-xxxxxxxxxxxx ``` > **注意**:不配置 API Key 时,规则引擎模式仍可正常使用,只有 LLM 模式/混合模式会跳过 Qwen 调用。 ### 6. 启动服务 ```bash python manage.py runserver 8001 ``` 访问地址: - 系统首页:http://127.0.0.1:8001/ - Admin 后台:http://127.0.0.1:8001/admin/ --- ## 使用流程 ``` 新建项目 → 录入需求 → 自动生成用例 → 编辑优化 → 导出 Excel/Markdown ``` 1. **新建项目**:首页点击「新建项目」,填写项目名称与描述 2. **录入需求**:进入项目详情,点击「添加需求」,填写需求标题和详细描述 3. **生成用例**:进入需求详情,选择生成模式(规则/LLM/混合),点击「生成测试用例」 4. **编辑优化**:对生成的用例进行手动调整(步骤、预期结果、优先级、状态) 5. **导出**:在需求详情页点击「导出 Excel」或「导出 Markdown」 --- ## 规则引擎覆盖场景 | 场景关键词 | 生成用例类型 | |-----------|-------------| | 登录 / login | 正常登录、密码错误、账号不存在、空输入 | | 注册 / register | 正常注册、重复注册、密码不匹配、格式校验 | | 搜索 / search | 正常搜索、空关键词、特殊字符、无结果 | | 上传 / upload | 正常上传、超大文件、格式限制、并发上传 | | 支付 / pay | 正常支付、余额不足、支付超时、重复支付 | | 权限 / permission | 有权限访问、无权限拦截、越权访问 | | 删除 / delete | 正常删除、删除不存在数据、批量删除 | | 修改 / update | 正常修改、非法字符、超长输入 | | 查询 / query | 单条查询、分页查询、条件组合 | | 导出 / export | 正常导出、空数据导出、大数据量导出 | | 数字/金额字段 | 最大值、最小值、负数、0、边界±1 | --- ## 常见问题 **Q:不配置 API Key 能用吗?** A:可以,规则引擎模式完全离线可用。LLM 和混合模式需要有效的 DashScope API Key。 **Q:如何获取 Qwen API Key?** A:访问 [阿里云百炼平台](https://bailian.console.aliyun.com/) 注册并创建 API Key,新用户有免费额度。 **Q:数据存在哪里?** A:默认使用 SQLite,数据库文件为项目根目录下的 `db.sqlite3`。 **Q:如何切换为 MySQL / PostgreSQL?** A:修改 `testcase_gen/settings.py` 中的 `DATABASES` 配置即可,Django ORM 完全兼容。 --- ## License #### 截图 - 首页 - 项目管理 - 生成测试用例 - 导出Excel