软件测试用例_软件测试用例设计实战场景法

不点蓝字,我们哪来故事? 

      目录

  •     场景法

    • 扩展例子

    • 场景法介绍

    • 影子

    • 场景法用例设计举例

    • 场景法设计用例步骤和表示

    • 场景法举例

  •      总结

  •      场景法的注意点

场景法

影子

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

场景法介绍

首先上网查资料,给了我一个图,这个图是啥啊???场景业务流通常分为基本流、备选流、异常流程889bec735aa61f476790b853d9a5ebca.png
然后看文字:
我先放上查到的定义。·基本流:基本流表示通过业务流程时输入都正确,能达到目标的流程。

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

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

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

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

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

场景法用例设计举例

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

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

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

  • 2

  • 3

场景法设计用例步骤和表示

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

场景法举例

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

这里举的例子比较简单

扩展例子

游戏签到场景测试用例
这里先看一下游戏策划书写的游戏签到策划方案
https://gameinstitute.qq.com/community/detail/111163
其中:附上一个APP的签到界面acccc46ef281ba2e77104336b6f652bd.png再配上一个游戏的签到界面。a4c6465f67d9ab1b7122a34c3c23b326.png
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两种场景,举个例子:登录场景账号状态的校验有账号是否输入、账号是否存在、账号是否过期等校验,用判定表会增加行数,也不方便于我们理清所有的业务流)

场景法的注意点

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

最新开班信息:索要课表加微信:18910737736

1、python自动化21期实战班:年底最后一期,可预约试听!

2、python测试开发第6期实战班:年底最后一期,可预约试听!

3、零基础转行软件测试就业班 11月16日 加开一期,统招本科学员可先就业后收费!

真正的0元入学计划来了~

4591a71f222c7f3349099f13325ad936.png

44e507823041b9f7fa3949a1f3271ec5.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/534779.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

树莓派摄像头_Arducam 8MP重磅来袭,为树莓派4B构建完全同步的双摄像头方案~

大家好&#xff0c;我是小月月。双目立体景深一直是很热门的项目&#xff0c;最近已经有不少小伙伴学会在树莓派上插两个USB摄像头了&#xff0c;这个方案可以识别静态场景中各个物体的距离远近。但是两个USB摄像头捕获到的两组图像序列的时间并不是严格同步的&#xff0c;对运…

稀疏自编码器_自编码(AutoEncoder)模型及几种扩展之二

4. 稀疏自编码假设我们只有一个没有类别标签的训练样本集合{x(1),x(2)...},一个自编码神经网络就是一种非监督学习算法&#xff0c;它使用BP算法&#xff0c;并将目标值设为&#xff1a; y(i)x(i)。我们的目标是希望得到hW,b(X)≈x。用aj(2)(x)表示输入向量x对隐藏层单元j的激活…

linux x86 关机 过程,linux在x86上的中断处理过程(详细)

Linux在x86上的中断处理过程一&#xff1a;引言在Intel的文档中,把中断分为两种。一种是异常,也叫同步同断。一种称之为中断,也叫异常中断。同步中断指的是由CPU控制单元产生,之所以称之为同步,是因为只有一条指令执行完毕后才会发出中断。例如除法运算中,除数为零的时候,就会产…

linux 显卡转码,ffmpeg用GPU转码

8种机械键盘轴体对比本人程序员&#xff0c;要买一个写代码的键盘&#xff0c;请问红轴和茶轴怎么选&#xff1f;有些视频编码太屌&#xff0c;播放起来对CPU消耗巨大&#xff0c;而在电视上或者电视盒子上看视频&#xff0c;编码就需要合适&#xff0c;楼主用的FireTV Stick&a…

c语言课程设计作业五子棋,C语言课程设计报告五子棋游戏课程设计

C语言课程设计报告五子棋游戏课程设计 C语言课程设计报告_五子棋游戏-课程设计C语言课程设计报告_五子棋游戏|c语言程序代码编程小程序设计|c语言课程设计报告课程案例**********************************************************//* 本程序在Turbo C或Borland C下编译通过 */…

redis内存淘汰和持久化_redis 持久化

一、RDB持久化&#xff08;一&#xff09;、RDB介绍可以在指定的时间间隔内生成数据集的 时间点快照&#xff08;point-in-time snapshot&#xff09;&#xff0c;新快照会覆盖老快照&#xff08;二&#xff09;、优点压缩格式&#xff0c;恢复速度快&#xff0c;适合于用做备份…

最新变态传奇android,新开变态传奇单职业

新开变态传奇单职业这款传奇手游中拥有这极为丰富的游戏玩法&#xff0c;玩家既可以进入各种副本中&#xff0c;挑战那些强大的副本boss&#xff0c;也可以和自己的兄弟好友们一起组队&#xff0c;前往各种跨服战场&#xff0c;和全服的高手玩家们一起进行最激烈的战斗。游戏中…

android手机微信收藏功能实现,Android模仿微信收藏文件的标签处理功能

最近需要用到微信的标签功能(如下图所示)。该功能可以添加已有标签&#xff0c;也可以自定义标签。也可以删除已编辑菜单。研究了一番。发现还是挺有意思的&#xff0c;模拟实现相关功能。该功能使用类似FlowLayout的功能。Flowlayout为一个开源软件(https://github.com/ApmeM/…

