主要模拟真实使用场景来进行测试。通过设计和执行各种场景来模拟用户的操作行为
场景法也分为:
- 基本流:也叫有效流或正确流,模拟用户正确的业务操作流程
- 备选流:也叫无效流或错误流,模拟用户错误的业务操作流程
基本流一般采用直黑线表示,是经过用例的最简单路径,无任何差错,程序从开始直接执行到结束;备选流则采用不同颜色表示。一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中,也可以起源于另一个备选流,或终止用例,不再加入到基本流中,备选流一般代表了各种错误情况。
上图展示了一个场景的示例图,在下图中,有一个基本流和 4 个备选流。每个经过的可能路径可以确定不同的用例场景。从“用例开始”到“用例结束”,遍历所有的路径,可以确定以下 8 个用例场景。
- 场景1:基本流
- 场景2:基本流 备选流1
- 场景3:基本流 备选流1 备选流2
- 场景4:基本流 备选流4
- 场景5:基本流 备选流3 备选流4
- 场景6:基本流 备选流3 备选流1 备选流2
- 场景7: 基本流 备选流3 备选流1
- 场景8:基本流 备选流3
识别基本和备选流原则
- 一个业务只存在一个基本流;
- 基本流只有一个起点,一个终点;
- 基本流是主流,备选流是支流;
- 备选流可以起始于基本流,也可以起始于其它的备选流;
- 备选流的终点,可以是一个流程出口,也可以是回到基本流,还可以是汇入其它的备选流;
- 如果在流程图中出现了两个不相上下的基本流,一般需要把它们分开对待。
场景法基本设计步骤
- 根据需求说明,分析出程序的基本流以及各项备选流;
- 根据基本流和各项备选流生成不同的场景;
- 对每一个场景生成相应的测试矩阵;
- 生成测试用例,去掉多余的测试用例,并确定测试数据值。
案例
图书管理系统
参与者动作 | 系统动作 |
1.卡办理人员在注册界面中录入读者的登记信息 | 2.系统对录入信息进行有效性检验 |
3.系统验证读者注册证件号具有唯一性 | |
4.卡办理人员录入借阅卡卡号,并收取押金,确认信息提交 | 5.系统验证卡号的有效性 |
6.系统向读者信息表中增加一条读者信息,并将借阅卡卡号与读者进行对应后显示成功界面 | |
7.卡办理人员将借阅卡和押金收据交于读者 |
分支流程有:
2a.系统检查录入信息存在问题,则提示用户相应信息,系统返回到注册界面
3a.系统发现读者有效证件号已经存在于已注册的读者信息中,则提示用户“该证件号已经被注册”,系统返回原有注册界面。
4a.卡办理人员取消办卡过程,则系统提示用户是否确实要取消操作
- 如果卡办理人员确认“取消”操作,则系统返回到初始注册界面
- 如果卡办理人员取消“取消”操作,则系统保持原有注册界面
5a.系统发现卡号无效,提示重新输入。
根据以上分析,确定基本流和备选流,如下表所示
基本流 | 录入信息有效性检查、证件号的唯一性检查、卡号的有效性检查、生成借阅关系 |
---|---|
备选流 1 | 录入信息存在问题 |
备选流 2 | 证件号已注册 |
备选流 3 | 取消办卡操作 |
备选流 4 | 卡号无效 |
生成注册用户的场景,如下表所示
场景描述 | 基本流 | 备选流 |
---|---|---|
场景 1:成功注册 | 基本流 | |
场景 2:信息存在问题 | 基本流 | 备选流 1 |
场景 3:证件号已注册 | 基本流 | 备选流 2 |
场景 4:取消办卡操作 | 基本流 | 备选流 3 |
场景 5:卡号无效 | 基本流 | 备选流 4 |
生成测试矩阵,如下图所示。
!
登录流程
分析题目,列出基本流和备选流。如下表所示。
登录的基本流和备选流 | |
---|---|
基本流 | 进入登录->输入有效的用户名->输入正确的密码->输入正确的验证码->点击【登录】按钮,成功登录 |
备选流1 | 上次选择自动登录,通过验证,成功登录 |
备选流2 | 上次未选择自动登录,用户名无效 |
备选流3 | 上次未选择自动登录,密码错误,还有输入机会 |
备选流4 | 上次未选择自动登录,验证码错误 |
备选流5 | 上次未选择自动登录,密码错误,没有输入机会 |
备选流6 | 上次未选择自动登录,忘记密码 |
生成“登录系统”的场景,如下图所示。
完成登录系统的用例矩阵
V 表示这个条件必须是有效的才可执行基本流,I 表示条件无效,n/a 表示这个条件不适用于测试用例。
登录系统测试矩阵 | |||||||
---|---|---|---|---|---|---|---|
编号 | 场景 | 自动登录 | 用户名 | 密码 | 验证码 | 忘记密码 | 预期结果 |
TC-001 | 正常登录 | I | V | V | V | I | 成功登录 |
TC-002 | 自动登录 | V | n/a | n/a | V | I | 成功登录 |
TC-003 | 用户名无效 | I | n/a | n/a | n/a | I | 提示:用户名无效 |
TC-004 | 密码错误,有输入机会 | I | V | I | n/a | I | 提示:密码错误 |
TC-005 | 非自动登录,验证码错误 | I | V | V | I | I | 提示:验证码错误 |
TC-006 | 密码错误,没有输入机会 | I | V | I | n/a | I | 提示:密码错误 锁定账户 |
TC-007 | 忘记密码 | I | n/a | n/a | n/a | V | 出现忘记密码界面 |
TC-008 | 自动登录,验证码错误 | V | n/a | n/a | I | I | 提示:验证码错误 |
编写登录的测试用例
总结
当程序界面上没有太多填写项,主要通过鼠标的点击、双击、拖拽等完成操作的时候可以使用场景法。使用场景法时,可以把自己当作最终的用户,分析在使用该软件的时候可能遇到的场景,主要是验证业务流程、主要功能的正确性和异常处理能力。