上周学习了白盒,本周开始学习黑盒测试。

4.3黑盒测试

黑盒测试(Black Box Testing)也称功能测试,主要测试每个功能是否正常使用。是软件测试使用中最广泛的一类测试。在黑盒测试中,通常把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,对程序接口进行测试,指检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,如图4-5所示

黑盒测试着手程序外部结构,不考虑内部逻辑结构,主要对软件界面和软件功能进行测试、是从用户角度考虑,从输入数据与输出数据的对应关系出发进行测试。关注的是软件的功能需求,主要试图发现以下类型的错误。

1)功能是否正确,是否有遗漏

2)界面是否有错误

3)数据结构或外部数据库访问错误

4)性能错误

5)初始化和终止错误

常见的黑盒测试方法有:功能性测试、性能测试、安心性测试、兼容性测试、稳定性测试、可靠性测试以及安装卸载测试等。

要有针对性的选择测试用例,通过定制案例测试的实施,保证测试由组织、有计划的进行。只有

对黑盒测试进行量化,才能保证软件的质量具体量化的方法之一就是测试用例。

黑盒测试用例设计方法包括;等价类划分法、边界值分析法、判定表分析法、因果图分析法、正交试验法、流程分析法、状态迁移法、异常分析法以及错误推测法等。

4.3.1等价类划分法

是典型的黑盒测试用例设计方法,是将软件的输入域分成若干部分,然后从每个部分中选取少数具有代表性的数据进行测试,可以避免穷举产生的大量用例。

等价类是指某个输入域的子集合,指输入该输入域中的某一个数据,如不能揭露被测对象的缺陷,那么我们就说这个输入域中的所有数据都无法揭露该缺陷,反义亦然。

一般分为两种情况:有效等价类和无效等价类

1)有效等价类:对需求规格而言、合理的、有效的输入数据构成的集合。

2)无效等价类:对需求规格而言、不合理的、无效的输入数据构成的结合。

因为软件不仅要能接收合理的数据,不合理的数据也需要做出正确响应。所有在设计用例时,两种等价类都需要考虑,这样有更高的可靠性。

等价类划分的标准:划分的子集必须是互不相交的,符合完备测、避免出现冗余。

等价类划分法的划分原则,通常按照以下规则进行划分等价类。

1)如规定输入的取值范围或个数时,则划分一个有效等价类和两个无效等价类。如