Yaitza

用例设计之场景法

现在的软件几乎都是用实践触发来控制流程,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果形成了事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试用例的设计,同时使测试用例更容易理解和执行。
用例场景用例描绘流经测试用例的路劲,从用例开始到结束遍历这条路劲上所有基本流和备选流。

1. 基本流和备选流

如下图所示,图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路劲。备选流用不同的彩色表示,一个备选流可能从基本流开始,在特定条件下执行,然后重新加入基本流中(如备选流1和3);也可能起源于另一个备选流(备选流2),或者终止用例而不再重新加入到某个流(如备选流2和4)。
ScenceMethod
如上图所示的每个经过用例的路劲,可以确定一下不同的用例场景。

1
2
3
4
5
6
7
8
场景1:基本流;
场景2:基本流,备选流1;
场景3:基本流,备选流1,备选流2;
场景4:基本流,备选流3;
场景5:基本流,备选流3,备选流1;
场景6:基本流,备选流3,备选流1,备选流2;
场景7:基本流,备选流4;
场景8:基本流,备选流3,备选流4。

2. 用户登录示例

2.1 示例描述

示例为常规的网站登录操作,如下为所示用例的基本流和某些备选流。
ScenceMethod2

2.2 场景设计

场景描述 基本流 备选流
场景1-登录成功 基本流
场景2-输入验证 基本流 备选流1
场景3-验证码校验 基本流 备选流2
场景4-用户不存在验证 基本流 备选流3
场景5-密码验证 基本流 备选流4

2.3 用例设计

对于这5个场景的每一个场景都需要确定测试用例,一般采用矩阵或决策表来确定和管理测试用例。如下表所示为一种通用格式,其中行代表各个测试用例,列代表测试用例的信息。本例中的测试用例包含测试用例ID,场景/条件,测试用例中涉及的所有数据元素和预期结果等项目。首先确定执行用例场景所需的数据元素,然后构建矩阵,最后要确定包含执行场景所需的适当条件的测试用例。在下面的矩阵中,V表示这个条件必须有效的才可执行基本流,I表示这种条件下将激活所需备选流,n/a表示这个条件不适用与测试用例。

TC(测试用例)ID号 场景/条件 验证码 用户名 密码 预期结果
TC1 场景1-登录成功 V V V 登录成功
TC1 场景2-输入验证 I I I 提示登录信息输入完整
TC1 场景3-验证码校验 I V V 提示验证码错误
TC1 场景4-用户不存在验证 V I V 提示用户名或密码错误
TC1 场景5-密码验证 V V I 提示用户名或密码错误
🐶 您的支持将鼓励我继续创作 🐶