首页 > 编程知识 正文

使用场景法设计测试案例,软件测试用例设计思路

时间:2023-05-04 09:05:03 阅读:188340 作者:4408

目录 场景法影子场景法介绍 场景法用例设计举例场景法设计用例步骤和表示场景法举例扩展例子 总结场景法的注意点

场景法 影子

本来想直接跳过场景法的,今天群友提出问题:
1、面试官问:场景法举例说明,怎么回答?
反正我有点懵,虽然在工作过程中,我一直运用的是场景法,但我说不出场景法的观点来。
2、群友热心回答:正向流和逆向流,基本流和备选流
然而,我还是非洲问号脸???

场景法介绍

首先上网查资料,给了我一个图,这个图是啥啊???
场景业务流通常分为基本流、备选流、异常流程

然后看文字:
我先放上查到的定义。·
基本流:基本流表示通过业务流程时输入都正确,能达到目标的流程。

(插卡–》输入正确密码–》输入金额–》取款–》取卡)

备选流:备选流表示通过业务流程时输入错误(或者操作错误)导致流程存在反复,但是经过纠正后仍能达到能达到目标的流程
.(插卡–>输入错误密码–》输入正确密码–》输入金额–》取款–》取卡)

异常流:异常流表示通过业务流程时输入错误(或者操作错误)产生异常终止流程 (插卡–>输入3次错误密码–》吞卡)

结合例子和文字描述就很清楚了:
基本流:
业务流程开始——业务流程结束
(1)只有1种情形,中间的所有业务流程也是正确的,最后达到的结果是正确结束,这个场景是一个基线。
举个例子:就是你从起点开始,一直沿着正确的道路走,最后到达终点。
备选流:
(1)业务流程开始——业务流程存在反复——业务流程结束
(2)业务流程开始——业务流程存在反复——业务流程中断——未结束
举个例子:
你从起点开始,走到中途走错了路,但是你认得路,于是沿着新的路线,虽然绕了路,但是最终还是走到了终点
你从起点开始,走到中途走错了路,但是你不认得路,于是开始探路,但是最终还是没有走到终点

异常流:
业务流程开始——业务流程中断——未结束
在这种情况下正确的业务流程没有走完
举个例子:
就是你从起点开始,走到中途走错了路,但是你被困于死迷宫,然后你就一直到不了终点

场景法用例设计举例

例子举的有点不是很恰当,但我对场景法很自信,因为我测试的项目天天在用。
一个重要的测试模块就是登录,我们的登录方式是密码+短信,密码输错5次后账号会冻结,短信验证码有效时间是200s,验证错误超过3次后,短信验证码也会失效
我先用文字描述一下
基本流:
(1)输入正确账号——输入正确密码——点击登录,获取短信验证码成功——200s内输入正确短信验证码——再次点击登录按钮——登录成功——返回上次登录时间和IP——登录日志记录正确
备选流
(1)输入正确账号——输入四次错误密码——输入正确密码——点击登录,获取短信验证码成功——200s内输入正确短信验证码——再次点击登录按钮——登录成功——返回上次登录时间和IP——登录日志记录正确
(2)输入正确账号——输入五次错误密码——输入正确密码——点击登录,提示账号已被冻结——登录失败——登录日志记录正确

异常流
(1)输入正确账号——输入错误密码——登录失败——登录日志记录正确
(2)输入冻结账号——输入正确密码——登录失败——登录日志记录正确

这里强调一下,场景流梳理实际上是业务的梳理,意味着相关的业务场景必须都考虑进去,真正达到业务流程开始从业务流程结束 实际的业务场景要考虑的更多 区分备选流和异常流主要是看用例结束后业务流程是否是正确结束 场景法设计用例步骤和表示

步骤:
1、首先确定执行用例场景所需的数据元素
2、然后构建矩阵,最后要确定包含执行场景所需的适当条件的测试用例。
在矩阵中,V表示这个条件必须是有效的才可执行基本流,I表示这种条件下将激活所需备选流 ,n/a表示这个条件不适用于测试用例。
表示:
每一个场景都需要确定测试用例,一般采用矩阵或决策表来确定和管理测试用例。第一行是测试用例ID、场景/条件、测试用例中涉及的所有数据元素和预期结果。

场景法举例

