黑盒白盒测试的区别

一.黑盒测试(Black-box Testing)

黑盒测试也称功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据与输出数据。

不看软件代码,只对功能进行测试
对软件进行操作,观察结果是否和我们想象的一致

在这里插入图片描述
黑盒,顾名思义就是:把测试对象看作一个不能打开的黑盒子。测试时,测试人员完全不用考虑盒子里面的逻辑结构和具体运作,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明,检验输出结果对不对。

二.白盒测试(White-box Testing)

白盒测试是基于代码的测试。白盒指的打开盒子,去研究里面的源代码
和程序结果。接口测试也是白盒测试的是一种 。

对代码进行测试,对代码里面的的接口,数据结构,边界值,路径覆盖,错误处理等等内容进行测试

在这里插入图片描述
与黑盒恰恰相反,这种方法是把测试对象看作一个打开的透明盒子。测试时,测试人员会利用程序内部的逻辑结构及有关信息,通过在不同点检查程序状态,检验程序中的每条通路是否都能按预定要求进行正确工作。

三.区别

黑盒测试和白盒测试,二者最大的区别应该就是测试时关注的对象不一样。

黑盒测试主要针对的是程序所展现给用户的功能,白盒测试主要针对的是程序代码逻辑,简单的说,就是前者测试最终展示功能,后者测试后台程序的代码逻辑。

测试方法不一样
黑盒测试的测试方法有:等价类划分、边界值分析法、错误分析法、因果图法
白盒测试的测试方法有:逻辑覆盖法、基本路径测试法、代码检查法、程序变异、静态结构分析法、静态质量度量法、符号测试法、

四.优缺点

(1)黑盒

优点:
1.对于较大的代码单元来说,黑盒测试比白盒测试效率更高。
2.测试人员不需要了解细节,包括特定的编程语言。
3.测试人员和开发人员是彼此独立的。
4.从用户的角度测试,很容易被理解和接受。

缺点:
1.很多测试路径没有被测试到。
2.不能直接对特定程序段进行测试,而该程序段可能隐藏很多错误。
3.大部分和研究相关的测试都是直接针对白盒测试的。


(2)白盒

优点:
1.帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。
2.能相对来说了解软件的具体实现代码
3.对代码的测试来说相对比较好

缺点:
1.程序运行会有很多不同的路径,不可能测试所有的运行路径;
2.测试基于代码,只能测试开发人 员写的对不对,而不能知道研发人员设计的正确与否,可能会漏掉一些功能需求;
3.系统庞大时,测试开销 会非常大。

发布了62 篇原创文章 · 获赞 6 · 访问量 4442

猜你喜欢

转载自blog.csdn.net/HU1656/article/details/104734785