白盒测试、黑盒测试、灰盒测试

根据被测对象的不同,软件测试可以分为白盒测试、黑盒测试、灰盒测试三种方式。那么,这三种测试测试方式具体是如何运行的?各有什么特点?下面,跟着小厚一起了解一下吧!

01

白盒测试

●概念:

➢ 白盒测试是依据被测软件分析程序内部构造,并根据内部构造设计用例,来对内部控制流程进行测试,可完全不顾程序的整体功能实现情况。

➢ 白盒测试是基于程序结构的逻辑驱动测试。

➢ 白盒测试又可以被称为玻璃盒测试、透明盒测试、开放盒测试、结构化测试、逻辑驱动测试。

●目的:

➢ 白盒测试一般在测试前期进行,通过达到一定的逻辑覆盖率指标,使得软件内部逻辑控制结构上的问题能基本得到消除。

➢ 白盒测试能保证内部逻辑结构达到一定的覆盖程度,能够给予软件代码质量更大的保证。

➢ 白盒测试发现问题后解决问题的成本较低。

●常用技术:

➢ 静态分析:包括控制流分析、数据流分析、信息流分析。

➢ 动态分析:逻辑覆盖测试(分支测试、路径测试等)、程序插装等。

• 逻辑覆盖测试根据覆盖的对象不同,可以分为:语句覆盖、判定(分支)覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

• 程序插装指调试程序时,在程序中插入一些打印语句,程序执行时打印出我们关心的信息,通过这些信息了解执行过程中程序的一些动态行为。

●特点:

➢ 测试人员需要了解软件的实现,可以检测代码中的每条分支和路径,对代码的测试比较彻底。

➢ 揭示隐藏在代码中的错误,实现代码结构上的优化。

➢ 投入较大,成本高。

➢ 无法检测代码中遗漏的路径和数据敏感性错误。

➢ 不验证规格的正确性。

02

黑盒测试

●概念:

➢ 黑盒测试把被测对象看成一个黑盒,只考虑其整体特性,不考虑其内部具体实现。

➢ 黑盒测试针对的被测对象可以是一个系统、一个子系统、一个模块、一个子模块、一个函数等。

➢ 黑盒测试又可以被称为基于规格的测试。

常见的黑盒测试类型:

➢ 功能测试:一种是顺序测试每个程序特性或功能,另一种途径是一个模块一个模块的测试,即每个功能在其先调用的地方被测试。

➢ 容量测试:检测软件在处理海量数据时的局限性,能发现系统效率方面的问题。

➢ 负载测试:检测系统在一个很短时间内处理一个巨大的数据量或执行许多功能调用上的能力。

➢ 异常测试:主要保证系统在崩溃后能够恢复外部数据的能力。 

常用的黑盒测试方法:

➢ 等价类划分法、边界值分析法、因果图分析法、判定表法、状态迁移法等。

●特点:

➢ 对于更大的代码单元来说(子系统甚至系统级)比白盒测试效率要高。

➢ 测试人员不需要了解实现的细节,包括特定的编程语言。

➢ 从用户的视角进行测试,很容易被大家理解和接受。

➢ 有助于暴露任何规格不一致或有歧义的问题。

➢ 如果没有清晰的需求规格说明书,测试用例很难设计。

➢ 不能控制内部执行路径,会有很多内部程序路径没有被测试到。

03

灰盒测试

● 利用被测对象的整体特性信息,采用黑盒测试方法。

● 利用被测对象的内部具体实现信息,采用白盒测试方法。

● 如果既利用被测对象的整体特性信息,又利用被测对象的内部具体实现信息,采用的就是灰盒测试方法。两种信息占的比例不同,相应的灰度就不同。

● 完全是整体特性信息,就是黑盒测试,完全是内部具体实现信息,就是白盒测试。

● 灰盒测试多用于集成测试阶段,不仅关注输入、输出的正确性,同时也关注程序内部的情况。

【案例】PDA闹钟事件的测试

