软件测试与管理:黑盒测试-因果图法和场景法

news2024/10/5 16:31:29

知识思维导图:

​​​​​​​

例题1:运用因果图法设计测试用例

有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:

  • 若投入5角钱或1元钱的硬币,按下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。
  • 若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来;
  • 若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。

1.分析这一段说明,列出原因和结果

C1

投入5角钱

E1

送出〖橙汁〗饮料

C2

投入1元钱

E2

送出〖啤酒〗饮料

C3

按下〖橙汁〗按钮

E3

〖零钱找完〗红灯亮

C4

按下〖啤酒〗按钮

E4

退出1元硬币(不送出饮料)

C5

售货机没零钱

E5

退还5角硬币(送出饮料)

2.画出因果图,所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态

3.将因果图转换成判定表:25=32

从因果图导出的判定表

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

输入

投入5角钱

C1

1

1

1

1

0

0

0

0

0

0

0

0

1

1

0

0

投入1元钱

C2

0

0

0

0

1

1

1

1

0

0

0

0

0

0

1

1

按下〖橙汁〗按钮

C3

1

1

0

0

1

1

0

0

1

1

0

0

0

0

0

0

按下〖啤酒〗按钮

C4

0

0

1

1

0

0

1

1

0

0

1

1

0

0

0

0

售货机没有零钱

C5

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

中间节 点

已投币

D1

1

1

1

1

1

1

1

1

0

0

0

0

1

1

1

1

已按钮

D2

1

1

1

1

1

1

1

1

1

1

1

1

0

0

0

0

有零钱找

D3

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

输出

送出〖橙汁〗饮料

E1

1

1

0

0

1

1

0

0

1

1

0

0

0

0

0

0

送出〖啤酒〗饮料

E2

0

0

1

1

0

0

1

1

0

0

1

1

0

0

0

0

〖零钱找完〗红灯亮

E3

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

退出1元硬币(不送出饮料)

E4

0

0

0

0

1

0

1

0

0

0

0

0

0

0

1

0

退还5角硬币(送出饮料)

E5

0

0

0

0

0

1

0

1

0

0

0

0

0

0

0

1

4. 设计用例 

用例ID

功能模块

测试输入

执行步骤

预期输出

实际输出

缺陷ID

用例1

自动售货机软件

5角

橙汁按钮

C1,C3,D1,D2,E1

送出橙汁

送出橙汁

用例2

自动售货机软件

5角

啤酒按钮

C1,C4.D1.D2.E2

送出啤酒

送出啤酒

用例3

自动售货机软件

1元

橙汁按钮

C2,C3,D1,D2,E5

送出橙汁

退还5角硬币

送出橙汁

退还5角硬币

用例4

自动售货机软件

1元

啤酒按钮

C2,C4.D1.D2.E5

送出啤酒

退还5角硬币

送出啤酒

退还5角硬币

用例5

自动售货机软件

5角

C1

提示操作未完成

提示操作未完成

用例6

自动售货机软件

1元

C2

提示操作未完成

提示操作未完成

用例7

自动售货机软件

橙汁按钮

C3

提示操作未完成

提示操作未完成

用例8

自动售货机软件

啤酒按钮

C4

提示操作未完成

提示操作未完成

用例9

自动售货机软件

没有零钱

1元

橙汁按钮

C2,C5,C3,D1,D2,E4

没有饮料送出退还硬币并亮红灯

没有饮料送出退还硬币

用例10

自动售货机软件

没有零钱

1元

啤酒按钮

C2,C5,C4,D1,D2,E4

没有饮料送出退还硬币并亮红灯

没有饮料送出退还硬币

用例11

自动售货机软件

没有零钱

橙汁按钮

C4,C5

提示要进行投币操作并亮红灯

提示要进行投币操作并且没有注意此时零钱

用例12

自动售货机软件

没有零钱

啤酒按钮

C3,C5

提示要进行投币操作并亮红灯

提示要进行投币操作并且注意此时没有零钱

用例13

自动售货机软件

没有零钱

5角

啤酒按钮

C5,C1,C4,D1,D2,E2

送出啤酒,并亮红灯

送出啤酒,同时提示没有零钱

用例14

自动售货机软件

没有零钱

5角

橙汁按钮

C5,C1,C4,D1,D2,E1

送出橙汁,并亮红灯

送出橙汁,同时提示没有零钱

用例15

自动售货机软件

5角

没有零钱

C1,C5

提示要进行按钮操作并亮红灯

提示要进行按钮操作并注意此时没有零钱

用例16

自动售货机软件

1元

没有零钱

C2,C5

提示要进行按钮操作并亮红灯

提示要进行按钮操作并注意此时没有零钱

例题2:ATM的转账或存钱业务流的场景法设计测试用例

