测试用例设计方法-场景法详解

01 定义

场景法是通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果的一种方法。

场景法一般包含基本流和备用流,从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备用流来完成整个场景。

场景主要包括4种主要的类型:

正常的用例场景

备选的用例场景

异常的用例场景

假定推测的场景

02 基本流备用流

图片

上图为:用例基本流和备选流(注意:备选流的起止点)

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

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

上图生成的场景如下:

场景1:基本流

场景2:基本流 备选流1

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

场景4:基本流 备选流3

场景5:基本流 备选流3 备选流2

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

场景7:基本流 备选流4

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

为什么场景法能如此清晰的描述整个事件?

因为,现在的系统基本上都是由事件来触发控制流程的。

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

03 场景法设计步骤

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

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

对每一个场景生成相应的[url=]测试用例[/url]

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

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

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

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

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

04 场景法设计实例

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

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

基本流:登录网站,选购物品,账号登录,付钱交易,生成订单

备选流:无账号,账号或密码错误,账号没有钱,账号余额不足 用户退出系统

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

场景1:登录网站,选购物品,账号登录,无账号

场景2:登录网站,选购物品,账号登录,账号或密码错误

场景3:登录网站,选购物品,账号登录,付钱交易,账号没有钱

场景4:登录网站,选购物品,账号登录,付钱交易,账号余额不足

场景5:登录网站,选购物品,账号登录,付钱交易,生成订单

场景6:登录网站,选购物品,账号登录,用户退出系统

3、根据场景生成相应的测试用例

测试用例ID场景/条件账号密码余额预期结果

场景1:无账号In/an/a提示无账号

场景2:账号或密码错误(账号错误,密码正确)IVn/a提示账号或密码错误重新输入

场景2:账号或密码错误(账号正确,密码错误)VIn/a提示账号或密码错误重新输入

场景3:账号余额不足VVI提示账号余额不足

场景4:账号没有钱VVI提示账号余额不足

场景5:购物成功VVV生成订单

场景6:操作中退出系统VV用户退出系统

4、根据上表,设计数据,填入数据

测试用例ID场景/条件账号密码余额预期结果

场景1:无账号hn/an/a提示无账号

场景2:账号或密码错误(账号错误,密码正确)f0n/a提示账号或密码错误重新输入

场景2:账号或密码错误(账号正确,密码错误)ffIn/a提示账号或密码错误重新输入

场景3:账号余额不足ff010提示账号余额不足

场景4:账号没有钱ff00提示账号余额不足

场景5:购物成功ff0500生成订单,余额减少

场景6:操作中退出系统ff0用户退出系统

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保100%免费】
在这里插入图片描述

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Java面试题:volatile专题

王有志,一个分享硬核Java技术的互金摸鱼侠 加入Java人的提桶跑路群:共同富裕的Java人 今天是《面霸的自我修养》第4篇文章,我们一起来看看面试中会问到哪些关于volatile的问题吧。数据来源: 大部分来自于各机构(Java之父,Java继父,某灵,某泡,某客)以及各博主整理文档…

【前端素材】推荐优质后台管理系统Spica Admin平台模板(附源码)

一、需求分析 后台管理系统是一种用于管理网站、应用程序或系统的工具,它通常作为一个独立的后台界面存在,供管理员或特定用户使用。下面详细分析后台管理系统的定义和功能: 1. 定义 后台管理系统是一个用于管理和控制网站、应用程序或系统…

树莓派4B傻瓜式安装系统配置(无显示器)

一、前言: 本教程详细描述树莓派如何装系统,如何连接电脑显示屏,有详细安装包,有需要的可以点击链接下载,没有会员的宝宝可以关注后私信我。 (树莓派4B傻瓜式安装系统配置(无显示器&#xff0…

C语言中关于#include的一些小知识

写代码的过程中,因为手误,重复包含了头文件 可以看到没有报错 如果是你自己编写的头文件,那么如果没加唯一包含标识的话,那么编译器会编译报错的。如果是系统自带的头文件,由于其每个头文件都加了特殊标识&#xff0c…

pytest结合Allure生成测试报告

文章目录 1.Allure配置安装2.使用基本命令报告美化1.**前置条件**2.**用例步骤****3.标题和描述****4.用例优先级**3.进阶用法allure+parametrize参数化parametrize+idsparametrize+@allure.title()4.动态化参数5.环境信息**方式一****方式二**6.用例失败截图1.Allure配置安装 …

C语言-指针初学速成

1.指针是什么 C语言指针是一种特殊的变量,用于存储内存地址。它可以指向其他变量或者其他数据结构,通过指针可以直接访问或修改存储在指定地址的值。指针可以帮助我们在程序中动态地分配和释放内存,以及进行复杂的数据操作。在C语言中&#…

.NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2

前言 很多同学都不愿给电脑设动态壁纸,其中有个重要原因就是嫌它占资源过多。今天大姚分享一个.NET开源、免费(MIT license)的一个小而快并且功能强大的 Windows 动态桌面软件,支持视频和网页动画播放:DreamScene2。 …

个人博客系列-环境配置-gitee(2)

注册gitee账户 地址:https://gitee.com/ 此步骤省略 新建仓库 执行以下命令 即可 拉取代码 创建目录 mkdir myCode && cd myCode 登录gitee找到项目,点击克隆,拉取代码 连接远程仓库命令 git remote add origin 仓库地址http…

Unity导出Android studio项目遇到的aar无法打包问题

Android Studio 接入现有aar 前因,开发过程中,发现Unity打包出来的android包,带有aar,随着android studio打包的过程中,发现要么提示aar要从网络下载,下载不到,要么提示当前aar不能直接在本地引入(玄学,之前一直不会),会导致损坏。 原因,Android studio版本高,An…

大数据 - Spark系列《十一》- Spark累加器详解

Spark系列文章: 大数据 - Spark系列《一》- 从Hadoop到Spark:大数据计算引擎的演进-CSDN博客 大数据 - Spark系列《二》- 关于Spark在Idea中的一些常用配置-CSDN博客 大数据 - Spark系列《三》- 加载各种数据源创建RDD-CSDN博客 大数据 - Spark系列《…

PMP考试是什么,怎么学,怎么考?

一、PMP是什么 PMP 是项目管理的入门级证书,全称是项目管理专业人士资格认证,由美国项目管理协会(PMI)举办的,从1999 年到现在已经有20多年发展历史了。 顾名思义,PMP考试就是一场评估应试者是否具备专业…

个人博客系列-项目部署-nginx(3)

使用Nginx uwsgi进行部署django项目 一. 检查项目是否可以运行 启动项目 python manage.py runserver 0.0.0.0:8099输入ip:8099 查看启动页面 出现上述页面表示运行成功 二. 安装uwsgi并配置 2.1 下载uwsgi pip install uwsgi新建文件test.py写入内容,测试一…