用例是什么
用例描述参与者为达成某个目标与系统完成的一次完整交互,重点是交互步骤与结果,而不是界面元素。Cockburn 把它按目标层级分为摘要级、用户目标级与子功能级,日常需求澄清重点写用户目标级:一次坐下来的完整任务。用例描述通常包含参与者、目标、前置条件、主成功场景、扩展场景与后置条件,主成功场景写顺利路径,扩展场景写异常与分支的处理。
描述要素
| 要素 | 说明 | 示例片段 |
|---|---|---|
| 参与者 | 发起交互的角色或外部系统 | 已注册用户 |
| 前置条件 | 开始前必须成立的假设 | 用户已登录且账户状态正常 |
| 主成功场景 | 顺利情况下的编号交互步骤 | 1 提交订单号 2 校验归属 3 返回详情 |
| 扩展场景 | 异常与分支的处理路径 | 2a 订单号不存在则提示错误并记录日志 |
| 后置条件 | 结束后系统保证的状态 | 查询日志已记录,业务数据未被修改 |
基本信息
| 目标层级 | 摘要级、用户目标级、子功能级 |
|---|---|
| 粒度上限 | 用户目标级用例通常控制在 3 至 10 个主要步骤 |
| 写法要点 | 用业务语言描述步骤,不写界面控件与接口名 |
| 与其他产物 | 用例图给全景,用例描述给细节,活动图补充复杂分支 |
| 适用场景 | 业务规则复杂、异常路径多的流程型系统 |
典型使用场景
- 复杂业务流程澄清:把跨部门审批、退换货等流程逐步骤写清
- 需求评审:业务方按步骤确认,比逐条功能清单更贴近真实使用
- 测试设计:主成功场景派生正常用例,扩展场景直接派生异常用例
- 外包与验收:以用例为单位约定交付范围与验收口径
- 新人培训:用例是理解业务规则的入门材料
- 系统改造前:用现有用例梳理真实流程,避免按代码结构臆测业务
用例与用户故事的粒度不同:用例强调完整的交互序列与异常分支,故事强调可独立交付并产生价值的小切片,一个用例常由多条故事分阶段实现。
把用例写成界面操作手册(点击哪个按钮、弹出哪个窗口)会随界面改版迅速失效,应描述业务意图与系统职责。