testcase-creator

v1.0.1

本技能从需求文档生成全面的测试用例文档。当用户需要从需求文档、产品规格说明或描述系统功能的文档创建测试用例时使用此技能。默认生成Markdown格式的测试用例文档;当用户明确要求生成"思维导图格式"或"xmind格式"时,会额外生成XMind思维导图文件。

1· 190·0 current·0 all-time
bydodo@duyinghua

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for duyinghua/testcase-creator.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "testcase-creator" (duyinghua/testcase-creator) from ClawHub.
Skill page: https://clawhub.ai/duyinghua/testcase-creator
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install testcase-creator

ClawHub CLI

Package manager switcher

npx clawhub@latest install testcase-creator
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the behavior: the skill generates Markdown test-case documents and optionally converts them to XMind. The included helper scripts (filename generator and md->xmind converter) are directly relevant and proportionate.
Instruction Scope
SKILL.md instructs the agent to deeply analyze input requirement documents and to always read the four included reference files before other steps — this is expected for formatting/quality enforcement. It also says that if a requirement is provided as a URL (e.g., Feishu doc), the agent should try to read it directly and, if not possible, attempt to use other skills to download it. That could lead to network access or invocation of other skills to fetch protected documents; the skill itself does not include explicit network code or credential usage.
Install Mechanism
Instruction-only install (no installation spec). Two small, readable Python scripts are included; there are no downloads from external/untrusted URLs or package installs.
Credentials
The skill declares no required environment variables, credentials, or special config paths. The scripts operate on user-provided file paths and /tmp for temporary files only.
Persistence & Privilege
Skill is not force-enabled (always:false) and doesn't request elevated persistence or modify other skills. It generates and preserves output files per its documented filename policy; this is consistent with its purpose.
Assessment
This skill looks internally consistent and the bundled scripts are readable and relevant. Before using it: (1) be mindful when supplying URLs to private documents — the skill's instructions suggest attempting to 'read' those URLs and possibly invoking other skills to fetch them, which may require credentials or expose document content; ensure you grant access only to trusted endpoints. (2) The converter writes temporary files under /tmp and saves outputs to whichever output directory you provide—verify output path permissions and that generated files don't contain sensitive secrets. (3) If you plan to let the agent autonomously fetch documents from collaboration platforms, confirm how authentication will be handled and prefer giving the document text directly when possible.

Like a lobster shell, security has layers — review code before you run it.

latestvk9731dgxm9dmhqxtab0edxabjn83e7eq
190downloads
1stars
6versions
Updated 1mo ago
v1.0.1
MIT-0

通用测试用例生成器技能

概述

本技能自动化从需求文档生成测试用例文档的过程。它分析需求内容、提取功能模块和测试点、生成结构化的Markdown测试用例文档。当用户明确要求时,还可以将Markdown转换为XMind思维导图格式。

核心特性

  • ✅ 深度需求分析,挖掘所有测试细节
  • ✅ 按完整功能流程组织测试用例
  • ✅ 默认生成Markdown格式,按需生成XMind思维导图
  • 时间戳版本管理:每次生成都添加时间戳后缀,保留所有历史版本

🚨 核心原则(必读)

  1. 深入分析需求:不要浮于表面,必须逐句分析需求文档,挖掘所有测试细节
  2. 充分覆盖细节:验证项数量不设上限,核心功能的每个细节都要有对应的验证项
  3. 不要人为限制:不要为了控制数量而合并验证项,每个可独立验证的点都应单独列出
  4. 质量优先于数量:宁可测试用例详细冗长,也不要遗漏核心功能的测试细节
  5. 保留历史版本:每次生成都添加时间戳,所有版本都被保留,便于版本管理和对比

何时使用此技能

在以下情况下使用此技能:

  • 用户提供需求文档并请求生成测试用例
  • 用户要求从产品规格说明或设计文档创建测试用例
  • 用户需要将现有需求文档转换为测试用例
  • 用户提到关键词如"测试用例"、"test cases"、"需求文档"

XMind生成触发条件

  • 用户明确要求生成"思维导图格式"或"mindmap格式"
  • 用户明确要求生成"xmind格式"
  • 用户要求"同时生成md和xmind"

默认行为:仅生成Markdown格式的测试用例文档

