0


【软件构造】黑盒测试与白盒测试

文章目录


前言

按照

是否需要知道程序内部是如何实现

的,将测试分为

黑盒测试

白盒测试

需要知道程序内部是如何实现的——

白盒测试

不需要知道程序内部是如何实现的——

黑盒测试

白盒测试一般是

内部人员

即程序员进行测试
黑盒测试一般是

外部人员

如专门的测试人员和用户来测试


提示:以下是本篇文章正文内容,下面案例可供参考

一、黑盒测试

1、什么是黑盒测试?

黑盒测试

又称为

功能测试

,主要检测软件的每一个

功能是否能够正常使用

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

2、常见的黑盒测试技术

等价类划分、边界值分析、错误推测法、因果图

3、等价类划分

a、主要思想:

将被测函数的输入划分为

等价类

,从等价类中导出测试用例。(等价类在集合论图论中学过…)

这基于一种

假设

就是:

相似的输入,将会产生相同的结果

。意思就是可以从一个等价类中选择一个为代表作为测试用例即可。(比如【1,2,3】为一个等价类,则选择1或2或3其中一个测试即可)

b、有效等价类与无效等价类

有效等价类

:如果一个等价类内的数据是符合(软件需求说明书)要求的、合理的数据,则称这个等价类为

有效等价类

。有效等价类主要用来检验软件

是否实现了规定的功能

无效等价类

:如果一个等价类内的数据是不符合(软件需求说明书)要求的、不合理或非法的数据,则称这个等价类为

无效等价类

。无效等价类主要用来

检验软件的容错性

c、例子

max函数用来返回两个数中更大的数。这时需要分别选择数据属于a>b,a==b,a<b三种情况。

3、边界值分析

主要思想

假设

大量的错误发生在输入与的“边界”而不是中央。边界值分析可以是对等价类划分方法的补充。

4、错误推测法

a、定义:

在测试程序时,人们可以根据

经验

直觉

推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。

b、主要思想:

列举程序可能出现的错误或者容易产生错误的测试点,然后根据测试点来编写测试用例。
或 在阅读规格说明时联想开发可能做的假设来确定测试用例,比如规格说明中的可能被忽略的内容。

c、常见的方法:

极限值设计

(如最大、最小、空、0)、

特殊值设计

5、因果图

根据输入条件与输出结果之间的因果关系来设计测试用例的,它首先检查输入条件的各种组合情况,并找出输出结果对输入条件的依赖关系,然后为每种输出条件的组合设计测试用例。

二、白盒测试

1、什么是白盒测试?

白盒测试

也称为

结构测试

,主要用于

检测软件编码过程中的错误

。程序员的编程经验、对编程软件的掌握程度、工作状态等因素都会影响到编程质量,导致代码错误。
白盒测试可以发现黑盒测试没有发现的错误。
可以

实现一部分测试一部分

2、独立路径测试

对程序所有执行路径进行等价类划分,找出有代表性的`最简单的路径(例如循环只执行一次),设计测试用例
是每一条基本路径被覆盖至少一次。

三、白盒测试与黑盒测试比较

白盒测试

不可能覆盖所有的代码,

覆盖率较低

,大概只能达到总代码量的30%

自动化复用率低

不可能测试所有运行路径
系统庞大时,

开销大
黑盒测试

比较简单,不需要知道内部代码的实现
从用户的角度,可以知道会用到哪些功能;从软件需求说明书,可以知道实现了那些功能

自动化测试较方便

帮助测试人员

增大代码的覆盖率

,提高代码质量,发现隐藏问题


本文转载自: https://blog.csdn.net/m0_52029107/article/details/124413015
版权归原作者 冷冰鱼 所有, 如有侵权,请联系我们删除。

“【软件构造】黑盒测试与白盒测试”的评论:

还没有评论