黑盒测试与白盒测试——总结

软件开发过程中一个重要环节便是测试,有两种重要的测试方法:黑盒测试和白盒测试。

黑盒测试:也称功能测试或数据驱动测试,它是已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息的完整性。

黑盒测试的主要目的在于以下几个方面:

(1)正确性:计算结果,命名等方面

(2)可用性:是否可以满足软件的需求说明

(3)边界条件:输入部分的边界值,使用等价类划分,试试最大最小和非法数据等

(4)性能:正常使用的时间内系统完成一个任务需要的时间,多人同时使用的时候响应时间在可以接受范围内

(5)压力测试:多用户情况下可以考虑使用压力测试工具,建议将压力和性能测试结合起来进行

(6)错误恢复:错误处理,页面数据验证,包括突然断电,输入脏数据等

(7)安全性测试:可以审核代码,提出安全建议,出现紧急事件时的处理办法等

(8)兼容性:

黑盒测试优点:

(1)对于较大的代码单元来说,黑盒测试比白盒测试效率较高;

(2)测试人员不需要了解细节,包括特定的编程语言;

(3)测试 人员和开发人员彼此独立;

(4)从用户的角度测试,很容易理解和接受;

黑盒测试的缺点:

(1)测试的只有一小部分,不可能测试全部输入;

(2)没有简明的需求规格说明书,测试用例很难设计;

(3)不能直接对程序段进行测试,改程序段可能隐藏更多错误。


白盒测试:又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。它是一种测试用例设计方法,所谓“盒子”指的是被测试的软件,“白盒”指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。白盒法全面了解程序内部逻辑结构,对所有逻辑路径进行测试。白盒法是穷举路径测试,在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。

白盒测试主要从以下几个方面进行:

(1)对程序模块的所有独立的执行路径至少测试一次;

(2)对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次;

(3)在循环的边界和运行界限内执行循环体;

(4)测试内部数据结构的有效性等。

白盒测试的优点:

(1)迫使测试人员去仔细思考软件的实现;

(2)可以检测代码中的每条分支和路径;

(3)揭示隐藏在代码中的错误;

(4)对代码的测试比较彻底;

(5)最优化。

白盒测试的缺点:

(1)昂贵;

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

(3)不验证规格的正确性。



你可能感兴趣的:(软件工程)