软件测试用例设计方法-场景法

前言

对需求进行功能拆分、需求整理后,接着处理测试范围、怎么测的问题,即测试用例设计方法,它主要考虑大方向,不太考虑细节。用例编写方法时考虑细节。

测试用例设计方法中的场景法,包括基本流和备选流,主要用于测试业务流程,基本流模拟正确操作,备选流模拟异常操作,备选流可以有多个。 软件测试用例设计方法-场景法1

1.1 测试点

测试点或者检查点,是测试时应该考虑可以测试的诸多方面。

1.2 场景法

场景法模拟用户操作软件时的情景,主要用于测试系统的业务流程。

当拿到一个测试任务时,我们先要关注它的主要功能和业务流程是否正确实现,这就需要使用场景法来完成测试。比如,该干的事是否干了,不该干的事是否没干。

1.3 场景的定义

场景用来描述软件操作的路径。即先干什么再干什么。场景包括两个流:基本流和备选流。

基本流:按照正确的业务流程来实现的一条操作路径(模拟正确的操作流程)。

备选流:导致程序出现错误的操作流程(模拟错误的操作流程)。

1.4 场景法的分析步骤

(1)分析软件需求;

(2)从用户使用情景角度,写出业务流程和业务规则;

(3)写出基本流场景和备选流场景;

1.5 场景法案例:ATM机取款

在ATM机取款时,操作是这样的:插入银行卡,验卡成功后,输入正确密码,选择取款和金额,验资通过后,计减余额,出钞,返回主界面。

1.5.1 步骤一:分析业务流程

根据使用情景或场景来分析业务流程。

可以绘制流程图:圆角矩形表示动作,

程序做的事情也要写出来,比如,插入银行卡后,程序要“验证银行卡”。“验证银行卡”不成功,比如,插入的是公交卡等非银行卡。“验证总取款金额”,一笔不能超过2000,一天不能超过2万。 软件测试用例设计方法-场景法2 软件测试用例设计方法-场景法3

1.5.2 步骤二:描述程序的基本流和备选流

1.5.2.1 基本流(正确的流程)

(1) 插入银行卡:客户将银行卡插入ATM机的读卡器;

(2) 验证银行卡:ATM机从银行卡的磁条中读取账户代码,并检查它是否属于可以接受的银行卡;

(3) 输入密码:ATM机要求客户输入密码;

(4) 验证密码:确定该密码是否正确;

(5) 进入ATM主界面:ATM显示在本机中可用的各种选项;

(6) 选择取款并输入金额:客户选择“取款”,并选择取款金额;

(7) ATM机验证:ATM机进行验证账户余额是否满足以及总取款金额是否满足要求,验证ATM机内现金是否够用;

(8) 更新账户余额、出钞:验证成功,更新账户余额,输出现金,提示用户收取现金;

(9) 返回主界面;

1.5.2.2 备选流(各种错误情况)

出现错误的各种情况,按顺序考虑错误情况,以防遗漏。

(1) 银行卡无效:提示错误并退卡;

(2) 密码错误:提示错误,并判断是否3次错误;

(3) 密码3次错误:吞卡;

(4) 账户余额不足:提示错误并退卡;

(5) 总取款金额超出当日可取金额:提示错误并退卡;

(6) ATM机余额不足:提示错误并退卡;

1.5.3 步骤三:根据基本流和备选流生成不同的场景

基本流和备选流生成不同场景,结果可能不同,可能相似。

生成不同的场景对应不同的测试点。 软件测试用例设计方法-场景法

1.6 场景法练习:三角形判断程序

软件测试用例设计方法-场景法5 三边为0-1000的实数,最多允许3位小数。

三角形类别:

普通三角形:三边都不相等;

等腰三角形:只有两边相等;

等边三角形:三条边都相等;

直角三角形:两边平方和等于第三边平方;

1.6.1 需求分析

需求分析要全面。

需求:

​ 三边均为0-1000的实数,最多3位小数

​ 业务流程:

​ 数据输入少于3个,报错

​ 否则,输入的不全是输,报错

​ 否则,输入的不在0-1000,或者小数超过3位,报错

​ 否则,两边之和不全大于第三边,提示不能构成三角形

​ 否则,三边都都相等,为等边

​ 否则,只有两边相等,为等腰

​ 否则,两边平方和等于第三边平方,为直角

​ 否则,普通三角形

1.6.2 场景

场景分析不要太过细节,覆盖业务分支即可。

基本流场景:

​ 等边三角形

​ 等腰三角形

​ 直角三角形

​ 普通三角形

备选流场景:

​ 输入数据不完整

​ 输入的不是实数

​ 输入范围超过0-1000

​ 小数位数超过3位

​ 不能构成三角形