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