testcase-planner · git:20260915.bc5a8d6 · 2026-09-15 · sha256 5d09711042fd227d
testcase-planner git:20260915.bc5a8d6A
Immutable. This exact content is served forever at /api/v1/blob/5d09711042fd227d.
--- name: testcase-planner description: 测试规划器 - 基于软件测试理论(场景法、等价类划分、边界值分析)将完备需求拆解为结构化的测试规划,输出测试项(ITEM)和测试点(POINT)。当用户执行 /testcase-plan 命令或需要生成测试规划时使用。 allowed-tools: Read, Write, Bash --- # 测试规划 Skill ## 1. 目标 识别测试项(ITEM)和测试点(POINT),生成结构化测试规划。 ## 2. 输入输出 - 输入:`clarified-requirements/` 目录(主要读取 `index.md`) - 输出:`test-case/plan.md` ## 3. 核心原则 1. 场景优先:基于场景法识别测试点,而非等价类 2. 独立性:每个 POINT 是独立的操作路径 3. 完整性:覆盖所有业务模块和关键场景 4. 风险导向:评估风险等级,指导用例生成 ## 4. 执行流程 ### 4.1 层级定义 三层结构: **ITEM(测试项)**: - 业务模块或需求章节 - 示例:登录功能、订单管理、用户设置 **POINT(测试点)**: - 独立的操作路径(场景) - 示例:用户名密码登录、手机验证码登录、第三方登录 **备注**: - 风险等级:Critical / High / Medium / Low - 测试关注点:边界值、异常情况、业务规则等 ### 4.2 ITEM 识别 按以下方式划分: **方式1:按需求章节** - 需求文档有明确章节结构时使用 - 示例:第3章"用户管理" → ITEM "用户管理" **方式2:按业务实体** - 需求文档无明确章节时使用 - 示例:涉及订单的所有功能 → ITEM "订单管理" **方式3:按功能模块** - 跨章节的功能集合 - 示例:所有登录相关功能 → ITEM "登录功能" ### 4.3 POINT 识别 基于场景法识别独立操作路径: **判断标准**: - 是否是独立的用户操作流程? - 是否有不同的前置条件或触发条件? - 是否有不同的业务规则? **正确示例**: - "用户名密码登录"、"手机验证码登录"、"第三方登录" → 3 个 POINT(不同操作路径) **错误示例**: - "密码长度 <8"、"密码长度 8-20"、"密码长度 >20" → 不是 3 个 POINT(同一场景的不同数据) - 正确做法:合并为 1 个 POINT "用户名密码登录",在用例生成时覆盖密码长度的等价类 ### 4.4 风险等级评估 4 个等级: - **Critical**:核心业务流程,影响系统可用性 - **High**:重要功能,影响用户体验 - **Medium**:辅助功能,影响局部功能 - **Low**:边缘功能,影响较小 ### 4.5 测试关注点提炼 从以下维度提炼: - 边界值:长度、数量、时间等限制 - 异常情况:失败、超时、冲突等 - 业务规则:权限、状态、约束等 - 数据约束:格式、范围、依赖等 ### 4.6 输出格式 ```markdown # 测试规划 ## ITEM 名称 ### POINT 名称 > 风险等级: Critical/High/Medium/Low > 测试关注点: 具体关注点1、具体关注点2 ### POINT 名称 > 风险等级: Critical/High/Medium/Low > 测试关注点: 具体关注点1、具体关注点2 ``` ## 5. 示例 ### 示例1:正确的 ITEM/POINT 划分 ```markdown # 测试规划 ## 登录功能 ### 用户名密码登录 > 风险等级: Critical > 测试关注点: 密码错误次数限制(5次)、账户锁定(30分钟)、密码长度边界(8-20位) ### 手机验证码登录 > 风险等级: High > 测试关注点: 验证码过期(60s)、错误次数限制(5次)、手机号格式验证 ### 第三方登录(微信/支付宝) > 风险等级: Medium > 测试关注点: 授权失败处理、token过期处理、首次登录绑定流程 ``` ### 示例2:错误的 POINT 划分 ```markdown ## 登录功能 ### 密码长度小于8位 > 风险等级: High > 测试关注点: 提示"密码长度不足" ### 密码长度8-20位 > 风险等级: High > 测试关注点: 登录成功 ### 密码长度大于20位 > 风险等级: High > 测试关注点: 提示"密码长度超限" ``` **为什么错误**:这3个不是独立场景,而是同一场景(用户名密码登录)的不同数据。应该合并为1个 POINT "用户名密码登录",在用例生成时覆盖密码长度的等价类。 ## 6. 脚本工具 ### parse_plan.py 解析和验证 `plan.md` 文件,提取 ITEM/POINT 结构。 ```bash # 解析并验证(严格模式,格式错误时报错退出) python testcase-planner/scripts/parse_plan.py test-case/plan.md # 显示详细摘要(ITEM/POINT 列表、风险等级、测试关注点) python testcase-planner/scripts/parse_plan.py test-case/plan.md --verbose # 输出 JSON 格式(便于程序化处理) python testcase-planner/scripts/parse_plan.py test-case/plan.md --json # 非严格模式(仅警告不报错) python testcase-planner/scripts/parse_plan.py test-case/plan.md --no-strict ``` **验证规则**: - 缺少一级标题 `# 测试规划` → 错误 - 无任何 ITEM → 错误 - 无任何 POINT → 错误 - ITEM 名称 < 2 字符 → 错误;> 20 字符 → 警告 - POINT 名称 < 4 字符 → 错误;> 30 字符 → 警告 - ITEM 下无 POINT → 错误 ## 7. 检查清单 - [ ] 所有业务模块都已识别为 ITEM - [ ] 所有独立操作路径都已识别为 POINT - [ ] 没有将等价类误识别为 POINT - [ ] 每个 POINT 都有风险等级 - [ ] 每个 POINT 都有测试关注点 - [ ] 风险等级评估合理 - [ ] 测试关注点具体明确(有数值、有条件) - [ ] 格式符合规范(## ITEM、### POINT、> 备注) - [ ] 已通过 `parse_plan.py` 验证格式