以上测试用例只是在本次迭代中需要用来验证提款用例的一部分测试用例。需要的其他测试用例包括:
场景 6 - 帐户不存在/帐户类型有误:未找到帐户或帐户不可用
场景 6 - 帐户不存在/帐户类型有误:禁止从该帐户中提款
场景 7 - 帐户余额不足:请求的金额超出帐面金额
在将来的迭代中,当实施其他事件流时,在下列情况下将需要测试用例:
无效卡(所持卡为挂失卡、被盗卡、非承兑银行发卡、磁条损坏等)
无法读卡(读卡机堵塞、脱机或出现故障)
帐户已消户、冻结或由于其他方面原因而无法使用
ATM 内的现金不足或不能提供所请求的金额(与 CW3 不同,在 CW3 中只是一种币值不足,而不是所有币值都不足)
无法联系银行系统以获得认可
银行网络离线或交易过程中断电
在确定功能性测试用例时,确保满足下列条件:
已经为每个用例场景确定了充足的正面和负面测试用例。
测试用例可以处理用例所实施的所有业务规则,确保对于业务规则,无论是在内部、外部还是在边界条件/值上都存在测试用例。
测试用例可以处理所有事件或动作排序(如在涉及模型的序列图中确定的内容),还应能处理用户界面对象状态或条件。
测试用例可以处理为用例所指定的任何特殊需求,如最佳/最差性能,有时这些特殊需求会与用例执行过程中的最小/最大负载或数据容量组合在一起。
八、从补充规约中生成测试用例
并不是所有的测试目标需求都将在用例中有所反映。非功能性需求(如性能、安全性和访问控制)以及配置要求等将会说明测试目标的其他行为或特征。补充规约是为其他行为生成测试用例的主要来源。
关于如何生成这些其他测试用例的指南说明如下:
为性能测试生成测试用例
为安全性/访问控制测试生成测试用例
为配置测试生成测试用例
为安装测试生成测试用例
为其他非功能性测试生成测试用例
为性能测试生成测试用例
性能测试用例的主要输入是补充规约,补充规约中包含了非功能性需求(请参见工件:补充规约)。为性能测试生成测试用例时,请使用下列指南:
对于补充规约内阐明性能标准的各条说明都应确保至少要确定一个测试用例。性能标准通常表示为时间/事务、事务量/用户或百分数的形式。
对每个关键用例,都应确保至少要确定一个测试用例。关键用例是在上述说明中和/或在工作量分析文档中确定的、必须采用性能评测方法来评估的用例(请参见工件:工作量分析文档)。
与功能性测试的测试用例类似,通常对于每个用例/需求都会存在不止一个测试用例。常见的情况是:存在一个低于性能阈值的测试用例、一个处于阈值上的测试用例,还有一个测试用例高于阈值。
除了以上性能标准以外,确保已确定影响响应时间的特定条件,包括:
数据库的大小 - 存在多少个记录?
工作量 - 同时执行操作的最终用户的数量和类型,以及要同时执行的事务的数量和类型
环境特征(硬件、网件以及软件配置)
将用于性能测试的测试用例记录在类似于功能测试所使用的矩阵中。
以下是各种性能测试的一些示例:
对于负载测试:
TC(测试用例)ID 号 | 工作量 |
条件
|
预期结果 |
PCW1. |
1 (单个 ATM) |
完成提款交易 |
全部交易(不依赖于主角的时间)在 20 秒之内完成 |
PCW2. |
2 (1,000 个同时运行的 ATM) |
完成提款交易 |
全部交易(不依赖于主角的时间)在 30 秒之内完成 |
PCW3. |
3 (10.000 个同时运行的 ATM) |
完成提款交易 |
全部交易(不依赖于主角的时间)在 50 秒之内完成 |