把用户任务转成可执行用例,关键在中间两步:先把任务拆成角色、触发条件、目标与完成标志,再提取可验证的测试场景,最后才落成带前置条件、操作步骤、测试数据和预期结果的用例。本文给出一条可复用的转化链路、字段模板、完整示例和检查清单,帮助团队判断用例能否被他人照做并客观判定结果。
要点总览(TL;DR)
- 用户任务、测试场景、测试用例分属三个层级:任务说明谁在什么条件下要达成什么目标,场景说明哪条路径值得验证,用例说明具体怎么操作、用什么数据、看到什么算通过。
- 转化链路分四步:任务梳理→场景提取→用例编写→可执行性校验,每一步都有明确输出物和完成标志,上一环节不达标就退回补充。
- 任务拆解固定记录六项要素:角色、前置状态、触发动作、业务目标、约束条件、完成标志;分支与异常路径单独列出,作为场景提取的输入。
- 可执行用例建议固定七个字段,步骤以不了解背景的同事能照做为粒度,预期结果用具体状态、数值或提示文案描述,判定依据说明确认方式。
- 用例写完不等于可执行,进入执行前按步骤可照做性、预期结果可判定性、场景覆盖率、数据可获得性和追溯完整性逐项核对,不通过即返工。
从用户任务到用例:一条可复用的转化链路
用户任务、测试场景、测试用例处在三个不同层级。用户任务回答“谁在什么条件下要达成什么目标”,通常来自需求文档或用户故事;测试场景回答“哪一条路径值得验证”,是任务的一种走法;测试用例回答“具体怎么操作、用什么数据、看到什么算通过”。直接从任务跳到写步骤,容易漏掉分支,也容易写出只有作者本人看得懂的用例。
可复用的转化链路分四个环节,每个环节都有明确输出物,上一环节的输出就是下一环节的输入。完成标志的作用是防止环节之间含糊交接:输出物不达标就退回上一环节补充,而不是带着缺口继续往下写。
| 环节 | 输入 | 动作 | 输出 | 完成标志 |
|---|---|---|---|---|
| 任务梳理 | 需求文档、用户故事、业务流程说明 | 识别角色、前置状态、触发动作、业务目标、约束条件、完成标志,单列分支与异常路径 | 用户任务要素拆解表 | 每个任务要素齐全,分支与异常路径已列出,无“待确认”项遗留到下一环节 |
| 场景提取 | 任务要素拆解表 | 以主流程为基线,补充分支、异常与边界场景,标注优先级并说明取舍理由 | 测试场景清单 | 每条场景能追溯到具体任务要素,主流程、分支、异常三类均有覆盖或写明不测理由 |
| 用例编写 | 测试场景清单 | 按固定字段把场景写成用例,明确步骤、数据与预期结果 | 可执行用例 | 每条用例字段完整,步骤可照做,预期结果可判定 |
| 可执行性校验 | 可执行用例 | 按检查清单逐项核对,标记阻断项并返工 | 通过校验的用例集 | 检查清单全部通过,或剩余问题已记录处理人和期限 |
这条链路的价值在于把“写用例”拆成可分工、可评审的动作。任务梳理通常由熟悉业务的人完成,场景提取和用例编写由测试设计人员承担,校验环节可以交叉进行,让不了解背景的同事试读步骤。
第一步:把用户任务拆成可测试的要素
任务描述的常见来源有三类:需求文档中的功能说明、用户故事中的角色与价值描述、业务流程说明中的操作顺序。这些材料往往偏重“要做什么”,缺少测试需要的条件信息,拆解的任务就是把这些隐含信息显性化。
建议固定记录六项要素,形成统一模板,避免不同人拆出的粒度差异过大:
| 要素 | 填写内容 | 填写要点 |
|---|---|---|
| 角色 | 执行任务的人或系统身份 | 写明权限范围,如“已登录的普通成员”“具备审批权限的管理员” |
| 前置状态 | 任务开始前系统与数据应处于的状态 | 写可观察的状态,如“订单处于待支付状态”“账户余额大于订单金额” |
| 触发动作 | 用户发起的操作 | 写到操作对象和入口,如“在订单详情页点击取消订单” |
| 业务目标 | 任务要达成的结果 | 与完成标志区分,目标偏业务价值,完成标志偏可观察结果 |
| 约束条件 | 业务规则、时限、数量限制、权限限制 | 逐条列出,每条约束都可能对应一个场景 |
| 完成标志 | 判定任务完成的客观依据 | 用状态变化、数值、提示文案或可观察现象描述 |
拆解时同步识别分支与异常路径。分支指同一任务在不同条件下走不同处理,例如支付方式不同导致后续流程不同;异常路径指操作失败、数据不满足、权限不足、外部依赖不可用等情况。这些路径单独列一张清单,标注来源要素,作为下一步场景提取的直接输入。拆解结果建议以表格记录,一行一个任务,分支与异常另起区域,便于评审时逐项核对。
第二步:从任务要素提取测试场景
场景提取以主流程为基线。主流程是任务最典型、最顺畅的一条路径,先把它写成一条场景,再围绕约束条件和分支逐条扩展。每条场景都应能追溯到具体任务要素,追溯关系写进场景清单,既方便评审,也方便后续需求变更时定位受影响的场景。
场景清单建议包含场景编号、来源任务、路径类型、优先级和简要说明。路径类型至少区分主流程、分支、异常与边界四类。边界场景来自约束条件中的数量、时限、金额等阈值,例如“最多上传 10 个文件”对应 9 个、10 个、11 个三个边界点。
取舍依据主要有三条:业务影响,即路径失败对用户和业务造成的后果;发生频率,即该路径在实际使用中出现的概率;实现复杂度,即路径涉及的技术环节多少。取舍结论要写明理由,例如“低频且影响可控,本期不单独设计用例,由主流程用例覆盖”。写明理由的取舍在评审时更容易达成一致,也避免后续被误认为遗漏。
检查重复与遗漏可以用两个动作:一是按来源任务分组查看场景,确认每个任务要素至少被一条场景覆盖;二是按路径类型统计,确认主流程、分支、异常三类都有场景,边界值按阈值逐点核对。发现两条场景步骤和预期结果高度相似时,合并为一条并在数据上做区分。
第三步:把测试场景写成可执行用例
可执行用例的字段结构建议固定为七项:用例编号、关联场景、前置条件、操作步骤、测试数据、预期结果、判定依据。字段固定的好处是不同人写出的用例格式一致,执行和评审时不需要重新理解结构。
操作步骤的粒度以“不了解背景的同事能照着做”为准。每一步只包含一个动作,写明操作对象和入口,例如“在订单详情页点击‘取消订单’按钮”,而不是“取消订单”。步骤中涉及的数据用占位符标注,并在测试数据字段给出具体值。步骤数量多时按阶段分组,但不要合并多个动作。
测试数据要写明来源与构造方式:是已有数据、需要预先创建,还是通过接口或页面构造。避免“使用有效数据”这类无法执行的表述。依赖外部环境或特定配置的步骤,在前置条件中标注,例如“测试环境已开启短信模拟服务”。
预期结果要可判定,用具体状态、数值、提示文案或可观察现象描述。判定依据说明用什么方式确认结果,例如“页面状态变为‘已取消’,订单列表中该订单状态同步更新”。涉及多个检查点时逐条列出,避免一条预期结果包含多个无法同时确认的判断。
下面是一条完整填写的示例,场景为“普通成员取消待支付订单”:
| 字段 | 内容 |
|---|---|
| 用例编号 | TC-ORDER-CANCEL-001 |
| 关联场景 | SC-ORDER-CANCEL-01 主流程:取消待支付订单 |
| 前置条件 | 已登录普通成员账号;存在一笔状态为“待支付”的订单,订单号 ORD-2024-0001;账户无未完成的退款申请 |
| 操作步骤 | 1. 进入“我的订单”列表;2. 找到订单 ORD-2024-0001,点击进入详情页;3. 点击“取消订单”按钮;4. 在确认弹窗中选择取消原因“不想要了”,点击“确认取消” |
| 测试数据 | 订单号 ORD-2024-0001,需提前通过下单流程创建并保持待支付状态;取消原因选择列表中的“不想要了” |
| 预期结果 | 1. 弹窗关闭,页面提示“订单已取消”;2. 订单详情页状态显示为“已取消”;3. 返回订单列表,该订单状态同步显示“已取消” |
| 判定依据 | 以页面提示文案和订单状态字段为准,三处状态一致即判定通过 |
用例编写完成后,团队通常需要把用例与对应的需求或任务建立关联,便于需求变更时找到受影响的用例。ONES 支持测试用例与需求、任务关联,测试计划与迭代关联,用例可按模块以树状结构组织,并支持自定义用例属性;这些能力适合承载上述字段结构和关联关系,具体配置以实际部署版本为准。
角色分工与交付物
转化过程中最容易脱节的环节是场景提取与用例编写之间的交接。明确每个角色提供什么、交付什么,可以减少返工。下表给出常见分工,团队规模较小时一人可兼多个角色,但交付物仍需分开产出,便于评审。
| 角色 | 职责 | 交付物 | 交接节点 |
|---|---|---|---|
| 业务/产品 | 提供任务背景、业务目标、约束条件与完成标志,确认取舍理由 | 需求说明、任务要素确认意见 | 任务梳理完成后确认要素表 |
| 测试设计 | 提取场景、编写用例、维护场景与用例的追溯关系 | 测试场景清单、可执行用例 | 场景清单评审通过后进入用例编写 |
| 开发 | 确认技术约束、异常路径与外部依赖,说明实现层面的边界 | 技术约束说明、异常路径补充 | 场景提取阶段参与,异常场景评审时确认 |
| 评审人 | 核对场景覆盖与用例可执行性,试读步骤判断能否照做 | 评审意见、通过结论 | 用例编写完成后、进入执行前 |
交接节点建议设两个:场景清单评审和用例评审。场景清单评审重点看覆盖与取舍,用例评审重点看步骤可照做性和预期结果可判定性。两个节点分开,避免在用例细节上反复讨论场景是否该测。
示例:一个用户任务如何落成三条用例
以下为演示情景,用于说明转化方法,不代表真实项目数据。
示例任务描述:普通成员在订单详情页取消待支付订单,取消后订单状态更新,已支付订单不能直接取消。
拆解出的任务要素:角色为已登录普通成员;前置状态为订单处于待支付或已支付状态;触发动作为在订单详情页点击取消订单并确认;业务目标为撤销未支付订单;约束条件为已支付订单不可直接取消、取消需选择原因;完成标志为订单状态变为“已取消”且列表同步更新。分支与异常路径包括:已支付订单尝试取消、取消请求提交时网络中断。
提取三个场景:主流程场景为取消待支付订单成功;分支场景为已支付订单点击取消,系统阻止并提示;异常场景为确认取消时请求失败,订单状态保持不变并给出失败提示。
对应三条用例:第一条即上一节的 TC-ORDER-CANCEL-001。第二条用例前置条件为存在一笔“已支付”订单,步骤为进入详情页点击“取消订单”,预期结果为不出现确认弹窗或确认后提示“已支付订单不支持取消”,订单状态保持“已支付”,判定依据为提示文案与状态字段。第三条用例前置条件为待支付订单且测试环境可模拟网络中断,步骤为点击确认取消前断开网络,预期结果为页面提示“操作失败,请重试”,刷新后订单仍为“待支付”,判定依据为提示文案与刷新后的状态。
可迁移的规律是:主流程用例验证任务能完成,分支用例验证约束条件生效,异常用例验证失败时状态不被破坏。三条用例共用同一套字段结构,区别只在数据与预期结果。
完成检查:用例是否真的可执行
用例写完不等于可执行。建议在进入执行前按清单逐项核对,任一项不通过即标记为阻断项,返工后再进入下一轮。
- 步骤可照做性:找一位不了解该需求的同事按步骤操作,能独立完成且不需要口头补充说明。
- 预期结果可判定性:每条预期结果都有具体状态、数值、提示文案或可观察现象,执行人能明确回答“通过”或“不通过”。
- 场景覆盖率:每个任务要素至少被一条场景覆盖,主流程、分支、异常三类均有场景或写明不测理由,边界值按阈值逐点核对。
- 测试数据可获得性:每条用例的数据来源明确,需要预置的数据有构造方式,依赖的外部环境在前置条件中标注。
- 追溯完整性:用例能关联到来源场景,场景能关联到来源任务,需求变更时可据此定位受影响用例。
阻断项通常集中在三类:步骤依赖未说明的环境配置、预期结果写成“正常显示”这类无法判定的表述、测试数据无法在测试环境构造。出现任一类即返工到对应用例,不必整体重写。用例数量较多时,可借助用例库的筛选和模块组织能力按场景类型分批核对;ONES 用例库支持按用例属性筛选、按模块树状组织,并支持从 Excel 批量导入和导出备份,适合在检查阶段快速定位待返工用例,具体能力范围以实际版本为准。
常见问题
用户任务描述很简略,缺少前置条件和完成标志,怎么补齐?
先按六项要素逐项对照,把缺失项标出来,再定向找来源补齐:前置状态和约束条件通常能从业务流程说明或业务规则文档中找到;完成标志可以向业务或产品角色确认,用可观察的状态变化、数值或提示文案描述。补齐过程中如果发现某项暂时无法确认,把它记为待确认项并指定确认人,不要带着缺口进入场景提取,否则后续用例的预期结果很难判定。
一个用户任务要提取多少条测试场景才够?
数量取决于任务的约束条件和分支多少,判断标准是覆盖而非条数。先写主流程场景,再按约束条件逐条扩展分支场景,按失败、权限不足、外部依赖不可用等情形补充异常场景,按数量、时限、金额等阈值核对边界点。每个任务要素至少被一条场景覆盖,主流程、分支、异常三类都有场景或写明不测理由,就达到了覆盖要求。低频且影响可控的路径可以在清单中写明由主流程用例覆盖,并记录取舍理由。
用例评审时,怎么快速判断步骤是否真的可执行?
最直接的办法是找一位不了解该需求的同事按步骤试读或试操作,过程中不提供口头补充说明。如果对方需要追问入口在哪、数据从哪来、看到什么算通过,就说明步骤粒度、测试数据或预期结果存在缺口。评审时重点核对三类常见问题:步骤依赖未说明的环境配置、预期结果写成“正常显示”这类无法判定的表述、测试数据无法在测试环境构造。出现任一类即返工到对应用例,不必整体重写。
需求变更后,怎么找到受影响的测试用例?
依赖转化过程中建立的追溯关系:用例关联来源场景,场景关联来源任务要素。需求变更时先定位受影响的任务要素,再沿追溯关系找到对应场景和用例,逐条判断是否需要修改。团队可以把用例与需求、任务建立关联来承载这层追溯,ONES 支持测试用例与需求、任务关联,测试计划与迭代关联,用例可按模块以树状结构组织,并支持自定义用例属性;具体配置以实际部署版本为准。追溯关系如果在编写阶段没有记录,变更时只能靠人工检索,成本会明显上升。
用例数量多、需要分批返工时,有什么组织方式?
可以按场景类型或模块给用例分组,把待返工项集中标记,分批处理。ONES 用例库支持按用例属性筛选、按模块树状组织,并支持从 Excel 批量导入和导出备份,适合在检查阶段快速定位待返工用例;具体能力范围以实际版本为准。分组时建议与检查清单的维度保持一致,例如按“预期结果待补充”“测试数据待构造”分类,返工完成后按同一维度复查,避免遗漏。