【举例1:】
还是登录场景,我们的登录方式是密码+短信,密码输错5次后账号会冻结15分钟,短信验证码有效时间是200s,验证错误超过3次后,短信验证码也会失效
符号定义:
V:Valid
I:Invalid
n/a:Not Applicable

涉及到的数据元素
账号、密码、短信验证码

这里举的例子比较简单

扩展例子

游戏签到场景测试用例
这里先看一下游戏策划书写的游戏签到策划方案
https://gameinstitute.qq.com/community/detail/111163
其中:附上一个APP的签到界面
再配上一个游戏的签到界面。

1、进入签到界面,页面显示正确和美观
2、第N(N=1,2,3,4,5,6,7)天签到,当天签到状态变为已签到,领取当天的签到奖励
3、第N(N=1,2,3,4,5,6,7)天没有签到,当天签到状态变为未签到,无法领取当天的到奖励
4、连续M(M=1,2,3,4,5,6,7)天签到,当天签到状态变为已签到,领取到当天的签到奖励和累计的签到奖励
5、连续M(M=1,2,3,4,5,6,7)天签到中断,当天签到状态变为未签到,无法领取到当天的签到奖励和累计的签到奖励,重新计算累计签到时间
6、当天签到后,领取签到奖励,奖励领取状态变更正确,文字提示,增加到累计签到时间
7、奖励领取成功,奖励发放的物品种类、数量增加正确,并且领到的物品能够在游戏内正常的消耗和被使用
8、一天签到结束后,当天不再显示签到界面,如果当天一直不签到,当天登录首先进入的是签到界面
9、一段时间的签到活动时间(比如:一周)结束后,是否开始新一轮的游戏签到7天活动
10、签到的时间规则:在约定时间范围内签到,签到得到今天的奖励,在约定时间外签到,可能没有奖励(一般情况下,签到时间范围和自然日有区别)
11、签到对所有等级用户都开放,VIP等级有加倍奖励

异常场景:
1、连续点击N次签到,只领取一次奖励,
2、多次领取一天签到、累计签到奖励

扩展:补签功能
1、补签的天数+实际签到天数<=最大签到天数
2、补签次数限制

其实签到的这个例子并不是找的特别好,但我觉得有代表性。你们发现没有:当我把场景法的矩阵顺时针旋转90度时,是不是演化成了判定表,这是因为签到只有两种状态。
但是我觉得你在面试游戏测试的时候,面试官肯定想考察的是你的场景考虑的全不全的问题。也就是文章末尾提到的整体业务感觉的问题。

总结

最后,总结一下场景法和因果图(用例设计二和三提到的方法)两种方法的区别和适用范围。
因果图的分析步骤:
1、在需求规格说明书中找出哪些是输入条件(原因),哪些是输出条件(结果)
2、判定表的每一行首写输入条件、输出条件
3、根据原因和结果找对应的逻辑关系,用符号0,1,-分别表示满足、不满足和无关,每一列是一个用例

场景法的分析步骤:
1、根据说明,找出基本流
2、根据基本流中不同的数据元素据此找出备选流和异常流
3、根据备选流和异常流构造新的场景

因果图的适用范围
因果关系很复杂,用场景法很难找到一个基本流时,不妨关注需求规格说明,找出输入条件和输出条件的因果关系,利用因果图法和判定表反而能快速梳理条件之间的因果关系
eg:上一篇博文中的售货机就不使用场景法,因为你用场景法很难去构造一个基本流。没有了基本流作为一个准绳,用场景法构造会很费脑力,而且也很容易忽略条件之间的因果关系

场景法的适用范围
场景法多用于系统的典型业务和典型功能,首先能很方便的构造一个基本流,因果图侧重因果关系,用0和1区分有效无效的数据元素,不如场景法的矩阵图来的直观,也不能穷尽场景法的所有场景
(因为场景法不只有0和1两种场景,举个例子:登录场景账号状态的校验有账号是否输入、账号是否存在、账号是否过期等校验,用判定表会增加行数,也不方便于我们理清所有的业务流)

场景法的注意点

注意:
场景法偏重于大的业务流程,目的是用业务流把各个孤立的功能点串起来,所以在用场景法设计用例时,测试人员必须建立整体业务感觉,避免忽略业务流程要点
当然,在整理测试用例的过程中,我们也不要忘记使用等价类和边界值方法。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。