场景设计法

2023-05-16

目录

一、场景设计法

1.理解

二、场景法的基本设计步骤

三、场景设计法需要掌握的基本知识

1.基本流和备选流

2.测试用例组成

四、优缺点

1.优点

2.缺点

五、使用场景

六、注意

七、实例

1.案例

2.分析需求,确定基本流和备选流事件

3.根据基本流和备选流来确定场景

4.设计用例

5.设计测试用例中所需的数据


一、场景设计法

1.理解

  • 现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景;
  • 场景法是一种通过使用“场景”对软件系统的功能点或业务流程进行描述,即针对需求模拟出不同的场景进行所有功能点及业务流程的覆盖;

二、场景法的基本设计步骤

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

三、场景设计法需要掌握的基本知识

1.基本流和备选流

  • 基本流

也叫有效流或正确流;

模拟用户正确的业务操作流程;

  • 备选流

也叫无效流或错误流;

模拟用户错误的业务操作流程。

2.测试用例组成

  • 针对生成的各场景,设计相应的测试用例;
  • 可以采用矩阵或者判定表来确定和管理测试用例;
  • 每个测试用例包含:ID、条件(或说明)、数据元素、预期结果;
  • 通过从确定执行用例场景所需的数据元素入手构建矩阵;
  • 矩阵中包含:

V(有效):用于表明这个条件必须是 VALID(有效的)才可执行基本流;

I(无效):用于表明这种条件下将激活所需备选流;

n/a”(不适用):表明这个条件不适用于测试用例。

四、优缺点

1.优点

  • 涉及到业务场景,使用场景法有利于测试设计者设计测试用例,使测试用例更容易理解和执行。

2.缺点

  • 只验证业务流程,不验证单点功能;

五、使用场景

  • 一般先采用等价类划分、边界值分析、错误推断法、因果图及判定表法等对单点功能进行验证,验证通过后再采用场景法进行业务流程的验证。
  • 主要用来测试软件的业务逻辑和业务流程。

六、注意

  • 基本上每个软件都会用到场景法,因为每个软件背后都有业务的支撑。
  • 使用场景法,目的是用业务流把各个孤立的功能点串起来,为测试人员建立整体业务感觉,从而避免陷入功能细节忽视业务流程要点的错误倾向。
  • 业务流程测试没有问题并不代表系统的功能都正确,还必须对单个功能进行详细的测试,这样才能保证测试的充分性。
  • 场景法的核心就是“场景”二字,你所需要的就是要找出场景,场景找出来了,测试用例也就水到渠成。在很多流程图中,有不少备选流其实是隐藏的,大家一定要注意将他们都准确筛选出来。

七、实例

1.案例

  • 用户进入网上购物系统网站进行购物,选好物品后进行购买;
  • 这时需要使用账号登录,登录成功后付款,交易成功后生成订单,完成此次购物活动。

2.分析需求,确定基本流和备选流事件

 

3.根据基本流和备选流来确定场景

 

4.设计用例

 

5.设计测试用例中所需的数据

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

