阅读以下利用场景法设计测试用例的技术说明,回答问题1至问题5。
[说明]
现在的软件几乎都是由事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成了事件流。这种在软件设计方面的思想也可被引入到软件测试中,生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时测试用例也更容易得到理解和执行。
用例场景是通过描述流经用例的路径来确定的过程,这个流经过程要从用例开始到结束遍历其中所有基本流(基本事件)和备选流(分支事件)。以下表6-4是对某IC卡加油机应用系统基本流的描述,表6-5是对该IC卡加油机应用系统备选流的描述。
表6-4 基本流描述表
序号 | 用例名称 | 用例描述 |
A1 | 准备加油 | 客户将IC加油卡插入加油机 |
A2 | 验证加油卡 | 加油机从加油卡的磁条中读取账户代码,并检查它是否属于可以接收的加油卡 |
A3 | 验证黑名单 | 加油机验证卡账户是否存在于黑名单中,如果属于黑名单,则加油机吞卡 |
A4 | 输入购油量 | 客户输入需要购买的汽油数量 |
A5 | 加油 | 加油机完成加油操作,从加油卡中扣除相应金额 |
A6 | 返回加油卡 | 退还加油卡 |
表6-5 备选流描述表
序号 | 用例名称 | 用例描述 |
B | 加油卡无效 | 在基本汉A2过程中,该卡不能够识别或是非本机可以使用的IC 卡,加油机退卡,并退出基本流 |
C | 卡账户属于黑名单 | 在基本流A3过程中,判断该卡账户属于黑名单,例如,已经挂失, 加油机吞卡,退出基本流 |
D | 加油卡账面现金不足 | 系统判断加油卡内现金不足,重新加入基本流A4,或选择退卡 |
E | 加油机油量不足 | 系统判断加油机内油量不足,重新加入基本流A4,或选择退卡 |
[问题2] 场景中的每一个场景都需要确定测试用例,一般采用矩阵或决策表来确定和管理测试用例。表6-5是一种通用格式,表中各行代表各个测试用例,而各列代表测试用例的信息。本例中的测试用例包含测试用例ID号、场景(或说明/条件)、测试用例中涉及的所有数据元素(作为输人或已经存在于数据库中)以及预期结果等项目。 测试用例的设计步骤通常是:首先确定执行用例场景所需的数据元素(本例中包括账号、是否黑名单卡、输入油量、账面金额以及加油机油量),然后构建矩阵,最后确定包含执行场景所需的适当条件的测试用例。在表6-6的测试矩阵中,V表示有效数据元素,I表示无效数据元素,n/a表示不适用,例如CW01表示“成功加油”基本流。请按上述规定为其他应用场景设计测试用例矩阵。 表6-6 测试用例表
|
参考答案:
解析:参见本案例要点解析中的表6-17
这是一道要求读者掌握在场景法中设计测试用例的综合分析题。本题的分析思路如下:
①根据题干的描述可知,本案例中存在着以下五种场景。
场景1;基本流A;
场景2:基本流A、备选流B;
场景3:基本流A、备选流C;
场景4:基本流A、备选流D;
场景5:基本流A、备选流E。
②测试用例表(表6-6)已给出了场景1的测试用例,对于其他4行所填写的内容可以通过参照场景1的测试用例的解答思路进行。
③本案例中与场景2(AB)相关的描述有;
A2:验证加油卡。加油机从加油卡的磁条中读取账户代码,并检查它是否属于可以接收的加油卡。
B:加油卡无效。在基本流A2过程中,该卡不能够识别或是为非本机可以使用的IC卡,加油机退卡,并退出基本流。
由“备选流B(加油卡无效)”的描述提取出场景2(AB)的名称——“卡无效”,输入值是“账号无效”,预期结果是“退卡”。
④本案例中与场景3(AC)相关的描述有:
A2:验证加油卡。加油机从加油卡的磁条中读取账户代码,并检查它是否属于可以接收的加油卡。
A3:验证黑名单。加油机验证卡账户是否存在于黑名单中,如果属于黑名单,加油机吞卡。
C:卡账户属于黑名单。在墓本流A3过程中,判断该卡账户属于黑名单,例如:已经挂失,加油机吞卡并退出基本流。
由“备选流C(卡账户属于黑名单)”的描述提取出场景3(AC)的名称——“黑名单卡”,输入值是“帐号有效”和“黑名单卡”,预期结果是“吞卡”。
⑤基本流A1~A4、备选流D的相关描述与本案例中场景4(AD)有关。由“备选流D (加油卡账面现金不足)”的描述提取出场景4(AD)的名称——“金额不足”,其输入值为“帐号有效”、“非黑名单卡”、“输入购油量有效”、“加油机油量有效”、“账面金额无效”,预期结果是“提示错误,或重新输入购油量,或退卡”。
⑥基本流A1~A4、备选流E的相关描述与本案例中场景5(AE)有关。由“备选流E (加油机油量不足)”的描述提取出场景5(AE)的名称——“油量不足”,其输入值为“帐号有效”、“非黑名单卡”、“输入购油量有效”、“账面金额有效”、“加油机油量无效”,预期结果是“提示错误,或重新输入购油量,或退卡”。
⑦将以上分析结果按照试题中的规定——“V表示有效数据元素,I表示无效数据元素,n/a表示不适用”,归纳整理成如表6-17所示的测试用例表。
表6-17 测试用例表
测试用例 ID号 | 场景 | 账号 | 是否黑 名单卡 | 输入 油量 | 账面 金额 | 加油机 油量 | 预期 结果 |
CW01 | 场景1:成功加油 | Ⅴ | Ⅰ | Ⅴ | Ⅴ | Ⅴ | 成功加油 |
CW02 | 场景2:卡无效 | Ⅰ | n/a | n/a | n/a | n/a | 退卡 |
CW03 | 场景3:黑名单卡 | Ⅴ | Ⅴ | n/a | n/a | n/a | 吞卡 |
CW04 | 场景4:金额不足 | Ⅴ | Ⅰ | Ⅴ | Ⅰ | Ⅴ | 提示错误,或重新输入 购油量,或退卡 |
CW05 | 场景5:油量不足 | Ⅴ | Ⅰ | Ⅴ | Ⅴ | Ⅰ |