黑盒测试用例设计 - 场景法

news2025/7/7 21:04:59

原理

  • 现在的软件几乎都是用时间触发来控制流程的。测试时,可以以生动的描述出触发时的情景,有利于设计测试用例,同时使测试用例更容易理解和执行。
  • 基本流:软件功能按照正确的事件流实现的一条正确流程。通常一个业务仅存在一个基本流,且基本流仅有一个起点和一个终点
  • 备选流:除了基本流之外的各支流,包含多种不同的情况。

场景列表

  • 场景 1 基本流
  • 场景 2 基本流 备选流 1
  • 场景 3 基本流 备选流 1 备选流 2
  • 场景 4 基本流 备选流 3
  • 场景 5 基本流 备选流 4
    老街头的猫。

注意

  1. 场景中必须有基本流
  2. 场景中必须有内容从用例的开始,到用例的结束。

设计用例的步骤

  • 根据说明,描述出程序的基本流及各项备选流
  • 根据基本流和各项备选流生成不同的场景
  • 对每一个场景生成相应的测试用例
  • 对生成的所有测试用例重新复审,去掉多余的测试用例
  • 测试用例确定后,对每一个测试用例确定测试数据值

适用于

  • 场景法适用于解决业务流程清晰的系统功能

案例:ATM机的取款流程

第一步:描述出基本流和各项备选流
基本流:插卡 -> 输入密码 -> 选择取款服务 -> 选择取款金额 -> 出钞 -> 取卡
老街头的猫。

备选流:
老街头的猫。

  1. 卡片不是银行卡
  2. 卡片不是银联卡
  3. 密码输错一次
  4. 密码输错两次,第三次输入正确
  5. 密码输入错误三次,被吞卡
  6. 选择存款服务
  7. 选择查询服务
  8. 选择转账服务
  9. 选择取款金额
  10. 选择其他取款金额
  11. 选择查询账户金额
  12. ATM机没钱了
  13. 账户取款金额达到账户当日取款交易上限
  14. 取款机停电了
  15. 取款机掉线了
  16. 存入假钞
  17. 转账账户不存在
  18. 转账账户存在

第二步:根据基本流和各项备选流生成不同的场景
场景设计:
场景 1:基本流
场景 2:基本流 + 备选流 1

场景 19:基本流 + 备选流 18

第三步:对每一个场景生成相应的测试用例
场景 1 用例:

  1. 插入银联卡
  2. 输入正确密码
  3. 选择服务为取款
  4. 选择取款金额为500
  5. 等待出钞
  6. 取出卡片
    预期结果:取出500元现金,余额-500元,并且正常取出卡片

场景 2 用例:

  1. 插入公交卡
  2. 退卡

预期结果:退出卡片

以此类推…

场景 19 用例:

  1. 插入银联卡
  2. 输入正确密码
  3. 选择服务为转账
  4. 输入转账账户
  5. 输入转账金额2000
  6. 等待转账成功
  7. 取出卡片

预期结果:收款账户余额+2000、转账账户余额-2000,并且正常取出卡片

第四步:对生成的所有测试用例重新复审,去掉多余的测试用例
比如将 场景一二三四合并为一条用例:

  1. 插卡(万事通卡)
  2. 换卡(银联卡)
  3. 输入密码(第一次输入错误)
  4. 再次输入密码(第二次输入错误)
  5. 第三次输入密码(输入正确)
  6. 选择服务(取款)
  7. 选择取款金额(1000)
  8. 等待出钞
  9. 取出卡片

预期结果:取出1000元现金,余额-500元,并正常取出卡片

第五步:测试用例确定后,对每一个测试用例确定测试数据值

  • 输入密码第一次输入错误数据:123456
  • 输入密码第二次输入错误数据:654321
  • 输入密码第三次输入正确数据:123666
  • 选择取款金额数据:100
  • 选择取款金额数据:500
  • 选择取款金额数据:1000
  • 选择取款金额数据:其他 -> 8000
  • 输入转账金额数据:1000

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

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

相关文章

[洛谷]P2234 [HNOI2002]营业额统计

[洛谷]P2234 [HNOI2002]营业额统计一、问题描述题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示二、问题分析1、算法标签2、思路分析三、代码实现一、问题描述 [洛谷]P2234 [HNOI2002]营业额统计 题目描述 Tiger 最近被公司升任为营业部经理,他上任后…

微服务系列 - Zookeeper下篇:源码解析

前言 关于zookeeper的入门到精通请阅读:微服务系列 - Zookeeper上篇 注:本内容仅用于个人学习笔记,如有侵扰,联系删除 参考文档:https://blog.csdn.net/mjb740074431/article/details/120173792 一、算法基础 Zook…

@Configuration注解

1.作用 Configuration注解的作用:声明一个类为配置类,用于取代bean.xml配置文件注册bean对象。 2.基础运用 Configuration注解最常见的搭配使用有两个:Bean和Scope Bean:等价于Spring中的bean标签用于注册bean对象的&#xff…

SpringBoot 过滤器、拦截器、监听器对比及使用场景

一、关系图理解 二、区别 1.过滤器 过滤器是在web应用启动的时候初始化一次, 在web应用停止的时候销毁 可以对请求的URL进行过滤, 对敏感词过滤 挡在拦截器的外层 实现的是 javax.servlet.Filter 接口,是 Servlet 规范的一部分 在请求进入容器后,但…

Java 线程的六种状态及其简易转换