场景设计法 的相关文章

  • C++实现算法服务的一些经验总结

    文章目录 一 算法模型调用的几种方式二 python算法服务的优缺点三 C 43 43 算法服务的优缺点四 C 43 43 算法服务的几种实现方式五 C 43 43 基于http的算法服务实现思路六 记录调用 xff1a 日志 数据库七 性
  • Java中使用jedis操作redis(使用maven)

    jedis的使用 前言一 简单使用示例1 快速入门2 操作五种数据格式 二 jedis连接池 xff1a jedisPool1 示例2 jedies详细配置 三 创建连接池工具类1 jedis properties2 JediesPoolU
  • maven中使用jdbc

    用到的有数据库连接池 JDBCTemplate 一 首先导入jar包 lt mysql驱动 xff0c 使用对应版本jar包依赖 gt lt dependency gt lt groupId gt mysql lt groupId gt l
  • 解决风扇狂转不止的好方法

    这两天风扇狂转不止 xff0c 真让我头疼 xff0c 现在弄好了 安装一个软件 软件官网 我的是thinkpade580 xff0c 对其他电脑生不生效我不清楚 xff08 但可以一试 xff09 下载后直接安装即可 有个地方实时显示着温
  • 安装hadoop3.x版本踩坑

    报错 xff1a ERROR Attempting to operate on hdfs namenode as root ERROR but there is no HDFS NAMENODE USER defined Aborting
  • 报错:Description: No bean of type ‘org.apache.shiro.realm.Realm‘ found

    springboot整合shiro的时候出现了报错 报错信息 xff1a Description No bean of type 39 org apache shiro realm Realm 39 found Action Please
  • 计算机网络课后习题概略

    计算机网络 课后习题 第一章 概述 1 01 计算机网络可以向用户提供哪些服务 xff1f 服务功能或作用数据传输网络间个计算机之间互相进行信息的传递 资源共享进入网络的用户可以对网络中的数据 软件和硬件实现共享 分布处理功能通过网络可以把
  • Kittle案例(Excel输入,生成记录,生成随机数,获取系统信息,排序记录,去除重复记录,替换NULL值)

    一 Excel输入 1 创建转换 将要处理的文件保存到Excel表中 xff0c 然后打开kettle创建一个转换并命名 xff0c 拖入 Excel输入 控件 2 配置Excel输入控件 浏览导入Excel文件 单击 浏览 B 按钮 xf
  • 第七章 数据加载

    一 全量加载 从技术角度来说 xff0c 全量加载比增量加载的操作要简单很多 xff0c 即只需要在数据加载之前 xff0c 将目标数据表进行清空 xff0c 再将源数据表中的数据全部加载到目标表中 案例实现 xff1a 数据装备 xff1
  • 第八章 综合案例——构建DVD租赁商店数据仓库(1)

    一 加载日期数据至日期维度表 操作介绍 xff1a 下面通过Kettle工具加载日期数据至dim date日期维度表 1 打开Kettle工具 xff0c 创建转换 使用Kettle工具 xff0c 创建一个转换load dim date
  • 第八章 综合案例——构建DVD租赁商店数据仓库(2)

    一 加载用户数据至用户维度表 操作介绍 xff1a 通过Kettle工具加载用户数据至用户维度表dim customer 1 打开Kettle工具 xff0c 创建转换load dim customer 使用Kettle工具 xff0c 创
  • C++与python交互库-pybind11的返回值策略 return_value_policy

    pybind11的返回值策略 return value policy 一 返回值策略的必要性二 一个导致crash的例子三 所有的返回值策略的探讨四 补充说明 一 返回值策略的必要性 C 43 43 和python使用根本上就不一样的内存管
  • 第八章 综合案例——构建DVD租赁商店数据仓库(3)

    一 加载演员数据至演员维度表 操作介绍 xff1a 通过Kettle工具加载演员数据至演员维度表dim actor 1 打开Kettle工具 xff0c 创建转换 使用Kettle工具 xff0c 创建一个转换load dim actor
  • 树莓派4b安装python库

    树莓派4b安装python库 树莓派安装好系统后自带的有python2和python3 xff0c 默认是使用python2 xff0c 可以打开树莓派查看 xff1a 输入python 查看默认的python版本 xff1a 我原来默认是
  • SONIC+P4

    SONIC简介 背景 微软于2015年先后发表了SAI和SONIC SONIC产业日益繁荣 xff0c 已超过六十家 创新 SONiC使用了大量现有的开源技术 xff1a Docker Redis Quagga和LLDPD以及自动化配置工具
  • 6.ROS&PX4--Pixhawk无人机+A1激光雷达SLAM部署

    6 ROS amp PX4 无人机A1激光雷达SLAM部署 一 常见2D SLAM算法 Gmapping Hector SLAM Cartographer Gmapping 基于粒子滤波的2D激光雷达SLAM xff0c 构建二维栅格地图
  • Codeblock提示: Can‘t find compiler executable in your configured search path‘s for GNU GCC无法找到编译器

    can t find compiler executable in your configured search path s for GUN GCC Complier的应对办法 今天使用codeblocks 点击Settings Comp
  • Hexo系列 | Hexo安装、启动

    目录 前言 一 Hexo是什么 二 安装node js 三 安装Git 四 检查是否安装成功 五 Hexo安装 启动 前言 用Hexo框架搭建个人博客 xff0c 记录搭建过程 个人博客效果 一 Hexo是什么 Hexo官网 Hexo 是一
  • 【python】python语法糖

    python 语法糖 1 什么是语法糖 x1f36c 语法糖是由编程语言提供的一种可以让我们写出来的代码在不影响语句执行的功能的条件下 xff0c 能够让我们的代码看起来更简洁和美观的一种语法 很多人刚开始接触语法糖的时候 xff0c 总会
  • 因装了python3.6版本导致ubuntu下terminal无法打开

    参考stack overflow xff1a https stackoverflow com questions 61144232 updated to python 3 8 terminal wont open fixed but det

