黑盒测试方法详细介绍
一、等价类
1.关于等价类
2.等价类思想设计测试用例的步骤
二、边界值
1.关于边界点
2.使用边界值分析法设计测试用例步骤
三、因果图
1.关于因果图
2.关于判定表
3.使用因果图设计测试用例的步骤
1.分析所有可能的输入和可能的输出。
2.找出输入和输出之间的对应关系
4.将因果图转化称为判定表
5.把判定表对应到每一个测试用例
四、正交排列
1.什么是正交表
2.如何通过正交表设计测试用例
五、场景设计法
1.什么是场景
2.如何通过场景设计法设计测试用例
六、错误猜测法
1.设计常见案例测试用例
(1)水杯测试用例设计(实体)
(2)微信发送朋友圈设计测试用例(软件的一个模块)
(3)完成一个登录的测试用例
2.一些测试的方法说明(面试考)
(1)Fiddler测弱网
(2)用postman进行接口测试
黑盒测试又称为功能测试,它是通过测试来检验程序的每个功能是否能正常使用。在测试中,将程序看成一个不能打开的黑盒子,在完全不考虑内部结构的情况下,在程序接口进行测试 ,检查程序是否能适当的接受输入数据从而产生正确的输出信息。
黑盒测试主要有以下测试用例设计方法:
1.等价类
2.边界值法
3.判定表法
4.正交排列法
5.场景设计法
6.错误猜测法
下面针对这几种方法进行介绍❤️❤️❤️。
一、等价类
1.关于等价类
依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题(作用)。
等价类分为:
有效等价类:对于程序的规格说明书是合理的、有意义的输入数据构成的集合,利用有效等价类验 证程序是否实现了规格说明中所规定的功能和性能。满足用户需求的输入集合。
无效等价类:根据需求说明书,不满足需求的输入集合。
价类只考虑输入域的分类,没有考虑输入域的组合,需要其他的设计方法和补充。
2.等价类思想设计测试用例的步骤
(1)充分理解需求
(2)设计测试用例:划分有效等价类和无效等价类
(3)从有效等价类中抽取其中一个数据进行设计测试用例;从无效等价类中抽取其中一个进行测试用例设计
比如那用户名长度来举例,设计用例如下图:
二、边界值
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
1.关于边界点
边界值分析法中有一个很重要的概念:边界点
边界点分为:
上点:边界上的点
内点:边界内的点
离点:边界附近的一个点(闭区间:区间外距离上点最近的点,开区间:区间内距离上点最近的点)
针对边界点,通过画图来细说
闭区间上:
这里内点,是6~15中间所有的点,上图只列出一个。
开区间:
左开右闭:
左闭右开:
2.使用边界值分析法设计测试用例步骤
(1)充分理解需求
(2)找边界点(上点,内点,离点)
(3)针对边界点设计测试用例
针对用户名长度设计测试用例
三、因果图
因果图是一种简化逻辑图,能够只管的表明程序输入条件(原因)和输出动作(结果)之间的关系。因果图法是借助图形来设计测试用例的一种系统方法,特别使用与被测试程序具有多种输入条件、程序的输出又依赖于输入条件的各种情况。
1.关于因果图
因果图中,输入与输出之间主要又四种关系:恒等,与,或,非
恒等:如果原因c1为真,那么结果e1必定为真。
与:如果c1和c2都为真,那么e1肯定为真。
或:两个条件c1和c2中有一个为真,那么结果c1为真。
非:当条件c1为假时,结果e1为真。
2.关于判定表
判定表是一种表达逻辑判断
3.使用因果图设计测试用例的步骤
根据一个案例来说明步骤:
案例:淘宝618活动,订单已提交,订单合计金额大于300元或有红包,则有优惠。
1.分析所有可能的输入和可能的输出。
输入:订单已提交、金额 > 300、有红包
输出:优惠、不优惠
2.找出输入和输出之间的对应关系
(1)订单已提交,金额 > 300,有红包,优惠
(2)订单已提交,金额 > 300,没有红包,优惠
(3)订单已提交,金额 < 300,有红包,优惠
(4)单已提交,金额 < 300,没有红包,不优惠
(5)订单未提交,金额 > 300,有红包,不优惠
(6)订单未提交,金额 > 300,没有红包,不优惠
(7)订单未提交,金额 < 300,有红包,不优惠
(8)订单未提交,金额 < 300,没有红包,不优惠
3.画出因果图
对应的输入和输出编号如下:
1:订单已提交
2:订单金额 > 300元
3:优惠
4:不优惠
4.将因果图转化称为判定表
Y代表为真,N代表为假,每一列都是一种情况
case |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
订单已提交 |
Y |
Y |
Y |
Y |
N |
N |
N |
N |
金额 >300 |
Y |
Y |
N |
N |
Y |
Y |
N |
N |
有红包 |
Y |
N |
Y |
N |
Y |
N |
Y |
N |
优惠 |
Y |
Y |
Y |
N |
N |
N |
N |
N |
不优惠 |
N |
N |
N |
Y |
Y |
Y |
Y |
Y |
5.把判定表对应到每一个测试用例
四、正交排列
正交法的目的是为了减少用例数目。用尽量少的用例覆盖输入的两两组合
正交试验设计是一种基于正交表的、高效率、快速、经济的 试验。
1.什么是正交表
根据百度百科,最简单的正交表是,含意如下:“L”代表正交表;L 下角的数字“4”表示有 4 横行,简称行,即要做四次试验;括号内的指数“3”表示有3 纵列,简称列,即最多允许安排的因素是3 个;括号内的数“2”表示表的主要部分只有2 种数字,即因素有两种水平1与2。正交表的特点是其安排的试验方法具有均衡搭配特性。
因素(Factor):在一项试验中,凡欲考察的变量称为因素(变量)
水平(位级)(Level):在试验范围内,因素被考察的值称为水平(变量的取值)
正交表的构成: 行数(Runs):正交表中的行的个数,即试验的次数,用N代表。
因素数(Factors):正交表中列的个数,用C代表。
水平数(Levels):任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数“水平数-1”或 从1到“水平数”,用T代表。
正交表的表示形式: L=行数(水平数*因素数) L=N(TC)
正交表的两条性质(重要):每一列中的数字出现的次数都一样多;任何两列中的各有序数对出现的次数都一样多。
如下图就是一个正交表:
2.如何通过正交表设计测试用例
充分理解需求 -> 确定因素,确定水平 -> 画正交表 -> 补充正交表 ->将正交表转换成测试用例
以注册用户为例子设计测试用例:
(1)充分理解需求
参考需求规格说明书说明
(2)确定因素/水平
姓名、邮箱、密码、确认密码,验证码必须全部输入才能进行注册。
因素:姓名、邮箱、密码、确认密码,验证码
水平:填写/不填写
(3)画正交表allpairs
- 将因素和水平放在excel表格中
- 将excel表格内容直接赋值到txt文本中(直接复制粘贴,不要额外加其他格式)
- 下载allpairs工具
ALLpairs是用于生成混合的正交表生成工具,一般应用于测试领域。
这里有百度网盘链接: https://pan.baidu.com/s/1M_ap5lNirkUOMPTIQOxuhQ
提取码: c3d5
下载你们就直接下一步下一步就好,注意路径修改就可以,我是直接放到d盘
- 通过cmd面板进入到allpairs目录下
下载了 allpairs工具以后,会给出一个allpairs文件,如下图:
里面的101.txt是我自己放进去的,这个文档是我 存放的刚才那个excel表中的内容,大家把这个文本文档复制进去:
然后我们通过win+r快捷键,输入cmd,打开windows命令窗口,
然后通过cmd进入到这个allpairs文件中:
路径可以和我的不一样,但是一定要是在allpairs文件中进行 。
- 通过命令生成正交表
使用下图中的allpairs.exe命令,这个101_result文本是我自己命名的,大家可以自行命名,生成的正交表就在appairs文件中的101_result.txt中
如下图101_result.txt中:
TEST CASES就是我们的正交表
PAIRING DETAILS是配对详情内容可以忽略,我们只看正交表就可以。
将正交表整理为以下的表格:
case |
姓名 |
密码 |
确认密码 |
邮箱 |
验证码 |
1 |
填写 |
填写 |
填写 |
填写 |
填写 |
2 |
填写 |
不填写 |
不填写 |
不填写 |
不填写 |
3 |
不填写 |
填写 |
不填写 |
填写 |
不填写 |
4 |
不填写 |
不填写 |
填写 |
不填写 |
填写 |
5 |
~填写 |
填写 |
填写 |
不填写 |
不填写 |
6 |
~填写 |
不填写 |
不填写 |
填写 |
填写 |
其中“~”代表,该表格中可写“填写”,也可以写“不填写”
(5)将正交表转换成测试用例
下图只是写了测试点,不是标准的测试用例,大家可以自行补充。
五、场景设计法
关于场景设计法,有以下概念:
场景:由事件触发时的情景形成。
事件流:由同一时间不同的出发顺序和处理结果形成。
场景设计法可以生动的描绘出时间触发时的情景,有利于测试设计者设计测试用例,使测试用例更容易理解和执行。
1.什么是场景
举例:
比如找女朋友流程如下:
搭讪 -> 要搭讪方式 -> 聊天 -> 请女神吃饭 -> 表白 -> 确定关系
以上就是一个找女朋友的场景
但是以上可能会出现偏差,比如搭讪可能失败,女神不搭理你拒绝你等情况,不一定按照既定的场景走,这个既定的场景我们就称其为主事件流,也叫基本流。其他偏差情况称之为备选流。
2.如何通过场景设计法设计测试用例
充分理解需求 -> 确定主事件流 -> 确定次时间流 -> 每一个时间流就是一个测试用例
通过ATM取款来说明:蓝色部分是主事件流,绿色部分是备选流
基本流: 插卡 -> 输入密码 -> 选择取款 -> 输入金额 -> 出钞 -> 取卡
六、错误猜测法
错误猜测法是对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针 对性地设计测试用例的方法。
这个方法强调的是对被测试软件的需求理解以及设计实现的细节把握,还有个人的经验和直觉。
错误推测法和目前流行的“探索式测试方法”的基本思想一致,这类方法在敏捷开发模式下的投入产出比 很高,被广泛应运于测试。
这个方法的缺点是难以系统化,并且过度依赖个人能力。
就是测试人员估算一些功能可能会出现的错误,根据这些错误设计测试用例。
1.设计常见案例测试用例
以下是几个常见案例的测试用例:
主要从以下几个测试点展开来写:(仅个人观点,一些没说到的点大家还能补充说明)
功能、界面、安全、性能、易用性、安全、网络、兼容性
(1)水杯测试用例设计(实体)
(2)微信发送朋友圈设计测试用例(软件的一个模块)
(3)完成一个登录的测试用例
2.一些测试的方法说明(面试考)
上面测试用例提到了接口还有弱网的测试,有时候面试官会问怎么对这些测试,下面进行说明。
(1)Fiddler测弱网
- 下载Fiddler
网上有很多网站分享Fiddler下载包,这里就不提了,主要还是以介绍使用为主。
打开弱网设置:Rules -> Performance -> Simulate Modern Speeds
首先先打开Fiddler,
然后打开测弱网设置:Rules -> Performance -> Simulate Modern Speeds
- 打开脚本,查看网速
打开以后,翻到以下图片中的位置
// Delay sends by 300ms per KB uploaded.传输1kb花费时间300ms
// Delay receives by 150ms per KB downloaded.下载1kb花费时间150ms
由此可见,以上数字越大,代表数据传输月满,网络越差。
(2)用postman进行接口测试
代码,工具。
http请求方式,get,post,delete
针对接口的参数进行测试(传递所有参数,传递部分参数,不传递参数,传递其他参数)
针对接口的性能进行测试。
https://blog.csdn.net/software_test010/article/details/114001033这个里面有关于使用postman测试接口的详细说明,大家可以点击看看。
黑盒测试方法详细介绍相关推荐
- 新华DCS系统仿真测试方法详细介绍
新华DCS ICAN3.1系统是应用广泛并且功能非常强大的国产DCS系统.具有管理虚拟CPU并仿真运行的功能.并且上位机画面可以与虚拟DPU数据实时同步仿真.具体仿真方法如下所示: 1. 需要设备及软 ...
- 黑盒测试概念简述,黑盒测试优缺点、黑盒用例设计方法简单介绍及黑盒测试方法使用总结
黑色测试 黑盒测试概念: 黑盒的优缺点介绍: 黑盒测试用例设计方法简单介绍: 黑盒测试方法使用总结: 黑盒测试概念: 又称功能测试或数据驱动测试,是用来检测每个功能是否正常使用.黑盒测试主要意味着测试 ...
- 软件测试常见概念(软件生命周期、软件开发模型、软件质量模型、软件缺陷管理、软件测试概述、软件测试分类、软件测试与软件开发、软件测试原则、黑盒测试方法、白盒测试方法、性能测试)
文章目录 1. 软件概述 1.1 软件生命周期 1.2 软件开发模型 1.2.1 瀑布模型 1.2.2 快速原型模型 1.2.3 迭代模型(增量模型或演化模型) 1.2.4 螺旋模型 1.2.5 敏捷 ...
- 『软件测试3』八大典型的黑盒测试方法已来袭,快快接住!
文章目录 一.等价类划分法 1.定义 2.等价类划分法步骤 3.设计测试用例步骤 4.案例:学生选修课程 二.边界值分析法 1.边界值分析法概述 2.设计测试用例 3.边界值设计原则 三.错误推测法 ...
- 【软件测试】黑盒测试方法小结
黑盒测试方法小结 1.等价类划分法 一个程序可以有多个输入,等价类划分就是将这些输入数据按照输入需求进行分类,将它们划分为若干个子集,这些子集即为等价类(某个输入域的子集合),在每个等价类中选择有代表 ...
- 深圳软件测试 黑盒测试,深圳软件测试培训:常用控件黑盒测试方法有哪些?...
深圳软件测试培训(sz.qa.tedu.cn)专家就针对常用控件黑盒测试方法有哪些这一问题做一个详细的分解.希望能在工作中对你有所帮助! 1.常用控件有哪些 文本框,复选框,按钮,单选按钮,列表框,组 ...
- ISO14443标准详细介绍
这篇文章从各方面详细介绍了ISO/IEC14443标准. 文章目录 第一部分:物理特性 1.范围 2.标准引用 3.定义,缩略语和符号 3.1定义 3.1.1 集成电路Integratedcircui ...
- 黑盒测试方法---理论
黑盒测试方法(功能测试): 1. 等价类的划分方法:有效值等价类等价 无效值等价类等价 必须包含两个方面的等价类等价测试. 等价类是子集代表全集的测试,等价类子集的必须不相交. 等价类的划分方法(6种 ...
- lucene详细介绍
1 lucene简介 1.1 什么是lucene 项目地址: https://github.com/apache/lucene-solr Lucene是一个全文搜索框架,而不是应用产品.它只是提供 ...
最新文章
- 为何艾伦·图灵想让AI智能体故意犯错
- JSP学习笔记(四十九):抛弃POI,使用iText生成Word文档
- centOS防火墙中端口的开启和关闭
- 1,2 多维运动公式
- leetcode -- Balanced Binary Tree TODO
- 火了这么久的 AI,现在怎么样了?
- 1144 The Missing Number (20 分)
- 莫烦Matplotlib可视化第二章基本使用代码学习
- Pell数列(信息学奥赛一本通-T1202)
- Linux内核分析 - 网络[九]:邻居表
- linux中使用gbd进行单布调试
- Android Studio 3.2升级后的编译问题解决办法
- python把a当作b_Python中的zip(), *zip()与zip(*zip(a,b))
- 第一次用PHP做电影站 用thinkphp开发的!!
- 将字典直接写入文件,出现中文乱码问题
- 分布式——分布式面试题
- crypto.js 前端加解密
- 9个完整android开源app项目
- uchome二次开发
- 关于计算机的发展史手抄报图片,历史手抄报精选图片内容
热门文章
- 参加2012 Openstack亚太技术大会
- Java和Web前端谁的薪资待遇高?网友:我要学Web前端!
- linux 目录的粘滞位,Linux浅谈SUID,SGID,Sticky粘滞位对目录以及文件的相关作用
- html 清除文字阴影,CSS3文字阴影text-shadow使用详解
- burpsuite模块详解
- 必须要理解掌握的贝塞尔曲线
- SpringBoot使用@Value注解读取yaml文件中配置信息
- android 中间凸出按钮,自定义tabar组件,中间按钮凸出显示
- 高新企业申报咨询工作网
- 创建,删除快捷图标shortcut android