360 Secure SkillHub
360 安全技能中心

req-to-testcase

读取 Word、PDF、Markdown、TXT 或表格形式的需求文档,拆解功能点与业务规则,按正向、逆向、边界、业务规则、体验五个维度生成带优先级与预期结果的测试用例,并调用脚本导出 XMind 文件。

deathknightorg
deathknightorg
热度 40.41
最近更新 2026-05-11 17:41:08
分类:开发依赖:代码执行 / 读写文件 / 内部调用大模型应用场景:工作流 / 模板 / 文件转换

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add req-to-testcase
Metadata
name
需求生成用例
description
从需求文档自动生成全面覆盖的测试用例,并支持导出为 XMind 格式。 当用户上传需求文档(Word、PDF、Markdown、TXT)并要求生成测试用例时,必须触发本技能。 触发关键词:上传需求文档、解析需求、生成测试用例、测试用例转 XMind、 需求拆解、需求分析生成测试、全面测试覆盖、导出 XMind、生成脑图、测试点、测试场景。 只要用户上传了任何文档并提到「测试」「用例」「XMind」「需求拆解」「覆盖」等, 即使描述不完整,也应立即触发本技能,不要等待更多信息。

需求文档 → 全面测试用例 → XMind 技能

技能概览

本技能完成以下完整工作流:

上传需求文档
     ↓
解析并拆解需求点(识别功能点、业务规则、约束条件)
     ↓
多维度生成测试用例(5大测试类型,全面覆盖)
     ↓
导出 XMind .xmind 文件(可直接打开)

快速决策

用户输入 执行动作
上传文档 + 要生成测试用例 读取文件 → 拆解需求 → 生成用例 → 输出 XMind
只上传文档,未说目的 主动询问:是否需要生成测试用例?
已有需求列表(文字粘贴) 直接进行需求拆解,跳过文件读取
只要 XMind,不要表格 直接输出 XMind,省略 Markdown 表格
指定某些测试类型 优先生成指定类型,其余按需补充

第一步:读取需求文档

使用 scripts/read_requirement_file.py 统一读取所有支持格式的需求文档,无需手动判断文件类型。

执行步骤:

# 1. 确认上传的文件名
ls /mnt/user-data/uploads/

# 2. 调用读取脚本(自动识别格式并提取文本)
python scripts/read_requirement_file.py /mnt/user-data/uploads/<文件名>

脚本支持的格式:

格式 处理方式
.txt / .md 直接读取 UTF-8 文本
.docx python-docx 提取段落与表格
.pdf pypdf 逐页提取文本
.xlsx / .xlsm / .xls pandas 读取所有工作表
.csv pandas 读取并格式化为文本表格

脚本位于 scripts/read_requirement_file.py,将提取的纯文本输出到 stdout,直接作为第二步的需求拆解输入。

若脚本报告缺少依赖,按提示执行 pip install <包名> --break-system-packages 后重试。


第二步:拆解需求点

将原始需求文本结构化,识别以下要素:

需求ID  | 模块    | 功能描述           | 业务规则 / 约束                  | 优先级
--------|---------|-------------------|----------------------------------|-------
REQ-001 | 用户注册 | 用户填写信息完成注册 | 邮箱唯一、密码>=8位、手机号格式验证 | P0
REQ-002 | 商品搜索 | 按关键词搜索商品    | 支持模糊匹配、结果按销量排序        | P1

拆解规则:

  1. 每个独立功能点单独成一条需求
  2. 显式的业务规则(格式、范围、唯一性等)逐一记录
  3. 隐式约束(空值处理、并发、超时等)要主动推断补充
  4. 识别数据流:输入→处理→输出,每个环节都是测试点

第三步:多维度生成测试用例

必须覆盖的 5 大测试类型(详细策略见 references/test-coverage.md):

① 正向功能测试

验证功能在正常输入下按预期运行。

  • 典型场景:主流程走通
  • 关键点:按需求描述一一验证,不遗漏任何功能点

② 逆向 / 异常测试

验证系统对错误输入、异常状态的处理。

  • 空值、null、缺失必填项
  • 错误格式(邮箱不含@、手机号含字母等)
  • 非法操作(重复提交、越界操作等)

③ 边界值测试

在输入范围的边界处验证行为。

  • 最小值、最小值-1、最大值、最大值+1
  • 字符串:空串、1字符、最大长度、最大长度+1
  • 数值:0、负数、小数、整数边界
  • 日期:最早日期、最晚日期、跨年/跨月

④ 业务规则测试

验证需求中明确或隐含的业务逻辑。

  • 唯一性约束(重复注册、重复提交)
  • 状态机流转(订单状态只能正向流转)
  • 计算逻辑(金额、折扣、积分计算)
  • 关联规则(A 操作触发 B 变化)

⑤ 用户体验测试

  • 操作反馈:加载中、成功/失败提示是否清晰

  • 错误引导:提示语是否明确告知如何修正

  • 流程连贯性:完成操作后跳转是否合理


用例格式标准

每条用例输出以下字段:

字段 说明
用例ID TP-序号,如 TP-001
所属模块 对应需求模块
测试类型 正向/逆向/边界/业务规则/兼容/性能/体验
用例标题 简洁描述"做什么-预期是什么"
前置条件 测试前系统需满足的状态
测试步骤 编号步骤,操作具体可执行
测试数据 具体输入值(边界值、特殊字符等)
预期结果 明确可验证的结果描述
优先级 P0/P1/P2/P3

优先级标准:

  • P0(冒烟):核心主流程,每次发版必跑(约 10-15%)
  • P1(高优):主要功能路径,重要业务规则(约 30-40%)
  • P2(一般):边界值、异常处理、次要功能(约 35-45%)
  • P3(低优):兼容性细节、UI 美观、体验优化(约 5-10%)

用例数量参考

需求规模 预期用例数
单个表单/弹窗 15~30 条
单个功能模块 30~80 条
完整业务流程 80~200 条
完整系统需求文档 200~500 条

第四步:导出 XMind

使用 scripts/xmind_tools2.py 将测试用例列表生成兼容 XMind8 与 XMind2020 的 .xmind 文件。

执行步骤:

# 1. 安装依赖(首次使用)
pip install xmind --break-system-packages

# 2. 调用生成脚本
python scripts/xmind_tools2.py

脚本接口:

参数 说明
test_cases 测试用例列表,字段含 module / type / title / priority / precondition / steps / expected
project_name 根节点名称,默认 "测试用例"
output_dir 输出目录,默认 /mnt/user-data/outputs

脚本位于 scripts/xmind_tools2.py,返回生成文件的绝对路径。 生成完毕后使用 present_files 工具分享文件。

若脚本报告缺少依赖,按提示执行 pip install xmind --break-system-packages 后重试。


输出物清单

输出物 格式 说明
需求拆解表 Markdown 表格(内联展示) 展示在对话中
测试用例集 Markdown 表格(内联展示) 展示在对话中
XMind 文件 .xmind 文件(可下载) 用 present_files 分享

参考文档

文档 路径 何时读
测试覆盖策略详解 references/test-coverage.md 需要某类测试的详细设计方法时