android 电话号码标记,强化电话标记功能 360手机卫士3.0安卓版体验

作为“房产商”&#xff0c;上海仁恒置地集团营销总监姚伟示通常每天也要接到20个左右房产或其他推销电话。“现在已经形成了一个机械的对应方式&#xff0c;对于此类推销电话&#xff0c;很多人包括我自己已经麻木了。”针对这种情况&#xff0c;360手机卫士发布了3.0.0正式版…

android 左滑按钮,android开发类似微信列表向左滑动按钮操作

话不多说&#xff0c;直接上代码&#xff0c;有详细的注释的。layout布局中&#xff1a;主要是跟大家说一下listview怎么写&#xff1a;android:id"id/pull_refresh_viewId"android:layout_width"match_parent"android:layout_height"match_parent&qu…

向量表示 运动抛物线_流动的美丽函数——抛物线浅谈

事先说明&#xff1a;笔者初三&#xff0c;如在叙述中有不严谨的地方&#xff0c;还请诸位指出&#xff0c;自当感激不尽。&#xff08;本文默认受众对象为初高中生&#xff0c;因此抛物线一律采取了yax的形式&#xff0c;高中的同学们可以应用旋转矩阵把它变到y2px的形式QAQ笔…

android 获取已安装 错误代码,android获取手机已经安装的app信息

Android获取手机已安装APP(系统/非系统)效果图主体代码private ListView mlistview;private ListpackageInfoList;private ListapplicationInfoList;private MyAdapter myAdapter;private PackageManager pm;Overrideprotected void onCreate(Bundle savedInstanceState) {supe…

android与ios ui切图关系,APP-IOS与Android界面设计与切图

做一全套的APP设计&#xff0c;流程是&#xff1a;1、界面设计&#xff1a;设计IOS界面&#xff1b;设计Android界面。2、切图&#xff1a;切IOS的2倍图和3倍图&#xff1b;切Android的hdpi,xhdpi,xxhdpi这三个尺寸的图。3、标注&#xff1a;以px为单位标注IOS界面的尺寸&#…

android app应用后台休眠,安卓手机锁屏后程序自动关闭,怎么设置手机app允许锁屏后台运行...

原标题&#xff1a;安卓手机锁屏后程序自动关闭&#xff0c;怎么设置手机app允许锁屏后台运行安卓手机锁屏后&#xff0c;很多程序就会自动关闭&#xff0c;实际上&#xff0c;这是安卓手机的一种保护机制。为了使系统能够流畅稳定的运行以及更加省电&#xff0c;它都会在手机锁…

linux和windows和鸿蒙,linux很好,但为何大家都用Win,鸿蒙系统站错阵营了吗?

原标题&#xff1a;linux很好&#xff0c;但为何大家都用Win&#xff0c;鸿蒙系统站错阵营了吗&#xff1f;由目前已知信息可知&#xff0c;华为“鸿蒙系统”很可能基于linux开源程序搭建&#xff0c;这个特点与苹果微软由很大不同。苹果手机目前主要使用Objective-C程序语言开…

pos共识机制_OK区块链60讲 | 第17集:什么是PoS共识机制

什么是PoS共识机制https://www.zhihu.com/video/1196092110837805056《OK区块链60讲》是由OKEx&#xff06;新浪科技联合出品的区块链科普动画视频&#xff0c;针对区块链零基础用户&#xff0c;通过系列文章、科普动画等形式&#xff0c;从概念、技术、应用等角度&#xff0c;…

ps导出gif颜色不对_PS基础知识(1)

视图平移命令&#xff1a;1,使用工具箱中的抓手工具或着&#xff08;H&#xff09;2按住空格键&#xff0c;上下左右移动视图。&#xff08;常用方法&#xff09;图像格式PSD&#xff1a;原始的图像文件&#xff0c;包含所有的 Photoshop 处理信息&#xff0c;如图层&#xff0…

音乐分享 html,支付宝朋友圈可以分享音乐嘛

打开手机&#xff0c;找到手机里面的支付宝应用点击进入在进入的支付宝界面里&#xff0c;选择底下的朋友点击进入在弹出的朋友界面选择生活圈选择生活圈下方的朋友动态进到朋友动态界面&#xff0c;点击右上角的照相机图标支付宝 怎么发朋友圈动态&#xff1f;进入支付宝页面中…

eplan单线原理图多线原理图_EPLAN-黑盒-2

3、黑盒的功能定义制作完成的黑盒仅仅图形化描述了一个变频器&#xff0c;它实现逻辑上的智能了吗&#xff1f;双击黑盒弹出属性标签&#xff0c;它的主标签还是现实黑盒&#xff0c;如图&#xff0c;图形和逻辑还没匹配。因此&#xff0c;必须为它重新定义功能。EPLAN的功能定…

html图片热点新窗口,HTML基础必看---表单,图片热点,网页划区和拼接详解

html表单里面的图片点击相应图片跳转到本页其他去在表格里面选了这个 鼠标点击一下跳转到相应区块 代码要怎么写&#xff0c;夜影驱动编程小编今天和大家分享大神需要在一张图片上设置多个能点击跳转的链接区域时&#xff0c;推荐使用网页的热点链接。 参考代码如下&#xff1a…