场景法主要用于测试软件的业务过程或业务逻辑,是一种基于软件业务和用户行为的测试方法。

1.概念:前几篇讨论的测试方法侧重于数据的选择,不涉及操作步骤,无法对涉及用户操作的动态执行过程进行覆盖测试。当在系统功能层面上进行测试时,不仅设计测试数据的问题,更侧重要的是如何从系统整个业务流程的全部角度对系统进行测试。场景法运用场景对系统的功能点或业务流程进行描述,然后设计测试用例,从而提高了对系统主要功能和业务流程的测试效果。场景法适合测试业务流程清晰的系统或功能。

2.基本流和备选流

基本流:采用黑直线表示,是经过用例测试的最简单路径,即无任何差错,程序从开始直接执行到结束的流程,往往是大多是用户最常使用的操作过程,体现了软件的主要功能与流程。同城,一项业务金存在一个基本流,并且基本流仅有一个起点和一个终点

备选流:除基本流之外的各个支流。备选流可能从基本流开始,在某个特定的条件下执行,然后从新加入到基本流中(如备选流1,3);也可以起源于另一个备选流(如备选流2);还可以终止用例而不再加入到基本流中(如备选流2,4),反映了各种异常和错误情况。。

考虑用例从开始到结束所有可能的基本流和备选流的组合,可以确定不同的用例场景。例如,根据上图,可以确定以下用例场景。

场景1:基本流

场景2:基本流→备选流1

场景3:基本流→备选流1→备选流2

场景4:基本流→备选流3

场景5:基本流→备选流3→备选流1

场景6:基本流→备选流3→备选流1→备选流2

场景7:基本流→备选流4

场景8:基本流→备选流3→备选流4

基本流和备选流的区别:

基本流

备选流

测试重要性

重要

次要

数量

一个

一个或多个

初始节点位置

系统初始状态

基本流或其他备选流

终止结点位置

系统终止状态

基本流或系统终止状态

是否构成完整的业务流程

否,仅为业务流程的执行片段

能否构成场景

否,需要基本流共同构成场景

3.场景法步骤及实例

根据场景法设计测试用例的步骤如下:

(1)根据说明,描述出程序的基本流及各个备选流;

(2)根据基本流和各个备选流生成不同的场景

(3)对每一个场景生成相应测试用例

(4)对生成的所有测试用例重新审查,去掉多余的测试用例。测试用例确定后,对每一个测试用例确定测试数据值

实例:某旅馆住宿系统支持网上预定业务。游客访问网站进行房间预定操作,选择预定日期、合适的房间后,进行在线预定。此时需要使用个人账号登陆系统,待登录成功后,进行定金支付。订金支付成功后,生成房间预订单,完成整个房间的预定流程。系统允许的预定期限为30舔,订金为400元。

(1)确定基本流和备选流

类型

描述

类型

描述

基本流

选择预定日期

备选流1

预定日期超限

选择房间

备选流2

无空余房间

登陆账户

备选流3

账户不存在

订金支付

备选流4

密码错误

产生预定订单

备选流5

用户账户余额不足

(2)根据基本流和备选流生成不同场景

场景1(成功预定房间):基本流

场景2(预定日期超限):基本流、备选流1

场景3(无空余房间):基本流、备选流2

场景4(账号不存在):基本流、备选流3

场景5(密码错误):基本流、备选流4

场景6(用户账号余额不足):基本流、备选流5

(3)用例设计

用例

场景/条件

预定日期

房间

账号

密码

账号余额

预期结果

1

场景1

V

V

V

V

V

成功预定,提示预定成功,余额减少

2

场景2

I

n/a

n/a

n/a

n/a

提示“预定日期无效”,重选预定日期

3

场景3

V

n/a

n/a

n/a

n/a

提示“预定日期房间已满”,重选预定日期

4

场景4

V

I

I

n.a

n/a

提示“账号不存在”,重新输入账号

5

场景5

V

V

V

I

n/a

提示“密码错误”,重新输入密码

6

场景6

V

V

V

V

I

提示“账号余额不足请充值”

在上表中,无须为条件输入任何实际的数值,这样做的优点是只需要查看各条件的“V”和“I”的设定情况,如果某个条件不具备“I”的取值情况,则说明还未测试该条件无效的情况,提示测试用例还不够充足

(4)确定测试用例数据值(假定UserOne为已注册用户,密码为MyPass;UserTwo是未注册用户)

用例

场景/条件

预定日期

房间

账号

密码

账号余额

预期结果

1

场景1

一个有效日期

未满

UserOne

MyPass

800

成功预定

2

场景2

一个超出期限的日期

n/a

n/a

n/a

n/a

日期超限

3

场景3

一个有效日期

已满

n/a

n/a

n/a

无空余房间

4

场景4

一个有效日期

未满

UserTwo

n/a

n/a

账号错误

5

场景5

一个有效日期

未满

UserTwo

NoPass

n/a

密码错误

6

场景6

一个有效日期

未满

UserTwo

MyPass

200

余额不足

原文:https://www.cnblogs.com/yzy1314/p/11684315.html