随机推荐

  • E: 无法下载 https://mirrors.tuna.tsinghua.edu.cn/kali/dists/kali-rolling/main/Contents-amd64.gz 文件尺寸不符

    本人是新手 这个问题困扰了我很久 在网上也查了很久 答案千篇一律 我写下我的解决方法 希望对你有帮助 问题 E 无法下载 https mirrors tuna tsinghua edu cn kali dists kali rolling
  • 软件工程知识点总结

    1 软件的本质 1 1 软件是什么 xff1a 软件是能够完成预定功能和性能 xff0c 并对相应数据进行加工的程序和描述程序操作的文档 1 2 软件的特点 软件是设计开发的 xff0c 而不是传统意义上生产制造的软件不会 磨损 虽然整个工
  • C++ lambda表达式如何理解?编译器做了什么

    lambda表达式在C 43 43 11中引入 xff0c 用lambda表达式表示匿名函数非常方便 xff0c 语法很简单 xff0c 而且可以使代码更紧凑 xff0c 更易于阅读 一个例子 xff1a span class token
  • mysql主从复制&读写分离

    文章目录 本文内容前言1 MySQL主从复制1 1 介绍1 2 搭建1 2 1 准备工作1 2 2 主库配置1 2 3 从库配置 1 3 测试 2 读写分离案例2 1 背景介绍2 2 ShardingJDBC介绍2 3 数据库环境2 4 初
  • 输出所有质数

    1 实验目的 了解数字 布尔值 字符串 列表 元组 字典 集合等Python常用的变量类型 熟练掌握运算符 内置函数的用法 熟练掌握元素常用方法 切片和列表推导式 2 实验内容 xff08 一 xff09 输出所有质数 输入一个整数 xff
  • 声音克隆项目实现

    声音克隆 原理介绍 第一个模块 xff1a 收到说话人音频 xff0c 然后转成这样一个低维表征向量speaker embedding xff0c xff08 这个向量富含说话信息 xff09 实现方式 xff1a 由于是无监督学习 xff
  • c语言枚举类型

    定义 在c语言中 xff0c 枚举类型定义用关键字enum标识 xff0c 形式为 xff1a enum 名字 枚举数据表 xff08 用 xff0c 隔开 xff09 xff1b 注意 xff1a xff08 1 xff09 enum是关
  • 交换机二三层协议及其详细解答

    交换机二三层协议及其详细解答 概述二层协议三层协议以太网协议示例代码 CSMA CD协议示例代码 IP协议示例代码 概述 交换机是网络设备的一种 xff0c 主要用于连接多个网络设备 xff0c 以实现网络通信和数据传输 交换机的协议分为两
  • C++ MVC模式

    概述 C 43 43 是一种流行的编程语言 xff0c 它可以用于构建各种类型的应用程序 xff0c 包括Web应用程序 桌面应用程序和移动应用程序 在这里 xff0c 我将为您介绍C 43 43 中的MVC模式 xff0c 以及如何在C
  • C++ 线程操作

    C 43 43 线程操作 概述 线程是 Linux 操作系统中的一种轻量级进程 xff0c 用于实现并发执行 线程可以共享进程的资源 xff0c 包括内存 文件句柄等 在 C 43 43 中 xff0c 线程操作由标准库提供支持 xff0c
  • QT常用类型字节数组QByteArray及其基本使用

    目录 概述特点常见函数QByteArray append xff1a QByteArray insert xff1a QByteArray replace xff1a QByteArray remove xff1a QByteArray t
  • QT图像处理类QImage常见使用方法

    目录 概述加载和保存图像图像缩放和旋转图像灰度化QImage convertToFormat 图像二值化threshold 函数 loadFromData 从内存加载图像拓展 概述 Qt 是一个跨平台的 C 43 43 库 xff0c 提供
  • pytorch卷积神经网络中间特征层可视化

    前言 在我们使用神经网络的过程中 xff0c 经常会好奇中间的网络到底学到了些什么 xff0c 所以常常想用可视化的方法来输出这些特征层 xff0c 所以惊天带大家用一个简易的网络来输出这些特征层 搭建网络 span class token
  • C++11 lambda表达式在回调函数中的使用

    C 43 43 11 lambda表达式在回调函数中的使用 一 lambda表达式在C 43 43 异步框架中的应用1 一个boost asio的例子2 C 43 43 http框架cutelyst在异步执行PostgreSQL数据库sql
  • MySQL知识点总结(一)

    文章目录 前言最左前缀匹配规则Mysql中sql语句执行太慢 xff0c 是什么原因 xff0c 怎么解决 xff0c 用什么命令查看如何查看是否用到索引为啥加了索引会变快判断是否走联合索引总结 前言 本文来介绍数据库啦 最左前缀匹配规则
  • 基于 NCC/灰度信息 的模板匹配算法(QT + Opencv + C++),10ms内获取匹配结果,部分源码

    文后代码 xff0c 优化效果图结尾处 xff0c 最快3ms得到匹配结果 NCC xff0c 全称为Normalized Cross Correlation xff0c 即归一化互相关系数 xff0c 在模板匹配中使用的非常非常广泛 xf
  • 网络应用基础 ——(2023新星计划文章二)

    一 xff0c TCP报头解析 数据打包与解析直观图 xff1a 1 0报文与报文字段 1 0 1 报文 报文是计算机网络中交换信息的基本单位 xff0c 是一种用于在网络中传递数据的结构化数据格式 在网络通信中 xff0c 数据会被封装成
  • ROS中工作空间和功能包的创建以及发布者Publisher的实现

    最近刚刚开始学习ROS xff0c 对于整个ROS的框架和功能正在一点点的了解 xff0c 跟着B站古月居的 ROS入门21讲 课程 xff0c 在安装好linux和ROS后 xff0c 正式开始ROS的学习 xff0c 动手实践敲代码 x
  • Failed to fetch https://mirrors.tuna.tsinghua.edu.cn/ubuntu//dists/bionic/main/binary-arm64/Packages

    在jeston nano执行 sudo apt update 的时候出现下列错误 xff1a Failed to fetch https mirrors tuna tsinghua edu cn ubuntu dists bionic ma
  • 场景设计法

    目录 一 场景设计法 1 理解 二 场景法的基本设计步骤 三 场景设计法需要掌握的基本知识 1 基本流和备选流 2 测试用例组成 四 优缺点 1 优点 2 缺点 五 使用场景 六 注意 七 实例 1 案例 2 分析需求 xff0c 确定基本