1. 画出你知道的基本流和备选流;

基本流和备选流

基本流

在ATM机上进行转帐/存钱,插卡,输入密码,选择取款金额/放入钞票,点击确认按钮,存取款成功,选择是否打印业务单,退卡

备选流1

密码输入错误

备选流2

存款不足

备选流3

ATM出现吞卡故障

备选流4

钞票识别错误

备选流5

ATM机无法使用

备选流6

ATM机不支持该银行卡

2.列出你认识的所有场景;

场景设计

场景

路径

场景1:存/取款成功

基本流

场景2:密码输入错误

基本流

备选流1

场景3:取款余额不足

基本流

备选流2

场景4:无法退卡

基本流

备选流3

场景5:钞票识别错误无法存入

基本流

备选流4

场景6:无法操作使用ATM机

基本流

备选流5

场景7:ATM机插卡失败

基本流

备选流6

3.根据场景列出测试用例表。

测试用例

用例ID

场景/条件

密码

卡号

金额

预期结果

1

场景1:存/取款成功

V

V

V

操作成功

2

场景2:密码输入错误

I

V

V

提示“密码错误”

3

场景3:取款余额不足

V

V

I

提示“余额不足”

4

场景4:无法退卡

V

V

V

操作成功,但退卡失败,要联系人工客服解决

5

场景5:钞票识别错误无法存入

V

V

I

提示“重新放入钞票”

6

场景6:无法操作使用ATM机

n/a

n/a

n/a

无法操作,换机器

7

场景7:ATM机插卡失败

n/a

n/a

n/a

无法操作,换银行

ps:V-表示有效的数值;I-表示无效的数值;N/A表示不适用;

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

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

相关文章

XSS-Labs 靶场通过解析(上)

前言 XSS-Labs靶场是一个专门用于学习和练习跨站脚本攻击(XSS)技术的在线平台。它提供了一系列的实验场景和演示,帮助安全研究人员、开发人员和安全爱好者深入了解XSS攻击的原理和防御方法。 XSS-Labs靶场的主要特点和功能包括:…

C++字模软件发送 单片机接收显示

/****先定义数组类型再赋值**L310*********/ /*2014 8 21 10:01**PAST*CODE1000**TEST**/ #include<reg51.h> #define uint unsigned int #define uchar unsigned char sfr AUXR0x8e; //辅助寄存器 sfr SADDR0xA9; …

后台启动HIVE的JDBC连接

后台启动HIVE的JDBC连接 生活就像一杯咖啡&#xff0c;有时苦涩&#xff0c;有时香甜&#xff0c;但都是值得品味的经历。无论遇到什么挑战&#xff0c;记住在每一天的开始&#xff0c;你都有机会给自己倒上一杯清新的力量&#xff0c;为心灵添一抹温暖。勇敢地面对生活的苦与甜…

aardio爬虫) 实战篇:逆向有道翻译web接口

前言 之前的文章把js引擎(aardio封装库) 微软开源的js引擎(ChakraCore))写好了&#xff0c;这篇文章整点js代码来测一下bug。测试网站&#xff1a;https://fanyi.youdao.com/index.html#/ 逆向思路 逆向思路可以看有道翻译js逆向&#xff08;MD5加密&#xff0c;AES加密&…

Ubuntu上使用audit2allow解决Android Selinux问题

1.安装工具 sudo apt install policycoreutils 2.运行命令 提前用dmesg或者串口抓取kernel log 遇到错误&#xff0c;提示需要用-p指定policy file&#xff0c;然偶尝试创建一个policy空文件&#xff0c;用-p选项&#xff0c;遇到如下错误 3.规避问题 首先跟进错误log的堆栈…

【copilot 使用指南 - @workspace】

为什么需要workspace 默认情况下&#xff0c;copilot只能分析当前文件中的代码内容&#xff0c; 那么如何让copliot 跨文件分析&#xff0c;分析整个项目&#xff0c;分析整个代码目录下的代码&#xff0c;就要用到workspace&#xff0c;举例 &#xff1a;假设如下代码 index…

【图书推荐】《图神经网络基础、模型与应用实战》

本书目的 详解PyTorch 图神经网络基础理论、模型与十多个应用案例&#xff0c;带领读者掌握图神经网络在自然语言处理、计算机视觉、推荐系统、社交网络4个领域的应用开发方法&#xff0c;丰富读者利用深度学习算法解决实际问题的能力。 本书案例 图卷积网络实现图注意力网络…

【状态压缩 动态规划 数论】1799. N 次操作后的最大分数和

本文涉及知识点 状态压缩 动态规划 数论 动态规划汇总 LeetCode1799. N 次操作后的最大分数和 给你 nums &#xff0c;它是一个大小为 2 * n 的正整数数组。你必须对这个数组执行 n 次操作。 在第 i 次操作时&#xff08;操作编号从 1 开始&#xff09;&#xff0c;你需要&a…