软件测试场景 例子,软件测试基础(六)用例设计方法之场景法相关推荐

  1. 学习软件测试(三)测试用例、测试用例的设计方法(等价类划分法、边界值分析法、判定表法、因果图法、正交排列法、场景法、错误推测法)

    目录 测试用例 测试用例八大要素 测试用例的设计方法 等价类划分法 等价类操作步骤 边界值分析法 边界范围 边界值法的操作步骤 案例1 案例2 判定表法 为什么使用判定表法 判定表法的四个组成部分 判 ...

  2. 软件测试基础之用例设计方法

    #等价类划分* (正向的.错误的)** 与边界值一起使用** 例如:微信红包是0.01~200之间 那么 有效等价类 无效等价类 0.01~200 <0.01/>200 数字 非数字(中文 ...

  3. 软件测试 通用技术03 测试用例 黑盒测试用例设计方法 等价类划分法 边界值分析法 判定表法 场景法 功能图法 其他用例设计方法 用例设计方法综合选择

    文章目录 1 测试用例 1.1 测试用例的定义 1.2 测试用例模板 1.3 测试用例模板的内容 测试用例编号 测试项 依赖用例 测试步骤 测试数据 预期结果 测试结果 测试人 备注 2 测试用例编写 ...

  4. 软件测试流程及主要用例设计方法

    软件测试流程及主要用例设计方法 测试新手人门,首先要掌握测试的流程和实际运作项目流程和基础的用例设计方法. 掌握测试和项目流程是了解研发过程中测试的主要工作:掌握最主要的用例设计方法就是掌握测试岗位最 ...

  5. 软件测试--黑盒测试用例、测试步骤设计方法(正交实验法、功能图法、其他用例设计方法)

    黑盒测试用例设计(三) 正交实验法 正交表:一种特制的表,一般的正交表记为Ln(mk) m代表水平数,k代表因素数,n是需要进行实验的个数.这三个数没有任何数学关系. 仅适用于每个因素的水平数都相同的 ...

  6. 黑盒测试用例设计方法三(正交实验法、功能图法、用例设计方法综合选择)

    测试步骤 一.正交实验法 1.1正交实验法介绍 1.2正交实验法实现步骤 1.3实际案例 二.功能图法 2.1功能图法原理介绍 2.2功能图法实现步骤 2.3实践案例 三.其他用例设计方法 3.1测试 ...

  7. 软件测试 | 等价类用例设计方法及演示

    常见的用例设计方法包括:等价类.边界值.因果图.判定表.状态迁移.场景分析法.正交实验法.下面是等价类用例设计方法. 1为什么需要使用等价类方法 如果我们输入的数据是一个很大范围数据时,我们测试时会出 ...

  8. 软件测试方法——黑盒测试九大用例设计方法

    笔者:风起怨江南 出处:https://blog.csdn.net/JackMengJin 笔者原创,文章转载需注明,如果喜欢请点赞+关注,感谢支持! 导读:面试和工作必备的九大黑盒软件测试方法. 目 ...

  9. 用例设计方法及其覆盖率

    用例设计方法及其覆盖率 ---<软件测试:一个软件工艺师的方法>读书笔记 2018-01-27 1 基本概念 错误(error):同义词过失(mistake),编程时的错误成为bug. 故 ...

  10. 功能测试笔记PART2-测试用例设计方法与实战【等价类划分、边界值、因果图判定表、正交实验法】

    如何设计软件设计[测试用例设计] 一.测试设计与测试用例 测试设计:将概括的测试目标转化为具体的测试条件和测试用例的一系列活动. 测试分析和设计的主要任务: 评审测试依据 (需求.系统架构.设计.接口 ...

最新文章

  1. 无重复字符串的排列组合
  2. lua 的正则表达式之坑
  3. Linux中逻辑卷的快照与还原
  4. 通过使用CSS字体阴影效果解决hover图片时显示文字看不清的问题
  5. 解决JQuery EasyUI onLoadSuccess执行两次的问题
  6. arduino彩灯计时器电路_蓝牙彩灯再升级(加音乐播放功能)
  7. 计算机博士一年看多少篇文献,博士生真的要一天看20篇文献吗?
  8. s400x ugee 驱动_联想_ThinkPad|ThinkCentre|ThinkStation服务与驱动下载_常见问题
  9. 电脑文件分区壁纸--超级马里奥、樱桃小丸子主题
  10. static关键字的用法
  11. 在王者荣耀角度下分析面向对象程序设计B中23种设计模式之原型模式
  12. Python获取抖音视频链接
  13. Android M 动态权限获取
  14. import 模块大小写问题
  15. 春考计算机专业PS考点,春考辅导:春考PS的学习方法和技巧
  16. 查找算法【平衡二叉树】 - 平衡二叉树的创建
  17. phpstorm破解后,运行一段时间后突然有提示没有破解.
  18. Macbook GlobalProtect 连接问题
  19. 骚操作!一行Python代码能干嘛
  20. ZZULIOJ-1198

热门文章

  1. 【时间序列】时间序列数据的缺失填补方法总结
  2. 工程师分享——SMT贴片机编程的主要流程 2021-08-11
  3. Idea打包Jar文件
  4. 灰色模型及matlab算法
  5. 三个三维矢量叉乘公式(拉格朗日矢量公式)推导(非坐标法)
  6. IO、NIO和Netty
  7. oracle优化技巧
  8. Oracle优化器详解,通宵整理,透彻超详细
  9. 接入华为webpush webpush总结
  10. 并联串联混合的电压和电流_16.2 串、并联电路中电压的规律