通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果。场景法一般包含基本流和备用流,从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备用流来完成整个场景。

   为什么场景法能如此清晰的描述整个事件?因为,现在的系统基本上都是由事件来触发控制流程的。如:我们申请一个项目,需先提交审批单据,再由部门经理审 批,审核通过后由总经理来最终审批,如果部门经理审核不通过,就直接退回。每个事件触发时的情景便形成了场景。而同一事件不同的触发顺序和处理结果形成事 件流。这一系列的过程我们利用场景法可以清晰的描述清楚。

  下图来展示一下网上最长见的场景法基本情况的一个实例图。

  

  在这个图中,有一个基本流和四个备选流。

  每个经过用例的可能路径,可以确定不同的用例场景。从基本流开始,再将基本流和备选流结合起来,可以确定以下用例场景:

  场景 1 基本流

  场景 2 基本流 备选流 1

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

  场景 4 基本流 备选流 3

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

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

  场景 7 基本流 备选流 4

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

  从上面的实例我们就可以了解场景是如何利用基本流和备用流来确定的。

  基本流:采用直黑线表示,是经过用例的最简单的路径(无任何差错,程序从开始直接执行到结束)

  备选流:采用不同颜色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中,也可以起源于另一个备选流,或终止用例,不在加入到基本流中;(各种错误情况)

  下面是场景法的基本设计步骤

1. 根据说明,描述出程序的基本流及各项备选流

2. 根据基本流和各项备选流生成不同的场景

3. 对每一个场景生成相应的测试用例

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

举例:

有一个在线购物的实例,用户进入一个在线购物网站进行购物,选购物品后,进行在线购买,这时需要使用帐号登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。

  第一步我们来确定基本流和备选流:

基本流 登录在线购物网站,选择物品,登录帐号,付钱交易,生成订购单
备选流1 帐号不存在
备选流2 帐号或密码错误
备选流3 用户帐号余额不足
备选流4 用户帐号没有钱
备选流x 用户退出系统

  第二步我们根据基本流和备选流来确定场景:

  场景1-成功购物

  基本流

  场景2-帐号不存在

  基本流

  备选流1

  场景3-帐号或密码错误

  基本流

  备选流2

  场景4-用户帐号余额不足

  基本流

  备选流3

  场景5-用户帐号没有钱

  基本流

  备选流4

  第三步我们来设计用例

  对于每一个场景都需要确定测试用例。可以采用矩阵或决策表来确定和管理测试用例。

  下面显示了一种通用格式,其中各行代表各个测试用例,而各列则代表测试用例的信息。

  本例中,对于每个测试用例,存在一个测试用例ID、条件(或说明)、测试用例中涉及的所有数据元素(作为输入或已经存在于数据库中)以及预期结果。

  通过从确定执行用例场景所需的数据元素入手构建矩阵。然后,对于每个场景,至少要确定包含执行场景所需的适当条件的测试用例。例如,在下面的矩 阵中,V(有效)用于表明这个条件必须是 VALID(有效的)才可执行基本流,而 I(无效)用于表明这种条件下将激活所需备选流。下表中使用的“n/a”(不适用)表明这个条件不适用于测试用例。

测试用例ID 场景/条件 帐号 密码 用户帐号余额 预期结果
1 场景1:成功购物 V V V 成功购物
2 场景2:帐号不存在 I n/a n/a 提示帐号不存在
3 场景3:帐号或密码错误(帐号正确,密码错误) V I n/a 提示帐号或密码错误,返回基本流步骤3
4 场景3:帐号或密码错误(帐号错误,密码正确) V I n/a 提示帐号或密码错误,返回基本流步骤3
5 场景4:用户帐号余额不足 V V I 提示帐号余额不足请充值
6 场景5:用户帐号没有钱 V V I 提示帐号余额请充值

  第四步我们来设计数据,把数据填入上面的用例表中。

测试用例ID 场景/条件 帐号 密码 用户帐号余额 预期结果
1 场景1:成功购物 Sue 1s2 200 成功购物,帐号余额减少200元
2 场景2:帐号不存在 Jim n/a n/a 提示帐号不存在
3 场景3:帐号或密码错误(帐号正确,密码错误) Sun 1234zxc n/a 提示帐号或密码错误,返回基本流步骤3
4 场景3:帐号或密码错误(帐号错误,密码正确) Suns 123456 n/a 提示帐号或密码错误,返回基本流步骤3
5 场景4:用户帐号余额不足 Van 1v2 1 提示帐号余额不足请充值
6 场景5:用户帐号没有钱 Tom 12zxcdd 0 提示帐号余额请充值

