什么是黑盒测试,白盒测试,灰盒测试?

article/2025/11/1 6:37:51

一、白盒测试

白盒测试也称为结构测试,主要应用于单元测试阶段,检测软件编码过程中的错误。程序员的编程经验、对编程软件的掌握程度、工作状态等因素都会影响到编程质量,导致代码错误。
白盒测试的方法:
强度由低到高:

  1. 语句覆盖:所有的“语句”都要覆盖一遍。就是设计若干个测试用例,运行被测程序,使得每一个执行语句至少执行一次。
  2. 判定覆盖:包含语句覆盖,每个判断T、F各一次。使设计的测试用例保证程序中每个判断的每个取值分支至少经历一次。
  3. 条件覆盖:包含语句覆盖,每个条件T、F各一次是指选择足够的测试用例,使得运行这些测试用例时,判定中每个条件的所有可能结果至少出现一次,但未必能覆盖全部分支。
  4. 判定条件覆盖:包含判定覆盖、条件覆盖。说白了就是我们设计的测试用例可以使得判断中每个条件所有的可能取值至少执行一次(条件覆盖),同时每个判断本身所有的结果,也要至少执行一次(判定覆盖)。不难发现判定条件覆盖同时满足判定覆盖和条件覆盖,弥补了两者各自的不足,但是判定条件覆盖并未考虑条件的组合情况。
  5. 条件组合覆盖:每个条件的每种组合。在白盒测试法中,选择足够的测试用例,使所有判定中各条件判断结果的所有组合至少出现一次,满足这种覆盖标准成为条件组合覆盖。意思是说我们设计的测试用例应该使得每个判定中的各个条件的各种可能组合都至少出现一次。显然,满足条件组合覆盖的测试用例一定是满足判定覆盖、条件覆盖和判定条件覆盖的。
  6. 路径覆盖:所有路径至少执行一次。
    语句覆盖是在所有的测试方法中一种最弱的覆盖
    判定覆盖和条件覆盖比语句覆盖强,满足判定条件覆盖的测试用例一定满足语句覆盖、判定覆盖、条件覆盖
    路径覆盖是一种比较强的覆盖,但未必考虑判定条件结果的组合,并不能代替条件覆盖和条件组合覆盖。必考虑判定条件结果的组合,并不能代替条件覆盖和条件组合覆盖。

二、黑盒测试

黑盒测试又称为功能测试,主要检测软件的每一个功能是否能够正常使用。在测试过程中,将程序看成不能打开的黑盒不考虑程序内部结构和特性的基础上通过程序接口进行测试,检查程序功能是否按照设计需求以及说明书的规定能够正常打开使用。
黑盒测试的方法:

  1. 等价类划分法
    等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能的输入数据划分为若干个等价类。然后从每个部分中选取具有代表性的数据当做测试用例。测试用例由有效等价类和无效等价类的代表数据组成,从而保证测试用例具有完整性和代表性。使用该方法设计测试用例主要有两个步骤:a确定等价类;b生成测试用例。
  2. 边界值分析法
    边界值分析法是对程序输入或输出的边界值进行测试的一种黑盒测试方法。实际的测试工作证明,考虑了边界条件的测试用例比那些没有考虑边界条件的测试用例具有更高的测试回报率。这里所说的边界条件,是指输入和输入等价类中那些恰好处于边界、或超过边界、或在边界以下的状态。
  3. 因果图法
    因果图法也是较常用的一种黑盒测试方法,是一种简化了的逻辑图。因果图能直观地表明输入条件和输出动作之间的因果关系,能帮助测试人员把注意力集中到与程序功能有关的输入组合上。因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况
  4. 判定表法是分析和表达多逻辑条件下执行不同操作的情况的工具。
    a条件桩:列出了问题的所有条件
    b动作桩:列出了问题规定可能采取的操作
    c条件项:列出针对它所列条件的取值,在所有可能情况下的真假值
    d动作项:列出在条件项的各种取值情况下应该采取的动作
  5. 错误分析法
    错误推测法是基于以往的经验和直觉,参照以往的软件系统出现的错误,推测当前被测程序中可能存在的缺陷和错误,有针对性地设计测试用例。