1.Java中线程的状态分为六种 NEW:初始状态,线程被创建,但是还没有调用start()方法。 RUNNABLE:运行状态,Java线程将操作系统中的就绪和运行两种状态笼统地称作“运行中”。 BLOCKED:阻塞状态,表示线程阻塞于…

IJCAI-2022 多级发射方法的脉冲神经网络

原文链接:CSDN-脉冲神经网络(SNN)论文阅读(四)-----IJCAI-2022 多级发射方法的脉冲神经网络 Multi-Level Firing with Spiking DS-ResNet: Enabling Better and Deeper Directly-Trained Spiking Neural Networks目录说…

SAP UI5 Smart Table 和 Smart Filter Bar 的联合使用方法介绍试读版

本教程第 147 个步骤,我们介绍了 SAP UI5 Smart Table 控件的用法: SAP UI5 应用开发教程之一百四十七 - SAP UI5 SmartTable 控件的使用介绍 如下图所示: 本步骤我们在 Smart Table 本身的基础上再进一步,学习如何将 Smart Tab…

占道摆摊经营监控报警系统 yolov5

占道摆摊经营监控报警系统通过Python基于yolov5深度学习网络模型,对城市道路区域实时检测,当yolov5模型检测到有流动摊点摆摊违规经营时,立即抓拍告警。Yolo模型采用预定义预测区域的方法来完成目标检测,具体而言是将原始图像划分…

[java]-JDBC

JDBC 是 Java 连接数据库的一种方式,它是一种 Java API,可以用于连接数据库,并且可以访问数据库中的数据。 JDBC 原理 JDBC 是接口,驱动是接口的实现,没有驱动将无法完成数据库连接,从而不能操作数据库!每…

USB TO SPI(上海同旺电子)调试器调试MCP4822

所需设备: 1、USB TO SPI(上海同旺电子); 2、MCP4822:双通道12 位电压输出DAC; 特性 • MCP4802:双通道8 位电压输出DAC • MCP4812:双通道10 位电压输出DAC • MCP4822:双通道12 位电压输出DAC • 轨对…

React18:创建React项目(自动)

文章目录使用步骤项目目录结构Node_modulesPublicSrcPackage.Json总结使用步骤 打开命令行进入到项目所在目录使用如下命令:npx create-react-app 项目名 注意:项目名不能带大写字符 项目目录结构 项目目录结构如下: react-app├─ no…

网络实验之RIPV2协议(二)

一、RIPV2协议和实验简介 RIP-2是一种无类别路由协议(Classless Routing Protocol),支持路由标记,在路由策略中可根据路由标记对路由进行灵活的控制。报文中携带掩码信息,支持路由聚合和CIDR(Classless Int…

MMIM(2021 EMNLP)分级互信息最大化

论文题目(Title):Improving Multimodal Fusion with Hierarchical Mutual Information Maximization for Multimodal Sentiment Analysis 研究问题(Question):提出了一个名为 (MMIM),它在层次上…

Centos7下安装Nginx及配置SSL

文章目录1.官网下载Nginx2.安装依赖包3.安装Nginx4.启动Nginx5.防火墙放开端口6.Nginx的SSL模块安装7.SSL证书准备8.Nginx配置SSL1.官网下载Nginx ​ 去官网下载需要的nginx压缩包,地址:http://nginx.org/en/download.html,此处下载最新稳定…

DFS——剪枝

文章目录概述优化搜索顺序排除等效冗余可行性剪枝最优性剪枝例题小猫爬山木棒总结概述 优化搜索顺序 不同的搜索顺序会产生不同的搜索树形态,与可行性剪枝结合,去除非法状态,按照一定顺序可使规模大幅度减小。 例: 给定一个无重复…

JavaSE第6篇:面向对象上

一、面向对象 1、面向对象:人关注对象、人关注具体事物信息 2、对象: 只要是客观存在的事物皆为对象 面向对象程序设计的重点是类的设计 设计类就是设计类的成员 思考:人把大象装进冰箱 ? 面向过程POP思想:强调的是过程(动…

Web前端开发入门学习分享

Web前端开发入门学习分享 1&#xff1a;如何开始学习Web前端 首先你需要学习html的各个标签&#xff0c;掌握其用法和规范&#xff0c;明白其作用。 开始学习css的使用&#xff0c;你先学习在html页面中为标签增加css样式&#xff0c;其次是将css写在网页的<head></…

【记录】chmod修改组属性失效问题

记录一次chmod命令修改文件夹失效问题。 1.问题描述 有一个普通用户的目录test权限是750&#xff0c;使用chmod将文件权限修改成770发现同组的其他用户无法在该目录创建文件。 2.问题原因 给目录设置acl权限导致chmod在修改文件权限时失效【其实不是失效了】 调研发现&#…

超1.58亿人将“血拼”,超级星期六购物节即将到来

超1.58亿人将“血拼”&#xff01;美国超级星期六购物节即将到来&#xff01;亚马逊出手整治“远仓近送”&#xff01;据美国零售联合会的年度消费者调查结果显示&#xff0c;在今年圣诞节前的最后一个星期六&#xff08;即超级星期六&#xff09;&#xff0c;将有1.58亿人发生…

集成滤波器的5G大规模天线的S参数测试方法

【摘 要】集成滤波器的5G大规模天线由于每个通道包含了一组滤波器,使得5G大规模天线的通道之间的幅度和相位一致性指标变得很差,进一步地,使得获取除滤波器以外的纯通道之间的幅度和相位的一致性指标变得非常困难。对集成滤波器的5G大规模天线的测试方法进行了原理分析和实…