• 12
  • 12
分享
  • 软件测试用例设计场景法——软件测试圈
  • 饭团🍙 2021-12-20 15:52:38 字数 2939 阅读 3516 收藏 12

场景法

影子

本来想直接跳过场景法的,今天群友提出问题:

1、面试官问:场景法举例说明,怎么回答?

2、群友热心回答:正向流和逆向流,基本流和备选流

场景法介绍

场景业务流通常分为基本流、备选流、异常流程

1.png

基本流:基本流表示通过业务流程时输入都正确,能达到目标的流程。

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

备选流:备选流表示通过业务流程时输入错误(或者操作错误)导致流程存在反复,但是经过纠正后仍能达到能达到目标的流程

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

异常流:异常流表示通过业务流程时输入错误(或者操作错误)产生异常终止流程 

(插卡–>输入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次后,短信验证码也会失效。

2.jpg

符号定义:

V:Valid

I:Invalid

n/a:Not Applicable

涉及到的数据元素

账号、密码、短信验证码

这里举的例子比较简单

扩展例子

游戏签到场景测试用例

这里先看一下游戏策划书写的游戏签到策划方案

https://gameinstitute.qq.com/community/detail/111163

其中:附上一个APP的签到界面

3.jpg

再配上一个游戏的签到界面。

4.jpg

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两种场景,举个例子:登录场景账号状态的校验有账号是否输入、账号是否存在、账号是否过期等校验,用判定表会增加行数,也不方便于我们理清所有的业务流)

场景法的注意点

注意:

场景法偏重于大的业务流程,目的是用业务流把各个孤立的功能点串起来,所以在用场景法设计用例时,测试人员必须建立整体业务感觉,避免忽略业务流程要点

当然,在整理测试用例的过程中,我们也不要忘记使用等价类和边界值方法。

汪小兴918

原文链接:https://blog.csdn.net/baidu_37837739/article/details/102823514

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   我是如何走上测试之路的  我是统招本,专业是计算机信息系统和信息管理,大四在一家事业单位(就不说名字了)实习做Android开发的,等我快毕业的时候,单位明确告诉我不会转正。当然了,我是很清楚的,没有背景,也没有关系,学历也只是本科,想要进去还是很难得。但是也有一丝丝的沮丧,但也就是一点。  大学毕业后,我找了一个互联网公司,开始了我的Android应用开发之路,也就是半年的时间,公司业务扩展比较快,APP的用户量变得比较大了,APP的一些问题开始凸显出来,公司就准备招聘测试。而且要求还挺高的,但是还是要有公司内容的老人去带着业务、讲技术什么的,那时候这个活就交给我了:我当时就很纳闷,我自...
            0 0 825
            分享
          • 前言最早接触“零侵入”一词,源于笔者参加美团举办的测试技术沙龙活动。活动上,去哪儿网的童鞋介绍其自主研发的接口自动化测试框架Qunit时,提到了一项关键技术:零侵入切面技术,该技术方案最大优点是:无需修改代码实现mock功能,举例说明如下。 假如被测接口里面调用了第三方接口,由于第三方接口的不确定性,对于某些测试场景(比如请求超时、特定错误码测试等),测试人员往往需要开发人员添加mock来配合测试,这种工作效率相对来说是比较低的,而且也不利于自动化测试的开展。零侵入技术把mock主动权交接给测试人员管理,无需开发再去修改代码、部署测试环境等一系列动作。测试人员只需根据具体的测试场景编写对应三方...
            1 2 3101
            分享
          •   栉风沐雨二十载,继往开来谱新篇。一路热爱一路奔赴的51Testing迎来了20岁的生日。  2004年至今,51testing和大家追光而遇,沐光而行。在这里感恩每一位51Testing人,未来我们会继续热爱、继续发光!  余华曾说“和高人聊,从书上学,在事上练”是最快最重要的学习方式。  今天我们有幸邀请了十位特别嘉宾,他们有的是与51Testing一起成长20周年的版主,有的是51Testing的合作讲师,他们深耕在不同的行业,见证了软件测试行业的发展,见证了51Testing的成长,希望他们的观点,能够带给你不一样的启发!  特邀嘉宾  01特邀嘉宾:苗条小胖(合作讲师)  嘉宾身份...
            0 0 700
            分享
          • 今天我们来聊一下测试管理者的修身齐家治国平天下。话题有点大,咋一看,这话题有点玄乎,是不是?不知道大家会不会有点懵?修身齐家治国平天下出自:《礼记·大学》原文:物格而后知至,知至而后意诚,意诚而后心正,心正而后身修,身修而后家齐,家齐而后国治,国治而后天下平。释义:修身:提高自身品德修养;齐家:整顿家庭,使家和睦;治国:治理国家;平天下:天下太平。理解:这是句激励人生、成就人生的历史名言。修身、齐家者容易,治国、平天下者难也。即便有此抱负,也未必有此机会。所以,修身先为本,"穷则独善其身、达则兼济天下"嘛,修身的办法就是物格、知至、意诚、心正,物格、知至、意诚、心正的大体意...
            0 0 2261
            分享
          •   OpenAI 今天宣布与"常识媒体"(Common Sense Media)建立合作伙伴关系。"常识媒体"是一家非营利性组织,负责审查和评定各种媒体和技术是否适合儿童使用。希望借此通过与致力于减少科技和媒体对儿童、学龄前儿童和青少年伤害的组织合作,赢得家长和政策制定者的信任。  OpenAI 首席执行官 Sam Altman 表示,作为合作关系的一部分,OpenAI 将与 Common Sense Media 合作,根据 Common Sense 的评级和评估标准,在 OpenAI 的 GPT 市场 GPT Store 上策划"家庭友好型&...
            0 0 932
            分享
      • 51testing软件测试圈微信