以上写到的测试用例只是购物的一部分测试用例。需要的其他测试用例,我们可以在写完后再进行补充和扩展,达到比较好的覆盖。

黑盒测试方法五(场景法)相关推荐

  1. 2020-12-18:【黑盒测试用例设计】测试方法之场景法

    [黑盒测试用例设计]测试方法之场景法 原理:核心思想是站在用户的角度上检测软件功能,发现软件的错误. 场景法能够以最少的测试成本,来发现最多的与用户平时使用时息息相关的软件缺陷或错误. 适用场景:业务 ...

  2. 黑盒测试方法——边界值分析法

    目录 目录 一.方法简介 二.实战演习 一.方法简介 1.定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法.通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等 ...

  3. 黑盒测试方法—等价类划分法

    等价划分法是一种不需要考虑程序的内部结构,只需要考虑程序输入数据的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性. 需要把用户所有可能输入的数据划分成若 ...

  4. 软件测试方法之场景法详解及实战

    目录 1.为什么引入用例场景 2.用例场景的定义 基本流 备选流 测试思想 3.步骤 一.在测试QQ登录功能时,使用场景法进行主要功能的测试: 二.使用银行卡取款: 步骤一:根据说明,描述出程序的基本 ...

  5. 黑盒测试方法之因果图法

    因果图法 因果图法步骤 软件需求示例 测试用例分析设计 总结 因果图法步骤 1)赋标识符.分析软件需求规格说明,找出哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和 ...

  6. 黑盒测试方法(等价类划分法、边界值法、决策表、判定表、正交表、场景法、错误推断法)

    1.黑盒测试方法 1.1.等价类划分法: 根据软件测试原则可以知道,要做到穷举是不可能的,事实上也是不必要的.为了减少工作量,需要对测试用例进行适当选取.等价类划分法便提供了一种选取测试用例的方法. ...

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

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

  8. 场景法设计测试用例atm_黑盒测试用例设计方法

    本文根据Vince整理的<测试用例设计白皮书>整理 一.黑盒测试用例方法 黑盒测试用例设计方法,主要包括等价类划分法.边界值分析法.错误推测法.因果图法.判定表驱动发.正交试验设计法.功能 ...

  9. 【测试方法】业务流测试法之场景法

    一.场景法:通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果的一种方法.用例场景来测试需求是指模拟特定场景边界发生的事情,通过事件来触发某个动作的发生,观察事件的最终结果,从而用来发现需 ...

最新文章

  1. 系列文章--AJAX技术系列总结
  2. boost::utility::string_ref相关的测试程序
  3. NAT的extendable参数,使得一个地址被不同接口NAT出去测试
  4. java abstractrequest,Java AbstractJackson2HttpMessageConverter類代碼示例
  5. Hadoop Hive概念学习系列之hive的数据压缩(七)
  6. android 申请sdcard权限_Android sdcard读写权限问题之中的一个
  7. 使用cmd命令创建vue(ivieiw)项目
  8. 动态 Echarts 温湿度示意图 背景可以随温度变化
  9. 思科路由器配置命令(三)
  10. Google预训练语言模型T5
  11. MCU6050陀螺仪快速入门资料分享
  12. 转:面对失败,我们只是固执地想证明之前的决策是对的
  13. Python如何进行中文注释
  14. 【应用安全】什么是身份和访问管理 (IAM)?
  15. Revisiting Network Support for RDMA
  16. 数模补充(4)灵敏度分析
  17. 异构医院信息系统(HIS)更换时数据迁移的方法
  18. CentOS6u9 Oracle11g 单机OGG灾备部署测试
  19. 游戏建模大佬教你九招轻轻松松学会三维动画制作绑定技术!
  20. 两大方向各有机会,CRM SaaS还能怎么玩?

热门文章

  1. binlog2sql 工具安装使用及问题汇总
  2. Python调用matlab及其配置方法
  3. 创建一个angular7加GN-ZORRO的工程
  4. 易灵思FPGA-项目设计指南一
  5. python 提高文件搜索效率_查找目标文件太慢了,用好搜索引擎,让你比Python找资源更快捷...
  6. DLL依赖查看神奇CFF Explorer
  7. 查看DLL模块内的函数原型
  8. rap2使用姿势——前端、后端、测试必看(多gif图)
  9. Rap2导出swagger2格式json,方便转入yapi
  10. WordPress备案链接工信部官网