工作流程

步骤0:初始化(必须最先执行)

🚨 在执行任何其他步骤之前,必须先读取以下所有参考文档!这是强制要求,不可跳过。

必须依次读取以下文件:
1. {skills_dir}/references/testcase_template.md   — 格式规范(生成文档必须严格遵守)
2. {skills_dir}/references/analysis_guide.md      — 需求分析方法和验证项生成示例
3. {skills_dir}/references/quality_standard.md    — 质量标准、命名规范、SMART原则
4. {skills_dir}/references/module_merge_guide.md  — 功能模块归并指南和示例

读取完毕后,将这些文档的内容作为后续所有步骤的执行依据。

步骤1:读取和分析需求文档

从提供的来源(文件路径或直接内容)读取需求文档内容。这一步是测试用例质量的关键,必须深入分析,不能浮于表面。

1.1 文档读取

重要提示

  • 如果需求以URL形式提供(如飞书文档),先尝试直接读取文档内容,如果无法获取到内容,再尝试找其他相关技能来下载文档
  • 如果需求以文件路径形式提供,直接读取文件内容
  • 专注于文字内容,除非图片包含关键信息,否则忽略图片

1.2 深度需求分析方法

必须对需求进行深度分析,不要只停留在表面! 详见 references/analysis_guide.md

使用以下五种分析法逐句挖掘测试细节:

  • 逐句分析法:识别条件词/动作词/状态词/数据词,提取每个要素对应的验证项
  • 业务流程分析法:识别流程节点、判断分支、异常退出,每个节点都要有测试点
  • 数据流分析法:追踪数据获取→处理→存储→展示的完整链路
  • 状态转换分析法:识别所有状态及转换条件,每个状态转换都要有验证项
  • 用户场景分析法:从不同角色、正常/异常/极端场景角度分析

1.3 分析结果整理

将分析结果整理为:功能模块清单、业务规则清单、异常场景清单、测试数据清单。

步骤2:生成Markdown测试用例文档

重要提示:必须严格遵守 references/testcase_template.md 中定义的格式规范!

2.0 文件命名规则

核心原则:每次生成都添加时间戳后缀,便于版本管理和历史追溯

本技能使用自动化脚本为每个测试用例文件添加时间戳后缀,确保所有版本都被保留,便于对比和回溯。

2.0.1 命名规则

文件名格式

{需求文档名称}-v{MMdd_HHmmss}.md
{需求文档名称}-v{MMdd_HHmmss}.xmind

时间戳格式

  • 格式:MMdd_HHmmss(月日_时分秒)
  • 示例:0318_143052 表示3月18日14:30:52
2.0.2 使用方法
python3 scripts/generate_filename.py "<base_name>" "<output_dir>"
# 输出JSON:{"md_file": "...", "xmind_file": "...", "base_name": "..."}

2.1 标准格式结构

按照以下标准结构创建Markdown测试用例文档:

# {产品需求名称} - 测试用例

## 一、{功能模块名称}

### 1.1 {子功能名称}

#### 1.1.1 {功能点名称}
- **测试点:{测试点名称}**
  - [ ] {验证项1}
  - [ ] {验证项2}
  - [ ] {验证项3}

- **测试点:{测试点名称}**
  - [ ] {验证项1}
  - [ ] {验证项2}

### 1.2 {子功能名称}

#### 1.2.1 {功能点名称}
- **测试点:{测试点名称}**
  - [ ] {验证项1}

2.2 格式规范要求

必须遵守的格式规则

  1. 标题层级规范

    • # 一级标题:产品名称(文档根标题)
    • ## 二级标题:功能模块(使用"一、二、三、"等中文序号)
    • ### 三级标题:子功能(使用"1.1、1.2、2.1、"等编号)
    • #### 四级标题:功能点(使用"1.1.1、1.1.2、"等编号)
  2. 测试点格式规范

    • 必须使用粗体标记:**测试点:XXX验证**
    • 测试点名称应具体明确,描述验证目标
    • 示例:**测试点:触发条件验证****测试点:展示验证**
  3. 验证项格式规范

    • 必须使用待办事项格式:- [ ] 验证项内容
    • 使用2个空格缩进表示层级关系
    • 每个验证项应具体、可执行、可验证
    • 避免模糊描述,如"验证功能正常"应改为"验证点击按钮后跳转到正确页面"
  4. 文本处理规范

    • 保留粗体标记 **文本**
    • 支持emoji和特殊字符
    • 不使用checkbox标记 [x],统一使用 [ ]

