用途
测试用例生成器用于根据测试点生成结构化测试用例,覆盖正向、反向与边界场景。触发条件为用户执行 /testcase-gen 命令,且 test-case/plan.md 存在。
主要能力
- 基于等价类划分法生成用例:将输入数据划分为若干等价类,从每类中选取代表性数据测试,遵循“一次测试一个等价类,其他保持有效”的生成原则。
- 基于边界值分析法生成用例:采用边界三点法(离点 min-1、上点 min、内点、上点 max、离点 max+1)覆盖临界点。
- 用例数量自适应:不强制数量,依据输入项数量、业务规则复杂度、风险等级、测试关注点等判断标准调整。
- 输出为 Markdown 文本协议格式(v0.2),每个测试点生成一个 .md 文件,并可合并为 all_cases.md。
- 提供校验与导出脚本:validate.py 用于格式、枚举、编号连续性、步骤与预期数量一致性、等价类/边界值覆盖与重复检测;to_excel.py 用于导出 Excel。
输入输出
- 输入:test-case/plan.md、clarified-requirements/index.md、CLAUDE.md。
- 输出:test-case/{ITEM}/{POINT}.md、test-case/all_cases.md。
格式规范
- 优先级:P1-P5(必填),P1 核心功能正向流程,P2 基本功能正向流程,P3 核心功能异常场景,P4 边界条件,P5 低频场景;[反向] 为可选标记。
- 测试类型枚举(12 种):功能、兼容性、易用性、性能、稳定性、安全性、可靠性、效果(AI类、资源类)、效果(硬件器件类)、可维护性、可移植性、埋点。注意不能写“功能测试”,必须写“功能”;括号必须为中文括号;大小写敏感。
- 测试步骤推荐使用中文句号分隔、编号连续;编号必须从 1 开始连续递增,测试步骤与预期结果的编号数量必须一致。
- 测试数据必须具体,不使用占位符(如用户名 test_user、密码 Test1234、手机号 13800138000、金额 99.99)。
- 预期结果必须明确可验证(如跳转到 /home 页面并显示指定文案、提示具体错误信息、订单状态与库存变化)。
- 用例标题以“验证”开头。
使用方式
生成流程为:准备上下文(读取 plan.md、index.md、CLAUDE.md)→ 理解测试点 → 识别输入项 → 划分等价类和边界值 → 设计测试用例(P1 核心正向、P2 基本正向、P3 核心异常、P4 边界条件、P5 低频场景)→ 每个测试项生成完毕后调用校验脚本检查格式,全部生成完毕后再次整体校验 → 生成质量报告。
脚本接口:
单文件校验: uv run .claude/skills/testcase-generator/scripts/validate.py --single "test-case/{模块}/{测试点}.md"
全局校验: uv run .claude/skills/testcase-generator/scripts/validate.py "test-case/"
全局校验 + 重复检测: uv run .claude/skills/testcase-generator/scripts/validate.py "test-case/" --check-duplicates
仅重复检测: uv run .claude/skills/testcase-generator/scripts/validate.py "test-case/" --duplicates-only
导出 Excel: uv run .claude/skills/testcase-generator/scripts/to_excel.py "test-case/" -o "test-case/export.xlsx" uv run .claude/skills/testcase-generator/scripts/to_excel.py "test-case/{模块}/{测试点}.md" -o "output.xlsx"
校验项包括:Schema 格式、必填字段、测试类型枚举、步骤编号连续性、步骤与预期结果数量一致性、等价类覆盖(--check-equivalence)、边界值覆盖(--check-boundary)、重复检测(--check-duplicates)。
目录结构
test-case/ ├── plan.md ├── {ITEM}/ │ ├── {POINT1}.md │ ├── {POINT2}.md │ └── ... └── all_cases.md
合并规则:将所有 {ITEM}/{POINT}.md 合并到 all_cases.md,按 ITEM 分组,每个 ITEM 下按 POINT 排序,添加分隔标记(# ITEM 名称 和 ## POINT 名称)。
适用场景
适用于需要按测试点批量生成结构化测试用例的测试设计工作,覆盖登录、列表筛选等多输入项场景;生成结果可人工审核后再使用,并可选导出为 Excel。
限制与异常处理
- 单文件校验失败:重试 3 次,仍失败则跳过并记录。
- 用例数过多(>15):提示检查是否有冗余等价类。
- 缺少边界用例、缺少无效等价类:警告并建议补充。
- 步骤编号不连续、测试类型不在枚举、步骤与预期数量不一致:报错并要求修正。
- 导出失败:检查 openpyxl 依赖。
- 校验脚本只提供日志,不直接修改文件,由 AI 分析日志后决定是否调整。
- 资料未提供具体价格、收费模式、支持平台等信息。