| name | generator-testcase-excel |
| description | 资深测试用例设计专家技能。当用户需要基于用户故事或测试点生成完整的、可执行的测试用例时使用此技能。支持输入 docx 文档(用户故事)或 xmind 文件(测试点),输出格式化的 Excel 测试用例文件。每个用例包含编号、标题、前置条件、测试步骤、测试数据、预期结果、优先级、关联需求编号。 |
测试用例 Excel 生成器
概述
本技能以资深测试用例设计专家的视角,基于用户故事或测试点,生成完整的、可执行的测试用例,并以 Excel (.xlsx) 格式输出。每个测试用例包含8个标准字段,测试数据具体可执行,预期结果明确可验证。
触发条件
当用户出现以下场景时使用本技能:
- 提供用户故事(User Story)文本或 docx 文档,要求生成测试用例
- 提供 xmind 思维导图文件(测试点),要求转化为可执行的测试用例
- 要求将测试点细化为测试用例
- 提及"测试用例"、"用例设计"、"用例编写"、"生成用例"等关键词
- 要求输出 Excel 格式的测试用例
工作流程
第一步:接收与解析输入
支持两种输入方式,根据输入类型选择对应解析流程:
1.1 输入为 docx 文件(用户故事文档)
- 使用 Read 工具或 Python 读取 docx 文件内容
- 提取每个用户故事的编号、标题、主流程、替代流程、异常情况等结构化信息
- 解析异常情况中的具体提示文案(如「该手机号已注册」),这些文案将用于预期结果
- 识别所有涉及用户输入的字段及其约束条件
1.2 输入为 xmind 文件(测试点思维导图)
- 解压 xmind 文件(ZIP 格式),读取
content.json
- 遍历思维导图结构,提取分类节点(功能测试/边界值测试/异常测试/业务规则测试/非功能性测试)
- 从每个测试点节点提取:
title → 测试点描述
markers → 优先级(priority-1=P0, priority-2=P1, priority-3=P2)
labels → 关联需求编号
notes → 详细说明
children → 子测试点列表
- 将解析后的测试点列表作为生成测试用例的基础
1.3 输入为文本(用户直接输入用户故事)
- 解析用户输入的用户故事文本
- 提取编号、标题、主流程、异常情况等信息
第二步:设计测试用例
按照以下规则将用户故事/测试点转化为完整测试用例。参照 references/testcase_design_guide.md 中的详细规范。
2.1 等价类划分与边界值分析
对涉及输入的测试点,必须应用等价类划分和边界值分析:
等价类规则:
- 每个有效等价类至少覆盖1条正向测试用例
- 每个无效等价类单独生成1条异常测试用例(不可合并)
- 多输入字段组合使用正交法精简
边界值规则(必须包含5类):
- 最小值 - 刚好满足下限的值
- 略高于最小值 - 最小值+1
- 正常值 - 范围中间的典型值
- 略低于最大值 - 最大值-1
- 最大值 - 刚好满足上限的值
- 补充:低于最小值(异常)、高于最大值(异常)
测试数据要求:
- 提供具体的测试数据值
- 不使用"任意有效数据"、"合法值"、"正常输入"等模糊描述
- 示例:手机号填写
13812345678,密码填写 Abc12345
2.2 测试用例设计规范
每个测试用例必须包含以下8个字段:
| 字段 | 要求 |
|---|
| 用例编号 | 全局连续编号 TC-001, TC-002, ... |
| 用例标题 | 格式:功能点-操作-预期结果/异常描述,简洁明确 |
| 前置条件 | 执行前需满足的条件,包括账号状态、数据准备等 |
| 测试步骤 | 按 1. 2. 3. 编号,每步包含操作对象、操作方式、输入内容 |
| 测试数据 | 具体的输入数据值,不使用模糊描述 |
| 预期结果 | 包含页面行为验证、提示信息验证、数据状态验证 |
| 优先级 | P0/P1/P2 |
| 关联需求 | 对应的用户故事编号(如 US-001) |
测试步骤编写规则:
- 按操作顺序编号:1. 2. 3. ...
- 每步描述一个明确的操作动作
- 包含操作对象、操作方式、输入内容
- 异常用例的步骤需体现触发异常的具体操作
预期结果编写规则:
- 包含页面行为验证(跳转、提示信息、按钮状态)
- 包含数据状态验证(数据库、接口返回)
- 异常用例必须验证提示信息的具体内容(与用户故事中的提示文案一致)
- 多条预期结果按编号列出:1. 2. 3. ...
2.3 从用户故事生成用例的拆分规则
根据用户故事的复杂度拆分测试用例:
- 主流程 → 至少1条正向用例(P0)
- 替代流程 → 每个分支1条用例(P1)
- 异常情况 → 每种异常1条用例,验证对应提示信息(P0/P1)
- 涉及输入的字段 → 按等价类+边界值拆分多条用例(P1)
- 状态转换 → 每种合法转换1条用例,每种非法转换1条用例
2.4 从测试点生成用例的转化规则
根据测试点分类选择转化策略:
| 测试点分类 | 转化策略 |
|---|
| 功能测试 | 每个测试点 → 1条正向用例,步骤和数据完整展开 |
| 边界值测试 | 每个子测试点 → 1条独立用例,包含具体边界值和预期 |
| 异常测试 | 每个异常场景 → 1条用例,必须验证提示信息内容和页面状态 |
| 业务规则测试 | 每条规则 → 1-2条用例(正向+反向) |
| 非功能性测试 | 按安全/性能/兼容性拆分,每项1条用例 |
第三步:构建 JSON 数据
将所有测试用例整理为结构化 JSON 数据,格式遵循 references/json_template.md 规范:
{
"title": "项目名称 - 测试用例",
"test_cases": [
{
"id": "TC-001",
"title": "用例标题",
"precondition": "前置条件",
"steps": "1. 步骤一\n2. 步骤二",
"test_data": "具体数据",
"expected_result": "1. 预期一\n2. 预期二",
"priority": "P0",
"requirement_id": "US-001"
}
]
}
第四步:生成 Excel 文件
执行 scripts/generate_excel.py 脚本生成格式化的 Excel 文件:
python3 <skill_path>/scripts/generate_excel.py <input.json> <output.xlsx>
Excel 文件包含两个 Sheet:
- 测试用例:主用例表格,含表头筛选、优先级颜色标记、自动换行
- 统计:用例总数、优先级分布、关联需求分布
第五步:交付
将生成的 Excel 文件交付给用户。
注意事项
- 测试数据必须具体:不使用"任意有效数据"、"合法值"等模糊描述,每个数据项必须有明确值
- 预期结果必须可验证:包含具体的页面行为、提示信息文案、数据状态描述
- 异常用例必须验证提示信息:预期结果中需包含与用户故事一致的提示文案
- 边界值五类全覆盖:最小值、略高于最小值、正常值、略低于最大值、最大值
- 无效等价类不可合并:每个无效等价类单独一条用例
- 步骤编号格式统一:使用
1. 2. 3. 格式,换行用 \n
- 关联需求必填:每条用例必须关联用户故事编号