2.3 测试用例生成质量标准

生成测试用例时必须遵循以下质量标准,详见 references/quality_standard.md

必须包含的测试类型:功能测试、UI/UX测试、异常场景测试(网络/数据/并发/权限) 建议包含的测试类型:边界条件测试、性能测试、兼容性测试、安全测试

测试点命名{对象}{类型}验证,如"触发条件验证"、"网络异常验证"、"登录流程验证"

验证项编写(SMART原则)

  • ❌ 错误:验证功能正常 → ✅ 正确:验证点击"提交"按钮后,表单数据成功提交到服务器
  • ❌ 错误:页面加载快 → ✅ 正确:页面首次加载时间不超过2秒

验证项数量不设上限,核心功能必须充分覆盖所有条件分支、业务规则、边界情况、异常处理、状态转换。每个可独立验证的点都应单独列出,不要人为合并。

2.4 测试用例生成流程

生成测试用例时,请严格按照以下流程执行:

2.4.1 需求分析阶段(最重要)

目标:深入理解需求,挖掘所有测试细节

  1. 通读需求文档

    • 仔细阅读整个需求文档,不要跳过任何部分
    • 理解业务背景和目标用户
    • 识别关键业务流程和核心价值
  2. 逐句分析需求

    • 对每一句话进行深度分析,提取测试点
    • 标记所有条件判断(if/when/如果/当...时)
    • 标记所有动作操作(点击/输入/选择/提交等)
    • 标记所有状态变化(展示/隐藏/启用/禁用等)
    • 标记所有数据交互(创建/读取/更新/删除等)
  3. 识别和归并功能模块

    🚨 核心原则:按完整功能流程组织测试,而非按需求文档章节划分,详见 references/module_merge_guide.md

    归并判断标准:同一功能的不同维度/层次 → 归并为一个模块;不同功能 → 各自独立。

    每个功能模块按以下流程组织:触发条件验证 → 业务规则验证 → 数据准备验证 → 展示内容验证 → 交互行为验证 → 结果处理验证。

  4. 提取业务规则

    • 记录所有的业务规则和约束条件
    • 每个规则都应转化为验证项
    • 注意隐含的业务逻辑
  5. 挖掘异常场景

    • 思考每个功能可能的异常情况
    • 网络异常、数据异常、权限异常等
    • 边界条件和极限情况
  6. 分析用户场景

    • 从用户角度思考使用场景
    • 考虑不同用户角色的行为
    • 考虑不同的使用环境

详细需求分析示例见 references/analysis_guide.md

2.4.2 测试点设计阶段

目标:为每个功能点设计全面的测试点

  1. 逐个功能点分析

    • 不要遗漏任何功能点
    • 每个功能点至少包含一个测试点
    • 复杂功能点应拆分为多个测试点
  2. 设计测试点类型

    • 功能验证类:验证功能是否按预期工作
    • 展示验证类:验证UI展示是否正确
    • 交互验证类:验证用户交互是否流畅
    • 异常验证类:验证异常处理是否合理
    • 性能验证类:验证性能指标是否达标
    • 安全验证类:验证安全措施是否到位
  3. 考虑测试场景

    • 正向场景:正常的业务流程
    • 反向场景:异常和错误情况
    • 边界场景:临界值和极限值
    • 并发场景:多用户或多操作
2.4.3 验证项编写阶段

目标:为每个测试点编写详细可执行的验证项

  1. 细化每个测试点

    • 将测试点拆解为具体的验证步骤
    • 每个验证项对应一个可执行的测试操作
    • 不限制验证项数量,确保充分覆盖
  2. 使用具体描述

    • 避免"验证功能正常"等模糊描述
    • 使用"验证点击XX按钮后,跳转到XX页面"等具体描述
    • 包含前置条件、操作步骤、预期结果
  3. 覆盖所有细节

    • 不要遗漏需求中的任何细节
    • 每个细节都应有对应的验证项
    • 宁可多写,不要少写
  4. 标注测试数据

    • 明确测试所需的数据类型
    • 标注特殊的测试数据要求
    • 说明数据准备方法
