问答题
阅读以下利用场景法设计测试用例的技术说明,回答问题1至问题5。
[说明]
现在的软件几乎都是由事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成了事件流。这种在软件设计方面的思想也可被引入到软件测试中,生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时测试用例也更容易得到理解和执行。
用例场景是通过描述流经用例的路径来确定的过程,这个流经过程要从用例开始到结束遍历其中所有基本流(基本事件)和备选流(分支事件)。以下表6-4是对某IC卡加油机应用系统基本流的描述,表6-5是对该IC卡加油机应用系统备选流的描述。
{{B}} 表6-4 基本流描述表{{/B}}
序号
用例名称
用例描述
A1
准备加油
客户将IC加油卡插入加油机
A2
验证加油卡
加油机从加油卡的磁条中读取账户代码,并检查它是否属于可以接收的加油卡
A3
验证黑名单
加油机验证卡账户是否存在于黑名单中,如果属于黑名单,则加油机吞卡
A4
输入购油量
客户输入需要购买的汽油数量
A5
加油
加油机完成加油操作,从加油卡中扣除相应金额
A6
返回加油卡
退还加油卡

{{B}}                            表6-5 备选流描述表{{/B}}
序号
用例名称
用例描述
B
加油卡无效
  在基本汉A2过程中,该卡不能够识别或是非本机可以使用的IC
卡,加油机退卡,并退出基本流
C
卡账户属于黑名单
  在基本流A3过程中,判断该卡账户属于黑名单,例如,已经挂失,
加油机吞卡,退出基本流
D
加油卡账面现金不足
  系统判断加油卡内现金不足,重新加入基本流A4,或选择退卡
E
加油机油量不足
  系统判断加油机内油量不足,重新加入基本流A4,或选择退卡
