# AI-generate-testcase **Repository Path**: evening-li/ai-generate-testcase ## Basic Information - **Project Name**: AI-generate-testcase - **Description**: No description available - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 3 - **Created**: 2026-04-03 - **Last Updated**: 2026-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI Generate Testcase 测试用例自动化生成项目,通过 AI 辅助将需求文档(XMind / HTML 原型等)转化为系统化、可执行的测试用例(Excel)。 ## 功能特性 - **需求深度分析**:解析 XMind 思维导图 + HTML 原型源码,识别业务规则和边界条件 - **功能点分解**:以页面/二级页为单位,两层拆分(模块类型 → 具体功能点) - **测试点生成**:覆盖正向/反向/边界/异常场景,输出详细版 + 精简版 Markdown - **测试用例生成**:基于详细版测试点逐条转化,输出标准 Excel 测试用例 - **反馈闭环**:支持用户提供自编用例、指出执行偏差、澄清需求细节,持续优化用例质量 ## 项目结构 ``` testcase_v0.1/ ├── CLAUDE.md # 项目协作指南 ├── README.md # 项目说明(本文件) ├── cc.bat # 快捷命令脚本 ├── .claude/ # Claude 配置目录 │ ├── settings.json # Claude 配置 │ └── skills/ # 技能目录 │ ├── xmind-reader/ # XMind 读取技能(Python 脚本) │ │ ├── skill.md │ │ └── xmind-reader.py │ ├── excel-reader/ # Excel 读取技能(COM 方式) │ │ ├── skill.md │ │ └── excel-reader.py │ ├── test-case-design/ # 测试用例设计技能(核心编排) │ │ ├── SKILL.md # 七步执行流程 + 核心方法论 │ │ ├── examples/ # 示例目录 │ │ │ ├── testcases/ # 模板用例(Excel 参考格式) │ │ │ └── testpoints/ # 测试点输出示例(XMind 格式) │ │ └── references/ # 参考资料 │ │ ├── 功能测试功能点、测试点、测试用例.md │ │ └── 测试分析设计方法.md │ ├── test-markdown-generator/ # 测试点生成指南(无脚本) │ │ └── skill.md │ ├── test-excel-generator/ # 测试用例生成指南(无脚本) │ │ └── skill.md │ └── test-case-export/ # 测试用例导出脚本 │ └── test-case-export.py ├── test_input/ # 原始需求输入目录 │ └── {版本}/{需求}/prd/ # 存放 XMind / HTML 原型等需求文件 └── test_output/ # 输出结果目录 └── {版本需求名称}/ ├── testpoint/ # 测试点输出(Markdown) │ ├── {版本} 测试点_详细版.md │ ├── {版本} 测试点_精简版.md │ └── user/ # 用户反馈目录(可选) └── testcase/ # 测试用例输出(Excel) ├── {版本} 功能测试用例.xlsx └── user/ # 用户反馈目录(可选) ``` ## 快速开始 ### 1. 准备需求文档 将需求文件放入: ``` test_input/{版本号}/{需求名称}/prd/ ``` 支持的文件类型: - `.xmind` — XMind 思维导图(核心输入) - HTML 原型源码目录(Next.js 格式) - 其他:JSON 配置、API 文档、Word 文档等 ### 2. 执行测试用例设计 对 AI 说 **"设计用例"** 并提供需求文档路径,AI 将按以下七步流程执行: | 步骤 | 说明 | 输出 | |------|------|------| | 第一步 | 需求深度分析与澄清 | 需求分析结果 + 3~5 个澄清问题 | | 第二步 | 功能点分解(两层拆分) | 功能点清单(模块 → 页面 → 功能点) | | 第三步 | 测试点分析 | 详细版 + 精简版测试点(Markdown) | | 第四步 | 测试用例模板确认 | 策略已固化,直接应用 | | 第五步 | 测试用例转化策略 | 策略已固化,直接应用 | | 第六步 | 测试用例输出 | 功能测试用例(Excel)+ 自检清单 | | 第七步 | 反馈闭环与调整 | 差异分析 + 调整策略(可选) | > **流程强制性**:每一步的输出是下一步的输入,不允许跳过或并行执行。 > 第一步完成后需等待用户回答澄清问题,再进入第二步。 ### 3. 查看输出结果 - 测试点(详细版):`test_output/{版本需求名称}/testpoint/{版本} 测试点_详细版.md` - 测试点(精简版):`test_output/{版本需求名称}/testpoint/{版本} 测试点_精简版.md` - 测试用例:`test_output/{版本需求名称}/testcase/{版本} 功能测试用例.xlsx` ## 核心技能 ### test-case-design(核心编排技能) 当用户提到"设计用例"、"写测试用例"、"帮我出用例"、"测试点分析"时自动触发。 **触发方式**: - 直接说"设计用例"并提供需求文档路径 - 使用 `/test-case-design` 命令 **核心职责**: - 编排七步执行流程,控制步骤间关卡(Gate) - 调用 xmind-reader 读取需求文档 - 调用 test-markdown-generator 生成测试点 - 调用 test-excel-generator 生成测试用例 - 调用 excel-reader 读取用户反馈用例 - 调用 test-case-export 输出 Excel 文件 ### xmind-reader 读取并解析 XMind 思维导图文件。 ```bash python .claude/skills/xmind-reader/xmind-reader.py <文件路径> [-f json|tree|summary] [-d 深度] ``` **输出格式**: - `summary`:摘要模式(快速预览) - `tree`:树形结构(完整层级,默认深度 5) - `json`:完整 JSON 内容 ### excel-reader 读取 Excel 文件(支持加密/特殊格式/网页导出格式)。 ```bash python .claude/skills/excel-reader/excel-reader.py <文件路径> [-n 行数] [-s 工作表] [-p 密码] [--json] ``` **特点**: - 使用 Windows Excel COM 对象,让 Excel 自己处理格式 - 支持非标准 xlsx、WPS 特殊格式、加密文件 - 需要 Windows 系统 + Microsoft Excel 已安装 ### test-markdown-generator 指南型技能,指导 AI 生成 Markdown 格式测试点(无执行脚本)。 - 基于功能点清单逐点分析 - 覆盖正向/反向/边界/异常场景 - 输出详细版 + 精简版两个 Markdown 文件 ### test-excel-generator 指南型技能,指导 AI 将测试点转化为 Excel 测试用例(无执行脚本)。 - 基于详细版测试点逐条转化 - 应用固化的模板和转化策略 - 输出标准 Excel 格式(.xlsx) ### test-case-export 执行脚本,将 AI 设计的测试用例输出为 Excel 文件(仅执行输出,不参与设计)。 ## 测试设计方法论 ### 功能点定义标准(两层拆分) **第一层:识别模块类型** | 类型 | 说明 | 示例 | |------|------|------| | 数据展示类 | 列表页、详情页、数据看板 | 岗位列表、统计看板 | | 数据操作类 | 表单页、批量操作、导入导出 | 新增岗位、批量删除 | | 流程类 | 向导/多步骤流程、审批/工作流 | 审批流程 | | 系统功能类 | 用户账户、权限/角色管理 | 角色管理 | | 特殊功能类 | 文件管理、消息/通知 | 文件上传 | **第二层:识别具体功能点** - 列表页:数据展示、分页、查询/筛选、排序、行操作、批量操作、导入导出 - 表单页:输入框校验、下拉选择、日期时间选择、文件上传、提交保存 - 数据看板:指标卡片、图表展示、筛选联动、数据下钻 ### 测试点覆盖维度 | 维度 | 说明 | |------|------| | 正向流程 | 基础操作、核心链路 | | 输入域验证 | 边界值、等价类、格式校验、空值处理 | | 业务规则 | 状态流转、权限控制、数据计算 | | 异常场景 | 网络超时、数据缺失、操作失败 | ### 强制覆盖检查项 - [ ] 空状态覆盖(列表、看板、筛选结果、弹窗搜索) - [ ] 数据联动刷新(增删改后相关区域同步更新) - [ ] 边界操作(批量操作多选、混合状态) - [ ] 文件上传数量限制(单张/多张、达到上限后继续上传) - [ ] 安全测试(XSS/SQL 注入、空格处理,优先级 3 级) ## 用例规范 ### 用例名称 - ≤20 字,"操作 + 对象"或"验证 + 约束"格式 - 禁止:数字前缀、【】符号、预期结果 - ✅ `正确密码登录`、`错误密码登录提示`、`空用户名登录校验` - ❌ `1、【登录】输入正确密码,登录成功` ### 前置条件/步骤/预期 - 使用实际换行,编号 1. 2. 3. - 步骤与预期严格一一对应 - 每用例步骤 ≤5 条 - 登录/进入模块操作放在前置条件,不写入步骤 ### 优先级 | 等级 | 说明 | |------|------| | 1 | 核心正向/冒烟测试 | | 2 | 重要功能/异常流程 | | 3 | 边界/安全/辅助功能 | | 4 | 增强探索 | ### 用例转化策略 | 策略 | 规则 | |------|------| | 合并与拆分 | 正向连续操作合并;反向校验、边界值独立拆分 | | 表单等价类精简 | 按风险分级(🔴高/🟡中/🟢低),高字段独立,低字段组合覆盖 | | 多状态合并 | 同一操作的不同可操作状态合并为一个用例 | | 用例独立性 | 用例之间无显式依赖,通过前置条件独立准备数据 | ## Excel 输出格式 | 列名 | 说明 | |------|------| | 用例 ID | TC-0001 开始编号 | | 所属模块 | /平台/模块 路径 | | 用例名称 | 精简,≤20 字,无预期,无前缀 | | 前置条件 | 1.2.3. 编号,换行分隔 | | 步骤 | 1.2.3. 编号,换行分隔 | | 预期 | 与步骤一一对应,换行分隔 | | 优先级 | 1/2/3/4 | | 用例类型 | 功能测试/异常测试 | | 适用阶段 | 功能测试阶段 | ## 反馈闭环(第七步) 当用户提供反馈时,AI 执行第七步:补全 → 对比 → 调整。 ### 反馈方式 | 方式 | 说明 | |------|------| | 文件反馈 | 将自编测试点/用例放入对应 `user/` 目录 | | 对话反馈 | 在对话中直接指出遗漏、错误或执行偏差 | | 需求澄清 | 澄清需求细节(如业务规则确认、实现范围等) | ### 反馈类型 | 类型 | 场景 | 处理方式 | |------|------|----------| | A | 用户提供自编用例 | 风格对比 → 调整输出策略 | | B | 用户指出执行偏差 | 过程纠偏 → 回溯修正 → 重新生成 | | C | 用户澄清需求细节 | 影响评估 → 修正测试点/用例 → 重新导出 | ### 用户反馈目录结构 ``` test_output/{版本需求名称}/ ├── testpoint/user/ │ └── {版本} 测试点 - 用户版.md └── testcase/user/ └── {版本} 功能测试用例 - 用户版.xlsx ``` ## 关键防错规则 1. **禁止读取 `test_output/` 代替需求分析**:`test_output/` 是输出目标,不是输入。第一步只能读 `test_input/` 下的原始需求文件。 2. **第一步必须输出澄清问题**:XMind + 源码全部读取后,必须提出至少 3-5 个澄清问题,等待用户回答后再进入第二步。 3. **测试用例必须基于详细版测试点逐条转化**:精简版仅用于概览,不能用于转化用例。 4. **第二步必须输出功能点清单**:以页面/二级页为单位,在对话中列出分层结构。 ## 步骤间关卡(Gate) | 关卡 | 从 → 到 | 检查项 | |------|---------|--------| | Gate 1 | 第一步 → 第二步 | 需求全部读取完成;至少 3-5 个澄清问题已提出;等待用户回答 | | Gate 2 | 第二步 → 第三步 | 已输出功能点清单;参考了 references/ 分类清单 | | Gate 3 | 第三步 → 第六步 | 详细版 + 精简版测试点已写入文件;与功能点清单对应 | | Gate 4 | 第六步 → 第七步 | 用例数量 ≥ 测试点数量;步骤/预期编号匹配;自检清单通过 | | Gate 5 | 第七步 → 结束 | 用户反馈已处理;相关文件已重新生成并验证 | ## 依赖环境 - **Python**: 3.6+ - **操作系统**: Windows 10/11 - **Microsoft Excel**: 已安装(excel-reader 依赖) - **Python 依赖**: ```bash pip install pywin32 ``` ## 参考资料 - `.claude/skills/test-case-design/references/` 目录 - `功能测试功能点、测试点、测试用例.md` — 功能点分类与测试点覆盖清单(列表页 12 类、表单页 19 类、批量操作 15 类、导入导出 7 类等) - `测试分析设计方法.md` — 测试设计方法详解(等价类、边界值、场景法等) ## 许可证 本项目采用 [MIT License](LICENSE)