2.4.4 质量检查阶段

目标:确保测试用例的完整性和准确性

  1. 需求覆盖检查

    • 对照需求文档,逐条检查是否有对应测试用例
    • 确保每个需求点都被覆盖
    • 不遗漏任何功能细节
  2. 格式规范检查

    • 检查格式是否符合 testcase_template.md 规范
    • 检查标题层级是否正确
    • 检查验证项格式是否规范
  3. 验证项质量检查

    • 检查验证项是否具体明确
    • 检查验证项是否可执行
    • 检查验证项是否有遗漏
  4. 重复性检查

    • 检查是否有重复的测试点
    • 检查是否有重复的验证项
    • 合并或删除重复内容

2.5 质量检查清单

生成测试用例后,必须进行以下检查:

格式检查

  • 标题层级是否正确(#、##、###、####)
  • 测试点是否使用粗体标记
  • 验证项是否使用 - [ ] 格式
  • 缩进是否使用2个空格

内容检查

  • 是否覆盖所有功能模块
  • 是否包含功能测试、异常测试、边界测试
  • 验证项是否具体可执行
  • 是否有遗漏的测试场景

质量检查

  • 测试点命名是否规范
  • 验证项是否符合SMART原则
  • 是否有重复的测试点或验证项
  • 整体结构是否清晰易懂

步骤3:转换为XMind格式(可选)

🚨 重要提示:此步骤仅在用户明确要求生成"思维导图格式"或"xmind格式"时执行。默认情况下跳过此步骤。

生成Markdown文档后,如果用户要求思维导图格式,则使用转换脚本将其转换为XMind格式。

重要提示:转换脚本已内置格式处理逻辑,会自动遵循 testcase_template.md 中的转换规则。

3.1 脚本位置

scripts/md_to_xmind.py:将Markdown测试用例文档转换为XMind格式的Python脚本

3.2 使用方法

python3 {skills_dir}/scripts/md_to_xmind.py <input.md> <output.xmind> [title]

参数说明

  • input.md:生成的Markdown测试用例文档路径(必须符合testcase_template.md格式)
  • output.xmind:输出的XMind文件路径
  • title:(可选)XMind工作表标题,默认为"测试用例"

3.3 转换规则

脚本会自动按照以下规则进行转换:

Markdown到XMind的映射

Markdown元素XMind元素说明
# 一级标题根主题产品名称
## 二级标题一级子主题功能模块
### 三级标题二级子主题子功能
#### 四级标题三级子主题功能点
- **测试点:XXX**四级子主题测试点(带蓝色星标)
- [ ] 验证项五级子主题验证项(带绿色旗帜标记)

特殊处理

  1. Checkbox转换[ ](未完成状态)
  2. 粗体处理:保留粗体文本内容,移除**标记
  3. 层级判断
    • 标题层级:根据#数量判断
    • 列表层级:根据缩进空格数判断(每2个空格一级)

3.4 输出结果

转换完成后生成:

  • 有效的XMind 3.0+格式文件
  • 可在XMind或XMind Zen中正常打开
  • 保留完整的层次结构和格式
  • 支持进一步的编辑和美化

步骤4:展示结果

完成测试用例生成后,必须向用户展示完整的测试用例文档和统计信息。

4.1 展示内容

  1. 展示Markdown文件

    • 使用 open_result_view 显示生成的测试用例文档
    • 让用户可以查看和编辑Markdown源文件
  2. 报告统计信息

    • 总测试点数量
    • 总验证项数量
    • 按模块分类的覆盖情况
    • 测试类型分布(功能测试、异常测试、性能测试等)
  3. 提供XMind文件路径(仅当生成了XMind时):

    • 告知用户XMind文件的完整路径
    • 说明文件大小和节点数量
  4. 提供测试建议

    • 测试优先级建议(P0、P1、P2、P3)
    • 重点测试模块提示
    • 测试风险提示
    • 测试环境准备建议

4.2 质量报告

向用户提供测试用例质量报告:

📊 测试用例统计信息:
- 总测试点数:XX个
- 总验证项数:XX个
- 平均每个测试点验证项数:XX个

📈 测试覆盖情况:
- 功能测试:XX个测试点(XX%)
- 异常测试:XX个测试点(XX%)
- 性能测试:XX个测试点(XX%)
- 兼容性测试:XX个测试点(XX%)

✅ 质量检查结果:
- 格式规范:通过
- 完整性检查:通过
- 具体性检查:通过

打包资源

脚本

scripts/generate_filename.py:测试用例文件名生成器,自动添加时间戳后缀

  • 每次生成都添加时间戳后缀(格式:-vMMdd_HHmmss)
  • 输出JSON格式的文件路径,便于程序调用
  • 使用方法:python3 scripts/generate_filename.py "<base_name>" "<output_dir>"

scripts/md_to_xmind.py:将Markdown测试用例文档转换为XMind格式的Python脚本

  • 支持多级标题层次结构
  • 保留测试点格式
  • 转换复选框标记(☐表示未选中,☑表示已选中)
  • 生成有效的XMind 3.0+格式

参考资料

references/testcase_template.md:测试用例文档格式规范(标准结构、格式示例、XMind映射规则)

references/analysis_guide.md:需求深度分析指南(逐句分析法、业务流程/数据流/状态转换/用户场景分析法、验证项生成详细示例)

references/quality_standard.md:测试用例质量标准(测试覆盖类型、命名规范、SMART原则、最佳实践、测试覆盖清单)

references/module_merge_guide.md:功能模块归并指南(章节关系识别、归并判断标准、测试结构设计、归并示例)

最佳实践

详见 references/quality_standard.md,包含:SMART原则详细说明、测试点组织原则(按模块/功能/场景/优先级P0~P3)、测试覆盖清单(必测/重要/可选场景)。

使用示例

所有场景的通用步骤:获取文档内容 → 深度分析需求 → 生成测试用例 → 质量检查 → 展示结果

示例1:本地文档生成测试用例

用户:"根据这份需求文档生成测试用例" → 直接读取文件 → 分析需求 → 生成Markdown → 展示结果+统计信息

示例2:生成思维导图格式

用户:"根据这份需求文档生成思维导图格式的测试用例" → 读取文档 → 生成Markdown → 执行XMind转换脚本 → 展示Markdown+告知XMind路径

示例3:从在线文档(飞书/腾讯文档等)生成测试用例

用户:"根据这个飞书文档 https://xxx.feishu.cn/xxx 生成测试用例"

  1. 先尝试直接读取URL内容;如果无法获取,使用其他相关技能下载文档
  2. 分析需求 → 生成Markdown(如需XMind则同时转换)→ 展示结果

注意事项

格式要求

  • 必须严格遵守 references/testcase_template.md 中定义的格式规范
  • 所有生成的测试用例文档必须符合标准Markdown格式
  • 转换脚本依赖标准格式,格式错误可能导致转换失败

质量保障

  • 测试用例质量取决于需求文档的清晰度和完整性
  • 每个验证项必须具体、可执行、可验证
  • 必须包含功能测试、异常测试、边界测试等多种测试类型
  • 生成后必须进行质量检查

使用限制

  • 本技能专注于从需求文档生成测试用例
  • 不支持从代码或数据库生成测试用例
  • 对于非常大的文档,建议拆分为多个模块分别生成
  • 图片内容会被忽略,只处理文字信息

输出格式

  • 默认输出:仅生成Markdown格式
  • XMind触发条件:用户明确要求"思维导图格式"或"xmind格式"时才生成
  • Markdown文档便于版本控制和协作编辑
  • XMind思维导图便于可视化展示和评审

后续维护

  • 需求变更时需要重新生成测试用例
  • 建议定期review和更新测试用例
  • 可以手动编辑Markdown文档后重新转换为XMind

常见问题

  • 格式不正确:检查是否符合 testcase_template.md 规范,重新生成
  • XMind转换失败:检查Markdown标题层级和测试点格式是否规范
  • 覆盖不全:提供更详细的需求文档,或手动补充遗漏场景
  • 文件名时间戳:每次生成自动添加 -vMMdd_HHmmss 后缀,保留所有历史版本
  • 只生成XMind:不支持,XMind必须从Markdown转换,两种格式同时生成

Comments

Loading comments...