场景分析法
一. 定义
1. 概念
分析软件应用的场景,从用户的角度出发,从场景的角度来设计测试用例,是一种面向用户的测试用例设计方法。
关心用户做什么,而不是关心产品做什么
优点:实用性强,有效,设计出来的用例有价值
缺点:可能使用的场景不一定能对事件系列进行全面的分析,设计出来的用例不完整。
场景分析是通过描述流经用例路径来确定的过程,这个流经过程要从用例开始到结束遍历其中所有基本流 :直黑线表示基本流,是最基本、最简单的路径;(软件功能按照正确的事件流实现的一条正确流程无任何错,程序从开始直到结束)
遵循上图中每个经过用例的可能路径,可以确定不同的用例场景。从基本流开始,再将基本流和备选流结合起来,可以确定以下用例场景:
场景1 | 基本流 | |||
---|---|---|---|---|
场景2 | 基本流 | 备选流1 | ||
场景3 | 基本流 | 备选流1 | 备选流2 | |
场景4 | 基本流 | 备选流3 | ||
场景5 | 基本流 | 备选流3 | 备选流1 | |
场景6 | 基本流 | 备选流3 | 备选流1 | 备选流2 |
场景7 | 基本流 | 备选流4 | ||
场景8 | 基本流 | 备选流3 | 备选流4 |
注:为方便起见,场景 5、6 和 8 只描述了备选流 3 指示的循环执行一次的情况。
2. 用场景分析法设计测试用例的步骤:
1.根据说明,画出流程图,确定基本流和备选流;
2.根据基本流和各项备选流确定场景;
3.对每一个场景生成测试用例;
4.对生成的所有测试用例重新复审,去掉多余的测试用例,测试用例确定后,对每一个测试用例确定测试数据值。
二、案例
1. 需求
用户在线购物。选购物品后,进行在线购买。这是需要使用账号登录,登录成功进行付款交易,交易成功后生成订单,完成整个购物过程。
解:
( 1)确定基本流,备选流
基本流:选购—登录—付款—生成订单
备选流1:用户名不存在
备选流2:密码错误
备选流3:用户账户余额不足
备选流4:用户账户没钱
(2)根据基本流和备选流确定场景
场景1:购物成功(基本流)
场景2:用户名不存在(基本流,备选流1)
场景3:密码错误(基本流,备选流2)
场景4:账户余额不足(基本流,备选流3)
场景5:账户没钱(基本流,备选流4)
(3)每一个场景生成对应的测试用例
测试用例ID | 场景 | 用户名 | 密码 | 账户余额 | 预期结果 |
---|---|---|---|---|---|
1 | 1.成功购物 | V | V | V | 成功购物 |
2 | 2.用户名不存在 | I | n/a | n/a | 提示账号不存在 |
3 | 3.密码错误 | V | I | n/a | 提示密码错误,返回登录步骤 |
4 | 4.余额不足 | V | V | I | 提示账户余额不足,请充值 |
5 | 5.账户没钱 | V | V | I | 提示账户没钱,请充值 |
- V 表示这个条件必须是有效才能执行基本流
- I 表示在该种条件下激活备选流
- n/a 表示这个条件不使用测试用例
(4)设计测试数据
测试用例ID | 场景 | 用户名 | 密码 | 账户余额 | 预期结果 |
---|---|---|---|---|---|
1 | 1.成功购物 | User | Psw | 1024 | 成功购物 |
2 | 2.用户名不存在 | 1 | n/a | n/a | 提示账号不存在 |
3 | 3.密码错误 | User | 1 | n/a | 提示密码错误,返回登录步骤 |
4 | 4.余额不足 | User | Psw | 1 | 提示账户余额不足,请充值 |
5 | 5.账户没钱 | User | Psw | 0 | 提示账户没钱,请充值 |
2.分析
what?
分析软件应用场景,从用户角度出发,从场景角度设计测试用例,是一种面向用户的测试用例设计方法。
- 基本流:经过用例的最简单路径(正常流程)
- 备选流:一个备选流可以从基本流开始,在某个特定条件下执行,然后重新加入基本流中;也可以起源于另一个备选流,或终止用例。(当备选流不再加入基本流时,备选流一般为错误流程)
why?
从用户角度出发,是一种面向用户的测试用例设计方法。
how?
1.根据需求,描述出程序的基本流以及各项备选流
2.根据基本流和各项备选流生成不同的场景
3.对每一个场景生成相应的测试用例
4.对生成的测试用例重新复审,去掉多余的测试用例
5.测试用例确定后,为每一个测试用例确定测试数据值
备注:
1. 转载于网络