背景描述:闹钟是PDA(Personal Digital Assistant)上的一个应用程序,它的主要功能就是在用户设置的时间点到达时,进行响铃提醒。响铃时,无论用户当前在做什么操作,会弹出一个响铃提示界面。

提出问题:一天,负责测试此模块的工程师小叶提出一个问题“闹铃事件优先级高,在所有应用程序界面、对话框或提示框上面都会弹出,黑盒测试需要进入所有情况的用户界面,然后等待闹钟事件的发生,才能全面验证到各种情况的用户使用场景。”但这样穷举测试,需耗的时间太多,效果也并不一定好。

分析问题:关于闹钟的应用,实际上该模块只提供了一个接口。如能从代码角度分析到所有其他模块调用的是同一个闹铃接口函数(对于响铃及停止响铃后对原界面的恢复,都是统一一个接口处理的),那么再通过黑盒功能测试,在某一个用户界面进行此响铃功能的验证,即可证明代码的实现是符合需求的,这正是灰盒测试的方法。

解决问题:后来,对于闹铃功能点的系统验证,采用了灰盒测试的方法,做了代码正向、逆向分析,结合功能性用户场景进行验证,节省了近2/3的测试时间。

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

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

相关文章

公司注册公司的经营范围怎么填

现在的公司还真不少,似乎一家企业还是店铺都要加上公司这个名号才会变得高大上一样,而在郑州创立公司少不了要办理这些业务,填写相应的注册经营范围,可能大家这样子听起来觉得简单,但事实上实施起来并不是那么一回事儿…

Neo4j安装配置教程

目录结构 前言Neoj4简介安装JDKNeo4j安装步骤Neo4j下载解压Neo4j压缩包配置环境变量启动Neo4j执行命令报错,报错信息如下: 启动Neo4j,再次测试浏览器访问Neo4j参考链接 前言 安装所需配件网盘一键下载。以下描述中,官网下载均有描…

填万能经营范围模板,避开办理营业执照经营范围的坑

常见行业经营范围模板!来挑挑看吧!(附万能经营范围模板) 注册企业时有没有常常遇到经营范围怎么选?哪些行业是行政许可项目?哪些可以“先照后证”? 现在工商登记对经营范围应该怎么写已经没…

中国十大进口母婴店热销品牌排名前10

根据2020年中国品牌网统计的十大进口母婴品牌排名,由优家宝贝整理后发布。分别是以下十个进口母婴品牌,根据热度进行的名次排行榜。 排在Top1的是贝亲,它创始于1957年,2002年正式进入中国市场,它秉承爱的理念,以“放心、安全、信赖”作为奠定品牌价值的基石。它一直致力于为消费…

服装商标带,店家的品牌标志

服装商标带,店家的品牌标志 服装商标带特征: 1、在商标的制作材料上,选择亲肤性强的棉纺织品作为制作商标的标识的标示块或条,让商标的标识的标示块或条与皮肤接触而不导致皮肤瘙痒; 2、是在商标的标示块、标示条的缝纫的位置上,将商标缝纫在上述服装的袖口、衣领口或衣领的…

营业执照经营范围怎么填写

经营范围局限了企业运营时的经营活动,企业经营不能超过该经营范围,经营范围是我们在注册公司时的必填项目,因此今天快点办小编就来跟你讲讲经营范围的那些事,包括是什么、怎么填写、有哪些经营范围。 1.经营范围是什么&#xff1…

中国童装十大品牌是什么?

中国童装十大品牌是什么? [品牌 童装 市场 服装] 悬赏点数 10 征答截止时间 2009-4-28 下午03:08:59 00 xzerq 2009-4-8 下午03:08:59 172.30.211.* 举报 中国童装十大品牌是什么? 回答 回答 00 u1985 2009-4-8 下午03:09:14 113.132.215.* 举报 中…

海睿思分享 | 主数据如何赋能企业运营管理

在全球范围内,企业正在越来越多地依赖数据进行决策和运营。然而,由于数据量的爆炸式增长以及数据来源的多样化,管理这些数据以获取有效的洞见变得越来越困难。 主数据管理(MDM)作为一种方法和技术,旨在帮助…

