注:为方便起见,场景 5、6 和 8 只描述了备选流 3 指示的循环执行一次的情况。
生成每个场景的测试用例是通过确定某个特定条件来完成的,这个特定条件将导致特定用例场景的执行。
例如,假定上图描述的用例对备选流 3 规定如下:
“如果在上述步骤 2‘输入提款金额’中输入的美元量超出当前帐户余额,则出现此事件流。系统将显示一则警告消息,之后重新加入基本流,再次执行上述步骤 2‘输入提款金额’,此时银行客户可以输入新的提款金额。”
据此,可以开始确定需要用来执行备选流 3 的测试用例:
测试用例ID | 场景 | 条件 | 预期结果 |
TC x | 场景 4 | 步骤 2 - 提款金额 > 帐户余额 | 在步骤 2 处重新加入基本流 |
TC y | 场景 4 | 步骤 2 - 提款金额 < 帐户余额 | 不执行备选流 3,执行基本流 |
TC z | 场景 4 | 步骤 2 - 提款金额 = 帐户余额 | 不执行备选流 3,执行基本流 |
注:由于没有提供其他信息,以上显示的测试用例都非常简单。测试用例很少如此简单。
下面是一个由用例生成测试用例的更符合实际情况的示例。
示例:
一台 ATM 机器的主角和用例。
下表包含了上图中提款用例的基本流和某些备用流:
本用例的开端是 ATM 处于准备就绪状态。
用例结束时 ATM 又回到准备就绪状态。 |
|
备选流 1 - 银行卡无效 | 在基本流步骤 2 中 - 验证银行卡,如果卡是无效的,则卡被退回,同时会通知相关消息。 |
备选流 2 - ATM 内没有现金 | 在基本流步骤 5 中 - ATM 选项,如果 ATM 内没有现金,则“提款”选项将无法使用。 |
备选流 3 - ATM 内现金不足 | 在基本流步骤 6 中- 输入金额,如果 ATM 机内金额少于请求提取的金额,则将显示一则适当的消息,并且在步骤 6 - 输入金额处重新加入基本流。 |
备选流 4 - PIN 有误 |
在基本流步骤 4 中- 验证帐户和 PIN,客户有三次机会输入 PIN。 如果 PIN 输入有误,ATM 将显示适当的消息;如果还存在输入机会,则此事件流在步骤 3 - 输入 PIN 处重新加入基本流。 如果最后一次尝试输入的 PIN 码仍然错误,则该卡将被 ATM 机保留,同时 ATM 返回到准备就绪状态,本用例终止。 |
备选流 5 - 帐户不存在 | 在基本流步骤 4 中 - 验证帐户和 PIN,如果银行系统返回的代码表明找不到该帐户或禁止从该帐户中提款,则 ATM 显示适当的消息并且在步骤 9 - 返回银行卡处重新加入基本流。 |
备选流 6 - 帐面金额不足 | 在基本流步骤 7 - 授权中,银行系统返回代码表明帐户余额少于在基本流步骤 6 - 输入金额内输入的金额,则 ATM 显示适当的消息并且在步骤 6 - 输入金额处重新加入基本流。 |
备选流 7 - 达到每日最大的提款金额 | 在基本流步骤 7 - 授权中,银行系统返回的代码表明包括本提款请求在内,客户已经或将超过在 24 小时内允许提取的最多金额,则 ATM 显示适当的消息并在步骤 6 - 输入金额上重新加入基本流。 |
备选流 x - 记录错误 | 如果在基本流步骤 10 - 收据中,记录无法更新,则 ATM 进入“安全模式”,在此模式下所有功能都将暂停使用。同时向银行系统发送一条适当的警报信息表明 ATM 已经暂停工作。 |
备选流 y - 退出 | 客户可随时决定终止交易(退出)。交易终止,银行卡随之退出。 |
备选流 z - “翘起” | ATM 包含大量的传感器,用以监控各种功能,如电源检测器、不同的门和出入口处的测压器以及动作检测器等。在任一时刻,如果某个传感器被激活,则警报信号将发送给警方而且 ATM 进入“安全模式”,在此模式下所有功能都暂停使用,直到采取适当的重启/重新初始化的措施。 |
|