知识普及:黑盒测试、白盒测试、灰盒测试之间的区别

栏目: 编程工具 · 发布时间: 5年前

内容简介:黑盒测试软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。

黑盒测试

软件的黑盒测试意味着测试要在软件的接口处进行。

这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。

因此黑盒测试又叫功能测试或数据驱动测试。

通俗方式举例说明:

小明从商场的某一个入口进入,你在商场外面等待,并不知道商场内发生了什么,只知道正确的结果是,小明带着一堆商品从某一个出口(可以与入口相同)出来。

这是原定正确的情况,不出错我们就不需要管商场里面发生了什么,否则,在多次逛商场(多次黑盒测试)之中,发生无法达到原定正确的情况,例如小明与人争执、小明没带钱、小明有问题需要与自己协商等情况的发生,就需要测试人员进行检查了。

知识普及:黑盒测试、白盒测试、灰盒测试之间的区别

白盒测试

软件的白盒测试是对软件的过程性细节做细致的检查。

这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。

因此白盒测试又称为结构测试或逻辑驱动测试。

通俗方式举例说明:

小明从商场的某一个入口进入,你随着陪同进入商场,全程陪伴,观察小明购物的每个细节,了解其走过的每一步,发生的每个小情况,然后,你抱着一堆商品陪着小明从某一个出口出来。

灰盒测试

灰盒测试,是介于白盒测试与黑盒测试之间的。

可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了。

这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法。

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

如果某软件包含多个模块,当你使用黑盒测试时,你只要关心整个软件系统的边界,无需关心软件系统内部各个模块之间如何协作。而如果使用灰盒测试,你就需要关心模块与模块之间的交互。这是灰盒测试与黑盒测试的区别。

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

但是,在灰盒测试中,你还是无需关心模块内部的实现细节。对于软件系统的内部 模块,灰盒测试依然把它当成一个黑盒来看待。而白盒测试则不同,还需要再深入地了解内部模块的实现细节。所以,这是灰盒测试与黑盒测试的区别。

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

白盒测试的优点

1、能仔细考虑软件的实现。

2、可检测代码中的每条分支和路径。

3、揭示隐藏在代码中的错误。

4、对代码的测试比较彻底。

白盒测试的缺点

1、昂贵。

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

3、不验证规格的正确性。

黑盒测试的优点

1、对于子系统甚至系统,效率要比白盒测试高。

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

3、测试人员和编程人员彼此独立。

4、从用户的角度进行测试,很容易理解和接受。

5、有助于暴露规格的不一致或有歧义的问题。

6、测试用例可以在规格完成后马上进行。

黑盒测试的缺点

1、只有一小部分输入被测试到,要测试每个可能的输入几乎不可能。

2、没有清晰、简明的规格,测试用例很难设计。

3、如果测试人员不被告知开发人员已经执行过的用例,在测试数据上会存在不必要的重复。

4、有很多程序路径没有被测试到。

5、不能直接针对特定程序段测试,而这些程序段可能很复杂,有可能隐藏更多的问题。

6、大部分和研究相关的测试都是直接针对白盒测试的。

总结:

总而言之,言而总之,采用什么样的方法去测试,需要公司和项目组成员根据实际情况去制定。

灰盒测试是一个很不错的选择,其优点明显而缺点容易克服。朋友们在测试时,可以尝试用一用,看看效果如何。

欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试 工具 安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ                     群:                    755431660


以上所述就是小编给大家介绍的《知识普及:黑盒测试、白盒测试、灰盒测试之间的区别》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法谜题

算法谜题

Anany Levitin、Maria Levitin / 赵勇、徐章宁、高博 / 人民邮电出版社 / 2014-1-1

算法是计算机科学领域最重要的基石之一。算法谜题,就是能够直接或间接地采用算法来加以解决的谜题。求解算法谜题是培养和锻炼算法思维能力一种最有效和最有乐趣的途径。 本书是一本经典算法谜题的合集。本书包括了一些古已有之的谜题,数学和计算机科学有一部分知识就发源于此。本书中还有一些较新的谜题,其中有一部分谜题被用作知名IT企业的面试题。全书可分为4个部分,分别是概览、谜题、提示和答案。概览介绍了算法......一起来看看 《算法谜题》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具