UE5 UMG

锚点 参考链接&#xff1a;虚幻5UI系统&#xff08;UMG&#xff09;基础&#xff08;已完结&#xff09;_哔哩哔哩_bilibili

专注 APT 攻击与防御—基于UDP发现内网存活主机

UDP简介&#xff1a; UDP&#xff08;User Datagram Protocol&#xff09;是一种无连接的协议&#xff0c;在第四层-传输层&#xff0c;处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点&#xff0c;也就是说&#xff0c;当报文发送之后&#xf…

【Linux】冯·诺依曼体系结构

要想谈进程&#xff0c;我们就不能只谈进程&#xff0c;我们如果想搞清楚什么是进程&#xff0c;就要从操作系统讲起。我们现在的不管是Linux或是Windows或是安卓等操作系统&#xff0c;它们都有一个相同点&#xff0c;那就是遵循冯诺依曼体系结构&#xff0c;我们看一下冯诺依…

Docker-harbor

一、搭建本地私有仓库 1.1 下载Registry镜像 1.2 添加本地私有仓库配置 1.3 重启服务并运行Registry容器 1.4.容器的操作 1.4.1 拉取Nginx镜像并为镜像打标签 1.4.2 上传到私有仓库 1.4.3 列出私有仓库所有镜像 1.4.4 列出私有仓库的镜像的所有标签 1.4.5 先删除原有…

leetcode-没有重复项的全排列-97

题目要求 思路 1.递归&#xff0c;如果num和n的元素个数一样就可以插入res中了&#xff0c;这个作为递归的结束条件 2.因为这个题是属于排列&#xff0c;并非组合&#xff0c;两者的区别是排列需要把之前插入的元素在回退会去&#xff0c;而组合不需要&#xff0c;因此会存在一…

5.Git

Git是一个分布式版本控制工具&#xff0c;主要用于管理开发过程中的源代码文件&#xff08;Java类、xml文件、html文件等&#xff09;。通过Git仓库来存储和管理这些文件&#xff0c;Git仓库分为两种 本地仓库&#xff1a;开发人员自己电脑上的Git仓库远程仓库&#xff1a;远程…

leetcode-有重复数字的全排列-98

题目要求 思路 1.同【没有重复项的全排列-97】这个题一样&#xff0c;都是递归的题&#xff0c;区别在于这个可能会包含重复的数字&#xff0c;因此&#xff0c;不能只是简单的通过两个值是否相等然后用标志位标记&#xff0c;而是新增了一个数组&#xff0c;这个数组专门用于…

Springboot工程创建

目录 一、步骤 二、遇到的问题及解决方案 一、步骤 打开idea,点击文件 ->新建 ->新模块 选择Spring Initializr&#xff0c;并设置相关信息。其中组为域名&#xff0c;如果没有公司&#xff0c;可以默认com.example。点击下一步 蓝色方框部分需要去掉&#xff0c;软件包…

Liunx磁盘管理(下)

中篇&#xff1a;https://blog.csdn.net/Lzcsfg/article/details/138355036 一.逻辑卷 逻辑卷&#xff08;Logical Volume&#xff09;是逻辑卷管理 (LVM) 中的一个概念&#xff0c;它为 Linux 系统中的存储管理提供了更大的灵活性和可扩展性。LVM 允许你将物理存储设备&…

Linux:进程概念(二.查看进程、父进程与子进程、进程状态详解)

Linux&#xff1a;进程概念&#xff08;二.查看进程、父进程与子进程、进程状态详解&#xff09; 上次讲了一下:Linux&#xff1a;冯诺依曼体系结构、操作系统、初识进程 文章目录 1.查看进程1.1准备工作1.2 指令&#xff1a;ps—显示当前系统中运行的进程信息1.3查看进程属性…

Adobe Illustrator 2024 for Mac:矢量图形设计软件

Adobe Illustrator 2024 for Mac是一款专为Mac用户设计的行业标准矢量图形设计软件。该软件以其卓越的性能和丰富的功能&#xff0c;为设计师和艺术家们提供了一个全新的创意空间。 作为一款矢量图形软件&#xff0c;Adobe Illustrator 2024 for Mac支持创建高质量的矢量图形&a…

这是用VS写的一个tcp客户端和服务端的demo

服务端&#xff1a; 客户端&#xff1a; 其实这里面的核心代码就两行。 客户端的核心代码&#xff1a; //套接字连接服务端 m_tcpSocket->connectToHost(_ip,_port);//通过套接字发送数据m_tcpSocket->write(ui.textEditSend->toPlainText().toUtf8());//如果收到信…