场景法.doc
《场景法.doc》由会员分享,可在线阅读,更多相关《场景法.doc(3页珍藏版)》请在冰点文库上搜索。
一.场景法简介
现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。
这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。
场景法一般包括基本流和备选流,如下图所示。
从一个流程开始,图中经过用例的每条路径都可以用基本流和备选流来表示。
直黑线表示基本流,是经过用例的最简单的路径。
备选流用不同的色彩表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2和4)。
二、场景的生成:
考虑用例从开始到结束可能的所有基本流和备选流的组合,都可能组成场景。
例如,上图的场景包括:
1)基本流;
2)基本流,备选流1;
3)基本流,备选流3;
4)基本流,备选流4;
5)基本流,备选流1,备选流2;
6)基本流,备选流1,备选流3;
7)基本流,备选流1,备选流4。
8)基本流,备选流3,备选流4;
9)基本流,备选流1,备选流2,备选流3;
10)基本流,备选流1,备选流3,备选流4;
场景法的设计步骤如下:
1)根据说明,描述出程序的基本流及各项备选流。
2)根据基本流和各项备选流生成不同的场景。
3)对每一个场景生成相应的测试用例。
4)对生成的所有测试用例重新审查,去掉多余的测试用例,确定测试用例后,为每一个测试用例确定测试数据值。
三、实例
一)用户在一个在线购物网站购物,需要成功登录到系统,选购后在线购买,在线上支付。
支付成功后生成订单,完成购物。
1、根据说明,描述出程序的基本流及各项备选流。
场景如下:
备选流4
输入账号密码登录
选购
支付
购买成功
基本流
账号不存在
密码不正确
货物缺货
账户余额不足
登录失败
支付失败
备选流1
备选流2
备选流3
2、根据基本流和各项备选流生成不同的场景。
场景1:
基本流
场景2:
基本流,备选流1
场景3:
基本流,备选流2
场景4:
基本流,备选流3
场景5:
基本流,备选流4
3、对每一个场景生成相应的测试用例。
假如存在一个合法账号用户名为abc,密码为123,账户余额为200。
用例如下:
用例id
场景/条件
账号
密码
操作
预期结果
1
成功购物
abc
123
登录系统,选购一个有库存、价值为50的货物
支付成功,生成订单
2
账号不存在
aaa(假设此账号不存在)
n/a
登录系统
登录失败
3
密码错误
abc
345
登录系统
登录失败
4
货物缺货
abc
123
登录系统,选购一个无库存、价值为50的货物
提示货物无库存,需重新选购
5
余额不足
abc
123
登录系统,选购一个有库存、价值为500的货物
提示余额不足,购买失败
二)ATM机
1、ATM机工作的场景如下:
插卡
输入密码
验证成功
取款操作
输入取款金额
出钞
打印凭条
退卡
卡无效
账号不存在
密码错误(3次以内)
ATM已无现金
账户余额不足
ATM现金不足
超过提款额度
密码错误(超过3次)
备选流1
备选流2
备选流3
备选流4
备选流5
备选流6
备选流7
备选流8
基本流
2、根据基本流和各项备选流生成不同的场景。
场景1:
基本流
场景2:
。
。
。
。