场景法就是模拟用户操作软件时的场景,主要用于测试系统的业务流程。

测试不能只关注某个控件的边界值、等价类是否满足要求,也要关注它的主要功能和业务流程是否正确实现,这时就需要使用场景法来完成。

场景法

用例场景是用来描述流经用例路径的过程,这个过程从开始到结束遍历用例中所有基本流和备选流。

基本流:按照正确的业务流程来实现的一条操作路径即模拟正确的操作流程。

备选流:导致程序出现错误的操作流程即模拟错误的操作流程。

现在的产品几乎都是由事件触发来控制流程的,事件触发时的情景便成了场景,而同一事件不同的出发顺序和处理结果便形成了事件流。

在使用场景法设计测试用例时,需要覆盖系统用例中的主成功场景和扩展场景,并且需要适当补充各种正反面的测试用例以及考虑出现异常场景的情形。

场景法用例设计步骤

设计场景用例首先需要根据需求规格说明得出功能模块流程图,描述出程序的基本流及备选流,其次根据基本流和备选流生成不同的场景,构造场景列表,最后对每一个场景生成相应的测试用例,对所有的测试用例重新复审,去掉多余的测试用例。确定测试用例之后,为每一个测试用例确定测试的数据值即可完成场景用例的设计。

实例

对淘宝网通过购物车购物的流程设计测试用例。

画流程图

整个业务通过流程图来表示如下图所示:

确定基本流和备选流

基本流

进入淘宝首页

浏览商品

进入单品页

选择商品规格和数量

加入购物车

前往购物车

选择商品

结算,进入确定订单页

提交订单

付款成功

等待收获

确认收货

备选流

加入购物车时,不选择商品规格和型号,返回基本流第 4 步。

加入购物车时,商品库存不足,返回基本流第 4 步。

加入购物车时,未登录,登录后返回基本流第 3 步。

加入购物车后,继续选购,返回基本流第 4 步。

加入购物车,未选择商品,结算,返回基本流第 7 步。

支付失败,返回基本流第 8 步。

未选择商品加入购物车,退出购物,结束。

构造场景

登录后成功购物(基本流)

未选择商品规格和型号就添加购物车(基本流 + 备选流 1)

选择的商品库存不足(基本流 + 备选流 2)

未登录添加购物车(基本流 + 备选流 3)

商品添加购物车后继续购物(基本流 + 备选流 4)

进入购物车,未选择商品直接结算(基本流 + 备选流 5)

支付过程出错(基本流 + 备选流 6)

没有添加商品到购物车(基本流 + 备选流 7)

生成测试用例



最终生成的测试用例如上表所示,这种利用场景法设计出来的测试用例一般是对于等价类和边界值的补充,通常情况下是比较完善的。