首页 > 其他分享 >黑盒测试(学习)

黑盒测试(学习)

时间:2025-01-05 12:33:12浏览次数:3  
标签:黑盒 边界值 等价 学习 划分 测试用例 输入 测试 因果

        根据设计用例的方法的不同,黑盒测试包括等价类划分法、边界值分析法,错误推测法、因果图法等。 

1.等价类划分法:划分“等价类”应按照输入条件(如输入值的范围、值的个数、值的集合、输入条什)划分为有效等价类和无效等价类。


例:每个学生可选修1-3门课程
可以划分一个有效等价类:选修1-3门课程。
可以划分两个无效等价类:未选择选修课,选修课超过3门。
 

 1.1.选择测试用例
(1)为每个等价类编号;
(2)使一个测试用例尽可能覆盖多个有效等价类;
(3)特别要注意的是:一个测试用例只能覆盖一个无效等价类;(也就是说对于有效等价类尽可能覆盖的多,而无效等价类一次只能覆盖一个)

 1.2例题

下面以测试NextDate函数的具体实例为出发点,讲解使用等价类划分法的细节。输入3个变量(年、月、日),函数返回输入日期后面一天的日期:1≤月≤12,1≤日≤31,1812≤年≤2012。给出等价类划分表并设计测试用例。

(1)划分等价类,得到等价类划分表,如表所示。

 (2)为有效等价类设计测试用例

(3)为无效等价类设计测试用例

 边界值分析法
边界类型:下标、数据结构、循环、选择等的边界附近
取值:按照边界值分析法,一般选取刚好等于、稍小于和稍大于等价类边界值的数据作为测试数据。
一般边界值分析法作为等价类划分法的补充与细化。

例如:输入值的范围是-1.0至1.0,
则可选择用例–1.0、1.0、-1.001、1.001。
 

错误推测法
(一般是凭经验或直觉推测可能的错误)
对于程序中容易出错的情况也有一些经验总结出来

例如:
输入数据为零或输出数据为零往往容易发生错误
如果输入或输出的数目允许变化(例如被检索的或生成的表的项数),则输入或输出的数目为0和1的情况(例如表为空或只有一项)是容易出错的情况。
对文件操作(插入、删除等)采取计数的方式控制。
 

因果图法
等价类划分法和边界值分析法都主要考虑的是输入条件,而没有考虑输入条件的
各种组合以及各个输入条件之间的相互制约关系。因此,必须考虑描述多种条件的组
合,相应的产生多个动作的形式来考虑设计测试用例。这就需要利用因果图法。


因果图法是一种黑盒测试方法,它从自然语言书写的程序规格说明书中寻找因果
关系,即输入条件与输出和程序状态的改变,通过因果图产生判定表。它能够帮助人
们按照一定的步骤高效的选择测试用例,同时还能指出程序规格说明书中存在的问题。
 

因果关系四种符号(假设用C表示原因,E表示结果)

从输入输出考虑有以下五种约束条件

E(互斥) : a和b两个原因不会同时成立,最多有一个可以成立。
l(包含) : a和b两个原因至少有一个必须成立。
0(唯一) : a和b两个原因必须有且仅有一个成立。
R(要求): a出现时b也必须出现。

M(强制/屏蔽): a是1时,b必须为0;a为0时,b则不确定。
 

因果图法设计测试用例的步骤如下:
1 .分析程序规格说明书的描述中,哪些是原因,哪些是结果,原因常常是输入条
件或输入条件的等价类,而结果常常是输出条件
2.分析程序规格说明书中描述的语义内容,并将其表示成连接各个原因与各个结果的因果图;
3.由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的,为表明这些特定的情况,在因果图上使用若干特殊的符号标明约束条件;
4.把因果图转化为决策表;
5.为决策表中每一列表示的情况设计测试用例。


例:自动饮料售货机软件。规格说明如下:
有一个处理单价为1元5角的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”“雪碧”“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,则在送出饮料的同时退还5角硬币。

标签:黑盒,边界值,等价,学习,划分,测试用例,输入,测试,因果
From: https://blog.csdn.net/qq_73819342/article/details/144943216

