什么是黑盒测试?它的常用方法有哪些?[通俗易懂]

什么是黑盒测试?它的常用方法有哪些?[通俗易懂]什么是黑盒测试?它的常用方法有哪些?一:什么是黑盒测试?黑盒测试(Black-boxTesting),黑盒测试又称为“功能测试”,是将测试对象看做一个黑盒,在并不考虑软件产品的内部结构和处理过程的基础上对软件产品进行功能测试。黑盒测试注重软件产品的“功能性需求”。二:黑盒测试常用的方法有哪些?运用黑盒技术设计测试用例常用的方法有:①等价类划分②边界值分析③因果图分析法④错误推断法等详细分析:(一)等价类划分:等价类的划分无非就两种情况:有效等价类、无效等价类1.有效等

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

什么是黑盒测试?它的常用方法有哪些?

一:什么是黑盒测试?

黑盒测试(Black-box Testing),黑盒测试又称为“功能测试”,是将测试对象看做一个黑盒,在并不考虑软件产品的内部结构和处理过程的基础上对软件产品进行功能测试。黑盒测试注重软件产品的“功能性需求”

二:黑盒测试常用的方法有哪些?
运用黑盒技术设计测试用例常用的方法有:
① 等价类划分
② 边界值分析
③ 因果图分析法
④ 错误推断法 等
在这里插入图片描述
详细分析:
(一)等价类划分:
等价类的划分无非就两种情况:有效等价类、无效等价类
在这里插入图片描述
1.有效等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。
利用有效等价类可检验程序是否实现了规格说明中所规定的功能需求。

2.无效等价类:与有效等价类的定义恰巧相反。
无效等价类是指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。
他能检验程序在不符合规则的数据输入下,是否会有异常(无效等价类至少应该有一个,也可能有多个,视情况而定)

综上:设计测试用例时,要同时考虑这两种等价类,因为软件不仅要能接收合理的数据,也要能经受意外的数据,这样的测试才能确保软件具有更高的可靠性。

【例1】100分的试卷分数(Scores)
有效等价类:0 ≤ score ≤ 100
无效等价类1:Scores < 0
无效等价类2:Scores > 100

【例2】每个月所下发的工资只可为数字
有效等价类:输入的工资内容为数字
无效等价类1:输入的工资内容为字母
无效等价类2:输入的工资内容为汉字
无效等价类3:输入的工资内容为特殊字符

【例3】需求:用户注册时所设计的密码可以是“数字”、“字母”、及“部分特殊符号”,不能输入“空格”、“单引号”、“双引号”
有效等价类1:输入的密码全为“数字”
有效等价类2:输入的密码全为“字母”
有效等价类3:输入的密码全为“特殊符号”(除“空格”、“单引号”、“双引号”)
有效等价类4:输入的密码为“数字”和“字母”的组合
有效等价类5:输入的密码为“数字”和“特殊符号”的组合
有效等价类6:输入的密码为“字母”和“特殊符号”的组合
有效等价类7:输入的密码为“数字”和“字母”和“特殊符号”的组合

无效等价类1:输入的密码全为“空格”
无效等价类2:输入的密码全为“单引号”
无效等价类3:输入的密码全为“双引号”
无效等价类4:输入的密码为“空格”和“单引号”的组合
无效等价类5:输入的密码为“空格”和“双引号”的组合
无效等价类6:输入的密码为“空格”和“单引号”和“双引号”的组合

(二)边界值分析法
1.边界值分析法也是一种典型的黑盒测试方法,其主要的测试点 是对“输入”或“输出”的“边界”值进行测试
2.通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界

注意
(1)边界值分析不是从某个等价类中随便挑一个作为代表,而是使这个等价类的每一个边界都要作为测试条件。
(2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况
(3)边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多的存在于划分的边界上。因此,边界值分析法是在等价类的边界上以及两侧的情况设计测试用例。

(三)因果图分析法
1.这里我们先回顾一下前面介绍的两种黑盒测试方法:等价类划分法和边界值分析法,我们可以发现,等价类划分法和边界值分析法它们都是着重考虑输入条件,但是未考虑输入条件之间的联系、相互结合等。
2.考虑输入条件之间的相互结合可能会产生一些新的情况。但要检查输入条件的结合不是一件容易的事情,即使把所有的输入条件划分成等价类,他们之间的结合情况也相当多。因此,必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例,这就需要利用因果图分析法(逻辑模型)

利用因果图生成测试用例的基本步骤
①分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。
②分析软件规格说明描述中的语义.找出原因与结果之间, 原因与原因之间对应的关系. 根据这些关系,画出因果图。
③由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不不可能出现. 为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件。
④把因果图转换为判定表。
⑤把判定表的每一列拿出来作为依据,设计测试用例。

(四)错误推断法
在软件测试过程中,人们可以依靠经验和直觉推测系统中可能存在的各种错误,从而有针对性地编写检查这些错误的例子,这就是错误推测法。

基本思想:
①根据以往的测试经验和对系统内部知识的了解,列出系统中各种可能有的错误和容易发生错误的特殊情况,再根据它们来设计测试用例。
②随着在产品测试的实践中对产品的了解的加深和测试经验的丰富,使用错误推测法设计的测试用例往往非常有效。
③可以作为测试设计的一种补充手段,并且积累的经验越丰富,方法使用效率越高。

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186496.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月3日 上午9:16
下一篇 2022年10月3日 上午9:36


相关推荐

  • Apache的安装_Ubuntu安装Apache

    Apache的安装_Ubuntu安装Apache(一)apache介绍  ApacheHTTPServer(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,Apache也叫万维网,www服务器, web服务器主要功能是提供网上信息浏览服务。Apache可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。     目前主流的Web服务器软件包括:Apache,Ngi…

    2025年11月13日
    7
  • linux下安装tomcat8

    linux下安装tomcat8(一)安装JDK环境64位JDK包:http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-x64.tar.gz1.用 SecureCRT链接上linux,用命令直接下载 wget http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45

    2022年6月2日
    44
  • 小波变换和小波阈值法去噪[通俗易懂]

    小波变换和小波阈值法去噪[通俗易懂]小波变换是一种信号的时间——尺度(时间——频率)分析方法,它具有多分辨分析的特点,而且在时频两域都具有表征信号局部特征的能力,。在小波分析中经常用到近似和细节,近似表示信号的高尺度,即低频信息;细节表示信号的低尺度,即高频信息。对含有噪声的信号,噪声分量的主要能量集中在小波解的细节分量中。在以上过程中,小波基和分解层数的选择,阈值的选取规则,和阈值函数的设计,都是影响最终去噪效果的关键因素。

    2022年5月29日
    41
  • RTCM 协议学习

    RTCM 协议学习文章目录 RTCM 协议介绍 RTCM 格式说明 RTCM 格式 RTCM 数据格式 RTCM 常用的电文类型 Q1 RTCM 数据丢历元 Q2 差分数据不能识别 RTCM 协议解读 RTCM 报文解读示例问题其他资料 RTCM 协议 https blog csdn net xingeaihaozh article details RTCM 协议介绍由国际海运事业无线电技术委员会 RadioTechnic 制定的 RTCMSC10403

    2026年3月19日
    2
  • 从数据库、代码和服务器对PHP网站Mysql做性能优化

    从数据库、代码和服务器对PHP网站Mysql做性能优化

    2021年9月20日
    53
  • java jsonstring变成jsonobject(jpa实体类)

    本文的JsoonObject是fastJSON提供的对象JSONObject所需的maven依赖:<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.69</version></dependency>先定义一个实体类: @Data@ToS

    2022年4月13日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号