测试用例设计——场景法

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。

通过运用场景来对系统的功能点或业务流程进行描述,从而提高测试效果。场景法一般包含基本流和备用流,从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备用流来完成整个场景。

基本流和备选流:如下图所示,图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的色彩表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2和4)。
测试用例设计——场景法
测试用例设计——场景法
基本流和备选流的识别原则:
1、一个业务只存在一个基本流
2、基本流只有一个起点,一个终点
3、基本流是主流程,备选流是分支流程
4、备选流的终点,可以是一个流程的出口,也可以回到基本流,还可以汇入其它的备选流
5、备选流汇合时,谁汇合到谁,取决于该流程出现的可能性大小,小的汇入大的
6、如果在流程图中出现了两个不相上下的基本流,一般需要分成两个两个业务看待

场景法的设计步骤如下:
1、根据需求说明,描述出程序的基本流及各条备选流
2、根据基本流和备选流生成不同的场景
3、对每个场景生产相应的测试用例
4、重新复审一遍所有测试用例,去掉部分多余的以及实际业务当中不太可能发生的,测试用例确定后,对每一个测试用例确定测试数据值

基于场景的测试一般是在SIT/UAT阶段,在功能测试之后进行。测试场景是基于用户需求分析设计得出的,站在用户角度描述用户与系统的各种交互;所以功能测试关注的重点是系统功能特征(各种正常和异常分支),场景测试关注的是业务流程、业务场景或事务,关注的重点不同,分析设计的方法也有差异。

例:下面是对网上银行支付交易系统的基本流和备选流的描述:
测试用例设计——场景法
测试用例设计——场景法
注:假定输入的银行卡号是正确的;不考虑备选流内循环情况。

使用场景法设计测试用例,指出所涉及到的基本流和备选流。基本流用字母A表示,备选流用题干中描述对应编号表示。

1、先按照题目要求画出所有的基本流和备选流
测试用例设计——场景法
2、场景设计:下表所示是生成的场景。
场景1:A1-A2-A3-A4-A5-A6
场景2:A1-A2-A3-B
场景3:A1-A2-A3-A4-C
场景4:A1-A2-A3-A4-A5-D
场景5:A1-A2-A3-B-A2-A3-A4-C
场景6:A1-A2-A3-B-A2-A3-A4-A5-D

3、用例设计
测试用例设计——场景法
V(有效)用于表明这个条件必须是 VALID(有效的)才可执行基本流;I(无效)用于表明这种条件下将**所需备选流;“N/a”(不适用)表明这个条件不适用于测试用例。