三、黑盒测试和白盒测试的优缺点

黑盒测试和白盒测试的优缺点

四、灰盒测试

灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。
定义:灰盒测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识和与之交互的环境,能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率。
学术含义:灰盒(Gray Box)是一种程序或系统上的工作过程被局部认知的装置。
灰盒测试,也称作灰盒分析,是基于对程序内部细节有限认知上的软件调试方法。测试者可能知道系统组件之间是如何互相作用的,但缺乏对内部程序功能和运作的详细了解。对于内部过程,灰盒测试把程序看作一个必须从外面进行分析的黑盒。
灰盒测试通常与web服务应用一起使用,因为尽管应用程序复杂多变,并不断发展进步,因特网仍可以提供相对稳定的接口。由于不需要测试者接触源代码,因此灰盒测试不存在侵略性和偏见。开发者和测试者间有明显的区别,人事冲突的风险减到最小。然而,灰盒测试相对白盒测试更加难以发现并解决潜在问题,尤其在一个单一的应用中,白盒测试的内部细节可以完全掌握。 灰盒测试结合了白盒测试和黑盒测试的要素。它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。灰盒测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识和与之交互的环境,能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率。灰盒测试涉及输入和输出,但使用关于代码和程序操作等通常在测试人员视野之外的信息设计测试。
目的任务
软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程。软件测试在软件生存期中横跨两个阶段,通常在编写出每一个模块之后就对它做必要的测试(称为单元测试)。编码和单元测试属于软件生存期中的同一个阶段。在结束这个阶段后对软件系统还要进行各种综合测试,这是软件生存期的另一个独立阶段,即测试阶段。
目的
第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right)。
第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。
第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。
测试任务
1、寻找Bug;
2、避免软件开发过程中的缺陷;
3、衡量软件的品质;
4、关注用户的需求。
目标
1、确保软件的质量;
2、提高软件质量功能。


http://chatgpt.dhexx.cn/article/ZRjiUTdR.shtml

相关文章

黑盒白盒测试的区别

一.黑盒测试(Black-box Testing) 黑盒测试也称功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据与输出数据。 不看软件代码,只对功能进行测试 对软件进行操作,观察结果是…

黑盒测试、白盒测试

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

测试技术 --黑盒测试与白盒测试

黑盒测试与白盒测试的区别:黑盒测试不知道内部代 一、测试方式不同 1、黑盒测试:功能测试,是通过测试来检测每个功能是否都能正常使用。 2、白盒测试:称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。 二、测试目的不…

一文带你吃透黑盒测试跟白盒测试的区别

前言 大家好,我是小七,在前面的测试笔记中我们具体聊过白盒测试跟黑盒测试,这些天跟我的一些同事也有聊到类似的一些概念,今天就跟大家分享下我对这两种测试的理解。 黑盒测试 它是根据软件需求和规范创建测试场景/案例,按照需求文档里面定义的行为及规范进行输入并且检查…

黑盒测试AND白盒测试

一.黑盒测试(Black-box Testing) 黑盒测试也称功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据与输出数据。 不看软件代码,只对功能进行测试 对软件进行操作,观察结果是…

黑盒测试与白盒测试的区别

黑盒测试与白盒测试的区别有哪些? 一、测试方式不同 1、黑盒测试:功能测试,是通过测试来检测每个功能是否都能正常使用。 2、白盒测试:称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。 二、测试目的不同 1、黑盒测试…

什么是黑盒测试和白盒测试,有什么区别?

目录 一、黑盒测试 二、白盒测试 三、黑盒测试和白盒测试的区别和联系 一、黑盒测试 黑盒测试(Black Box Testing)是一种软件测试方法,它关注于对被测试系统的功能和接口进行测试,而不考虑内部实现细节。在黑盒测试中&#xf…

软件测试用例的优点和缺点,浅析黑盒测试和白盒测试各自的优缺点

软件测试是为了发现程序中的错误而执行程序的过程,常用黑盒功能测试法和白盒结构测试法进行测试,那黑盒功能测试法和白盒结构测试法到底是什么样的测试方法?它们有哪些优劣势呢? 所谓黑盒功能测试法,就是把要测试的软件看成一个黑盒子,不管其内部结构如何以及用什么算法实…

