测试点分析(XMind 思维导图)
概述
以资深软件测试专家的视角分析任意形式的软件需求输入,识别功能模块、选择合适的测试分析方法、设计测试点,最终产出一份可直接用 XMind 打开的三级目录测试点分析思维导图(.xmind 文件)。
输出结构(严格三级目录):
根节点:<功能/需求名称>测试点分析
├── 第一级:功能模块 (如:用户登录、购物车、订单管理)
│ ├── 第二级:测试分析类型 (如:场景法、等价类、边界值……)
│ │ ├── 第三级:测试点 (一个点聚焦一个验证目标)
│ │ └── ...
│ └── ...
└── ...
第二级目录只允许使用以下七种测试分析方法(按模块特征选取,通常每模块选 2~4 种):
场景法、等价类、边界值、因果图、正交试验、错误推测、状态迁移。
工作流程
第 1 步:解析输入
按输入类型采用对应处理方式:
| 输入类型 | 处理方式 |
|---|---|
| 需求描述 / 需求文档 | 提取功能点、业务规则、约束条件、验收标准 |
| 接口 API 文档 | 解析接口地址、请求方法、参数(必填/选填)、类型、取值范围、响应结构、错误码 |
| 文档链接 | 先抓取链接内容,再按需求文档流程处理 |
| UI 页面截图 | 先读图识别交互元素(输入框、按钮、下拉框、页签、筛选器、分页),推断字段约束 |
输入信息不足时(如缺字段规则、缺业务流程),先列出关键假设并按行业惯例补全,同时在最终回复中说明假设内容,不阻塞交付。
第 2 步:功能模块拆解(第一级目录)
- 将需求划分为若干功能模块,命名简洁专业(如「用户登录」「购物车」「订单管理」)。
- 模块颗粒度适中:一个模块对应一个可独立验证的功能单元;子功能明确独立时可拆为单独模块。
第 3 步:选择分析方法并设计测试点(第二、三级目录)
设计测试点前,加载 references/test-analysis-methods.md(七种方法的核心思想、适用条件、设计步骤、典型示例与方法选择速查表),按以下原则执行:
- 按模块特征选方法(详见速查表):
- 有业务流程/页面流转 → 场景法(基本流 + 备选流 + 异常流)
- 有输入框/参数校验 → 等价类 + 边界值(成对使用:有效/无效类 + 上点/离点)
- 条件组合决定输出、条件数 ≤ 4 → 因果图(判定表)
- 多因素多水平组合、条件数 > 4 → 正交试验
- 对象有生命周期/状态机 → 状态迁移(合法迁移 + 非法迁移)
- 所有模块 → 错误推测作为补充(重复提交、并发、特殊字符、越权等高频易错清单) - 每个测试点聚焦一个验证目标,推荐格式
条件/输入 → 预期,如「密码 5 位 → 提交拦截并提示长度不足」。 - 不遗漏、不重复:每个输入字段都要有边界与异常覆盖;每个流程分支都要有场景覆盖。
- 测试点是「测什么」而非「怎么测」,不写前置条件和执行步骤。
第 4 步:生成 Markdown 大纲
先将完整测试点分析写成 Markdown 缩进大纲并保存为临时文件(如 test_analysis.md,放在当前工作区)。格式规范:
# 用户登录功能测试点分析
- 用户登录
- 场景法
- 正确账号密码登录成功,跳转首页
- 密码错误,提示"账号或密码错误"
- 边界值
- 密码最小长度6位恰为边界,可提交
- 密码5位,提交被拦截
要点:
- 一级标题 # xxx 作为思维导图根节点。
- 一级列表项 = 功能模块,二级缩进 = 测试分析类型,三级缩进 = 测试点。
- 每行只用 - 列表语法;层级靠缩进表达(建议每级 4 空格)。
第 5 步:生成 .xmind 文件
运行技能自带脚本(确定性转换,勿自行手写 zip 逻辑):
python <本技能目录>/scripts/xmind_generator.py <大纲.md> -o <输出.xmind> [--title "根节点标题"]
python使用环境中可用的 Python 3;脚本仅依赖标准库,无需安装第三方包。- 输出路径默认放在当前工作区(用户可下载的位置),文件名建议
<功能名>测试点分析.xmind。 - 脚本成功时会打印根节点与节点总数,据此在回复中简述规模。
第 6 步:交付
- 用 present_files 展示 .xmind 文件。
- 在回复中给出:功能模块清单、每个模块使用的分析方法及测试点数量、关键假设(若有)。
- 不在回复中全文粘贴整棵大纲树(用户可在 XMind 中查看),只给结构概览。
- 用户要求调整时(增删模块、换方法、改测试点),先修改 Markdown 大纲再重新运行脚本,保证大纲与 xmind 一致。
完成前检查清单
- [ ] 输入中的全部功能点均已被拆解为功能模块,无遗漏。
- [ ] 每个模块的第二级目录均为七种分析方法之一(不使用自造类别)。
- [ ] 有输入校验的模块同时覆盖了等价类与边界值。
- [ ] 有流程的模块覆盖了基本流、备选流与异常流。
- [ ] 有状态流转的对象覆盖了合法迁移与非法迁移。
- [ ] 每个模块包含错误推测类测试点(重复提交/并发/特殊字符/越权中至少 2 类)。
- [ ] 测试点无重复,颗粒度一致(每点一个验证目标)。
- [ ] .xmind 文件生成成功且三级结构正确(根节点 → 模块 → 方法 → 测试点)。
参考资料
references/test-analysis-methods.md— 七种测试分析方法的设计指导:核心思想、适用条件、设计步骤、典型测试点示例、方法选择速查表、测试点撰写规范。设计测试点前必读。scripts/xmind_generator.py— Markdown 缩进大纲转 .xmind 文件脚本(标准库实现,支持--title指定根节点标题)。
与相关技能的边界
- 用户需要测试点分析思维导图(XMind)→ 使用本技能。
- 用户需要可执行的标准测试用例表(Excel 六列字段)→ 使用
test-case-generator技能,或先用本技能产出测试点,再按用户要求扩展为用例表。