问答题
[问题1]
图6-9是对该IC卡加油机应用系统的基本流路径和备选流路径的描述,请用题干中描述的相应字每将图中(1)~(6)空缺处的内容填写完整。
【正确答案】
【答案解析】B (2)C (3)A4 (4)A5 (5)D、E (6)D、E 这是一道要求读者掌握场景法的基本流、备选流路径描述的应用分析题。本题的解答思路如下: ①经过用例的每条不同路径都反映了基本流和备选流,都用箭头来表示。基本流用粗直黑线来表示,是经过用例的最简单的路径。图6-9中粗直黑线就是对该IC卡加油机应用系统基本流路径的描述。 ②再根据表6-3中A1~A6各个基本流的描述和描述顺序,以及图6-9中已给出的基本流A1、A2、A3、A6的路径位置可知,图6-9中(3)空缺处填写的内容应为“A4(输入购油量)”,(4)空缺处填写的内容应为“A5(加油)”。 ③备选流用不同的彩色曲线表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中;也可能起源于另一个备选流,或者终止用例而不再重新加入某个流。 ④根据表6-5中备选流B的描述“在基本流A2过程中,该卡不能够识别或是非本机可以使用的IC卡,加油机退卡,并退出基本流”可知,备选流B的路径起源于基本流A2,终点是基本流A6(退还加油卡)。因此图6-9中(1)空缺处填写的内容就是“B(加油卡无效)”。 ⑤同理,根据表6-5中备选流C的关键描述“在基本流A3过程中,判断该卡账户属于黑名单,加油机吞卡,退出基本流”可知,备选流C的路径起源于基本流A3,终点是基本流A6(退还加油卡)。因此图6-9中(2)空缺处填写的内容就是“C(卡账户属于黑名单)”。 ⑥备选流D(加油卡账面现金不足)的描述“系统判断加油卡内现金不足,重新加入基本流A4,或选择退卡”中,“系统判断加油卡内现金不足”是指当客户输入需要购买的汽油数量时,该IC卡加油机应用系统将准备购买的汽油数量乘与单位油价得到需支付的费用,并将此费用与客户加油卡内的现金进行比较后的一种可能结果。因此备选流D的路径起源于基本流A4(输入购油量)之后,基本流A5(加油)之前。由备选流D的描述“重新加入基本流A4,或选择退卡”可知,备选流D的路径终点可能是基本流A4,以便重新进行购油量的输入,也可能是基本流A6(退还加油卡)。因此需将D(加油卡账面现金不足)的内容同时填入图6-9中(5)、(6)空缺处。 ⑦备选流E(加油机油量不足)的描述“系统判断加油机内油量不足,重新加入基本流 A4,或选择退卡”中,“系统判断加油机内油量不足”是指当客户输入需要购买的汽油数量时,该IC卡加油机应用系统将准备购买的汽油数量与系统加油机内现存的汽油数量进行比较后的一种可能结果。因此备选流E的路径起源于基本流A4(输入购油量)之后,基本流A5(加油)之前。备选流E的路径终点可能是基本流A4,以便重新进行购油量的输入,也可能是基本流A6(退还加油卡)。因此需将E(加油机油量不足)的内容也同时填写入图 6-9中(5)、(6)空缺处。
问答题
[问题2]
场景中的每一个场景都需要确定测试用例,一般采用矩阵或决策表来确定和管理测试用例。表6-5是一种通用格式,表中各行代表各个测试用例,而各列代表测试用例的信息。本例中的测试用例包含测试用例ID号、场景(或说明/条件)、测试用例中涉及的所有数据元素(作为输人或已经存在于数据库中)以及预期结果等项目。
测试用例的设计步骤通常是:首先确定执行用例场景所需的数据元素(本例中包括账号、是否黑名单卡、输入油量、账面金额以及加油机油量),然后构建矩阵,最后确定包含执行场景所需的适当条件的测试用例。在表6-6的测试矩阵中,V表示有效数据元素,I表示无效数据元素,n/a表示不适用,例如CW01表示“成功加油”基本流。请按上述规定为其他应用场景设计测试用例矩阵。
{{B}} 表6-6 测试用例表{{/B}}
测试用例ID号
场景
账号
是否黑名单卡
输入油量
账面金额
加油机油量
预期结果
CW01
场景1:成功加油
成功加油
CW02
CW03
CW04
CW05
【正确答案】
【答案解析】参见本案例要点解析中的表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所示的测试用例表。
{{B}} 表6-17 测试用例表{{/B}}
测试用例
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:油量不足
问答题
[问题3]
对于基本流A来说,表6-6所示中哪些测试用例属于正面测试用例,哪些测试用例属于负面测试用例。请用表6-6中相应的“测试用例ID号”回答问题。
【正确答案】
【答案解析】正面测试用例CW01 负面测试用例CW02~CW05 这是一道要求读者掌握根据具体应用环境区分场景法中正面/负面测试用例的分析题。本题的解答思路如下: ①将问题1的分析结果归纳整理为如图6-15所示的场景路径的描述图。 ②在图6-15中,对于基本流A来说,测试用例 CW01一直沿着用例的基本流路径执行,未发生任何偏差,因此该测试用例是基本流A的正面测试用例。
问答题
[问题4]
请在150字以内简要说明以表6—6所示的方法创建测试用例矩阵的优点。
【正确答案】
【答案解析】容易看到测试的是什么条件,无需为条件输入任何实际的值,只需查看表中的V和I项就能判断是否已经确定了充足的测试用例 这是一道要求读者说明测试用例矩阵优点的简答题。本题所涉及的知识点有: ①用表6-6所示的方法创建测试用例矩阵时,无需为条件输入任何实际的值,只需查看表中的V和I项就能判断是否已经确定了充足的测试用例。即用表6-6所示的方法创建测试用例矩阵的优点在于容易看到测试的是什么条件。 ②从表6-17中可以看出,数据元素“输入油量”仅有“V”项,缺少“I”项(例如输入“-1”等情况),这表明表6-17的测试用例还不完整。
问答题
[问题5]
假如加油机内油量足够,油价为5元/升,用户的账户金额为800元,那么在基本流 A4输入油量的过程中,请运用边界值分析方法为A4选取合适的输人数据(即油量,单位为升)。
【正确答案】
【答案解析】0升、160升、161升 这是一道要求读者应用边界值法设计测试用例的分析题。本题的解答思路如下: ①边界值分析法是一种黑盒测试方法,是对等价类分析方法的一种补充。选择其测试用例取值的原则有:如果输入条件规定了值的范围,则应该取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据;如果输入条件规定了值的个数,则用最大个数、最小个数、比最大个数多1个以及比最小个数少1个的数做为测试数据;如果程序的规格说明给出的输入域或输出域是有序集合(如有序表、顺序文件等),则应选取集合的第一个和最后一个元素作为测试用例;如果程序用了一个内部结构,则应该选取这个内部数据结构的边界值作为测试用例,分析规格说明,找出其他可能的边界条件。 ②由“油价为5元/升,用户的账户金额为800元”可计算出用户合理的购油量输入范围是0~160升。 ③本案例边界值法的取值原则可按照取最小值、最大值、比最小值稍小的值和比最大值稍大的值进行。 ④因此,用边界值法设计基本流A4输入油量的测试数据是最小值0升,(由于比。小的数是负数,不符合现实意义,因此不取),最大值160升,比最大值稍大的161升。