实战:Spring Cloud Stream消息驱动框架整合rabbitMq

文章目录 前言Spring Cloud Stream简析Spring Cloud Stream与rabbitmq整合1、添加pom依赖2、application.yml增加mq配置3、定义输入输出信道4、使用输入输出信道收发消息5、模拟正常消息消费6、模拟异常消息 前言 相信很多同学都开发过WEB服务,在WEB服务的开发中一…

分享几个实用又有趣的工具类网站

今天来给大家分享几个众多网友们推荐的,实用又有趣的工具类网站 DeepL翻译:免费的在线翻译网站,大名鼎鼎的翻译神器 DeepL,翻译准确、语句通顺,效果相当好。 https://www.deepl.com/translator BgSub 消除或者替换图…

JavaEE(系列20) -- 网络编程之UDP和TCP套接字

目录 1. 网络编程 2. UDP网络编程 2.1 DatagramSocket API 2.2 DatagramPacket API 2.3 基于UDP实现的回显服务器 2.3.1 UDP服务器设计步骤 2.3.2 服务器代码 2.3.3 客户端代码 2.3.4 基于UDP写一个字典服务器 3. TCP网络编程 3.1 ServerSocketAPI 3.2 SocketAPI …

window专业版激活

1、管理员权限进入命令行 2、安装密钥 slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX 3、设置kms服务器 slmgr /skms zh.us.to 4、查看是否激活 slmgr /ato 转载于:https://www.cnblogs.com/Edward-Yue/p/10942884.html

电脑显示未激活Windows的解决办法

今天遇到一个问题,桌面显示要我激活windows,如下图: 那么接下来就分享一下我的解决办法: 一、鼠标右击桌面左下角windows 键,选择Windows PowerShell(管理员),会出现如下页面&#x…

Windows server 2022安装与激活

1.下载 百度网盘下载 链接:https://pan.baidu.com/s/18c5smZPzbk0ClhEYh4LQ2w 提取码:w7i8 2.安装 最近版本新出的镜像官方的 EFI 文件在虚拟机上部署有问题,如发现不能在虚拟机内使用,切换虚拟机配置为 BIOS,而非…

查看已激活Windows的密钥

今天工作之余,过个快乐的周末心情很是不错,然后打开电脑,闲暇之余,突然想到了window密钥的问题,然后就写个文章记录一下Windows如何在命令行查看密钥! 方法一:DOS命令查看:如果你是…

Linux内核日志打印时间开关

echo Y > /sys/module/printk/parameters/time //打开内核日志打印时间 echo N > /sys/module/printk/parameters/time //关闭内核日志打印时间 cat /sys/module/printk/parameters/time //查看内核日志打印时间开关状态 static bool printk_time IS_ENABLED(CONFIG…

在 Windows 10 中如何查看系统的激活状态?

查看激活方法 方法一方法二方法三 升级到 Windows 10 或重新安装 Windows 10 后,可能需要检查 Windows 10 安装是否已激活,那么可以通过以下方法来实现: 方法一 开始按钮->设置(快捷键 Windows I) 点击“更新和…

win 10 系统激活

win10企业版永久激活方法?win10企业版是针对企业用户推出的版本,随着win10系统的不断完善,现在越来越多的人选择升级win10,升级完系统就需要激活它。那么今天就为大家分享一下怎么永久激活win10企业版。 1、右键点击桌面左下角"windows…

激活windows

激活windows 本来一直觉得office不激活也不影响使用,直到最近写报告才发现影响真是很大,搜了好多激活码基本都不可用。直到在某个网站上看到的一个非常简单的一个方式,话不多说了,直接开始。 第一步:下载安装激活工具…

细说Windows系统主流激活的原理与弊端!

Windows系统有必要激活吗? 答案是“有必要”。虽然微软已经放开了系统,不再抓着版权不放,而且可以通过“自建验证服务器”的方式可以自行激活盗版系统,但相较于已经激活的正版系统而言,正版系统提供的功能更齐全&#…