相关文章

  • 万字长文:机器学习的数学基础(易读)
    ❝机器学习的特点是以计算机为工具和平台,以数据为研究对象,以学习方法为中心,是概率论、线性代数、数值计算、信息论、最优化理论和计算机科学等多个领域的交叉学科。❞小编最近冲浪时发现了shunliz整理的各个数学领域的知识点列表,可惜的是只有名称,便结合gpt和网上资料......
  • Win32汇编学习笔记05
    定位关键点3种方法:过程函数api字符串但是不确定用要哪一种方法,可以3种方法都用一下,因为在不同的程序,实用的方法是不一样的窗口程序看控件信息1.通过OD去看还可以用spy++查看还可以用vs2019,打开软件,找到对应控件直接看属性一般拿句柄没用,因为按钮是响应WM_......
  • 2024-2025-1(20241321)《计算机基础与程序设计》第十五周学习总结
    学号20241321的《计算机基础与程序设计》课程总结第一周:第三周第四周第五周第六周第七周第八周第九周第十周第十一周第十二周第十三周第十四周整体评价一下第1周作业中自己提出的问题是不是抓住了学习重点回答一下第1周作业中自己提出的问题问题:cpu......
  • 使用深度学习来实现图像超分辨率 综述!
            今天给大家介绍一篇图像超分辨率邻域的综述,这篇综述总结了图像超分辨率领域的几方面:problemsettings、数据集、performancemetrics、SR方法、特定领域应用以结构组件形式,同时,总结超分方法的优点与限制。讨论了存在的问题和挑战,以及未来的趋势和发展方向。......
  • NO.1 《机器学习期末复习篇》以题(问答题)促习(人学习),满满干huo,大胆学大胆补!
    目录一、新手初学?该如何区分[人工智能][机器学习][深度学习]?[1]浅谈一下我的理解[2]深度交流一下人工智能(AI,ArtificialIntelligence)机器学习(ML,MachineLearning)深度学习(DL,DeepLearning)[3]三者之间的关系二、机器学习能用到实处?该怎么用? (1)推荐系统(2)......
  • 机器学习特征选择
    一、特征选择概述在实际的数据集中,往往包含了大量的特征,但并非所有特征都对我们要预测的目标变量(如分类任务中的类别标签,回归任务中的数值目标)有积极作用。有些特征可能携带的信息量极少,甚至会引入噪声,干扰模型的学习和预测。特征选择就是要解决如何从这些繁杂的特征里挑出......
  • Consul测试代码
    importtimefromconsulimportConsul,CheckclassConsulServiceManager:def__init__(self,host,port=8500,schema="http"):self._host=hostself._port=portself._schema=schemaself._local_ip="1......
  • rust学习十五.4、Rc和RefCell指针
    一、前言作为初学者,在只学习了前面几个章节的时候,我以为rust的所有权规则和它说的是一样的。但实际上,rust发明人并没有遵循这个规则。按照我的想法,应该是因为如果坚持那样可能编写某些代码会太痛苦,甚至可能根本无法实现。“可能根本无法实现”这是一个没有去证实的猜想。不过,......
  • 2024-2025-1 20241427 《计算机基础与程序设计》第15周学习总结
    每周作业链接汇总第一周作业内容:利用各种AI工具进行辅助学习,学会了不同进制之间的互相转化,了解了计算机的发展历史和信息安全的重要性。二维码:https://assets.cnblogs.com/qrcode.html?url=https%3A%2F%2Fwww.cnblogs.com%2F2981586354yx%2Fp%2F18439414第三周作业内容:不同数据......
  • Python学习(四)——配套《PyTorch深度学习实战》
    1.Python中字符串的相加和相乘在Python中,字符串可以通过加号(+)进行相加(连接),也可以通过乘号(*)进行相乘(重复)。以下是这两种操作的详细说明和示例:字符串的相加(连接)字符串的相加是通过使用加号(+)运算符来实现的。它将两个或多个字符串连接成一个单一的字符串。str1="Hello"str2=......