黑盒测试和白盒测试的概念和区别你知道吗?

目录 前言 黑盒测试 黑盒功能测试 非功能黑盒测试 回归黑盒测试 白盒测试 出于安全原因 解决性能问题 检查链路 需要黑盒和白盒测试的结合 前言 软件测试是软件开发过程中的基本活动。黑盒测试和白盒测试是两种不同类型的软件测试策略,它们具有同样强大的…

笔记~【软件测试基础知识】——黑盒测试和白盒测试

这里写目录标题 一、黑盒测试二、白盒测试 一、黑盒测试 黑盒测试概述 黑盒测试也称功能测试或数据驱动测试。它已知产品所应具有的功能,通过测试来检测每个功能是否能够正常使用,主要针对软件界面和软件功能。在测试时,把程序看作一个不能打…

白盒测试和黑盒测试的区别

白盒测试和黑盒测试的区别白盒测试和黑盒测试都是计算机领域行业用以检查程序的状态,确定实际运行状态与预期状态是否一致的重要环节,来看看他们有什么不一样吧。 白盒测试技术 (White Box Testing) : 深入到代码一级的测试,使用这…

测试用例设计方法——黑盒测试和白盒测试

目录 一、黑盒测试 1、什么是黑盒测试? 2、黑盒测试用例设计方法 ☆等价类划分 ☆边界值分析 二、白盒测试 1、什么是白盒测试? 2、白盒测试用例设计方法 三、灰盒测试 一条完整的测试用例应包括: 用例编号、项目名称、用例标题、优…

DNF游戏多开虚拟机,过TP过三方,过制裁,DNF虚拟机同步

DNF虚拟机游戏交流群:5448030(群内免费虚拟机使用) 虚拟机下载https://pan.baidu.com/s/169VvEyZ0zIGfrCjAUcRCjw 提取码: ruax

dnf游戏多开虚拟机,过检测过制裁,dnf同步

dnf虚拟机交流群372834206(群内安装虚拟机) **dnf虚拟机交流群372834206(群内安装虚拟机)

DNF源码2020-10-26

1.源码如图 2.源码链接 源码链接 3.编译和运行所需文件如下 4.其他问题请私信我 5.效果视频 百度网盘链接:https://pan.baidu.com/s/1qat846REsxwPxIIkmrHIgw 提取码:4em4

DNF脚本完整源码编辑可用

DNF脚本完整源码编辑可用 1.以下是源码相关截图,完整的,不缺东西,编辑可用 源码属于未开发完的,只有钢铁之臂和特伦斯可用 由于各种原因,此源码不再继续开发,后续会不断分享新的DNF源码 2. 3. 4. 5. …

Linux系统之dnf包管理器的基本使用

Linux系统之dnf包管理器的基本使用 一、dnf工具介绍1. dnf工具简介2. dnf的功能 二、DNF的安装1. 检查本地操作系统版本2. 安装epel3. 检查本地yum仓库状态4. 安装dnf包 三、dnf的使用帮助1. 查看dnf版本2. 查看dnf命令的帮助信息3. dnf命令的选项解释 四、dnf命令的基本使用1.…

游戏同步

早上在翻个人博客文件夹的时候,发现这篇18年10月30日写完的,再去翻了个人博客里,确实没发出来。随便把当时写的手稿也发上来。 游戏同步:帧同步和状态同步 帧同步:服务器负责转化客户端的操作,每个客户端在…

DNF端游服务器搭建流程

DNF端游服务器搭建流程 搭载工具:链接:搭载工具 提取码:oszp 第一步、购买云服务器 https://cloud.tencent.com/ 根据你的需求购买合适的配置,自己玩的话2核2G的就够用 买好服务器后,找到添加规则,将U…

Linux yum/dnf工具

yum/dnf工具 1、yum/dnf工具简介 yum工具(yellowdog update manager)基于RPM进行开发。最大的优势就是能够解决rpm包的依赖问题;yum能够自动解决软件安装时的依赖关系。有优势就有劣势;yum工具也有缺点,如果在未完成…