黑盒测试和白盒测试区别及测试案例.pdf
文本预览下载声明
什么是黑盒测试和白盒测试?
任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测
试。
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能
是否符合要求。
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否
符合设计规格要求,所有内部成分是否以经过检查。
软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象
看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程
序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫
功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
1、是否有不正确或遗漏的功能?
2、在接口上,输入是否能正确的接受?能否输出正确的结果?
3、是否有数据结构错误或外部信息 (例如数据文件)访问错误?
4、性能上是否能够满足要求?
5、是否有初始化或终止性错误?
软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对
象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设
计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,
确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测
试。白盒测试主要是想对程序模块进行如下检查:
1、对程序模块的所有独立的执行路径至少测试一遍。
2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3、在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性,等等。
以上事实说明,软件测试有一个致命的缺陷,即测试的不完全、不彻底性。
由于任何程序只能进行少量(相对于穷举的巨大数量而言)的有限的测试,在未发
现错误时,不能说明程序中没有错误。
白盒测试
白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程
序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验
程序中的每条通路是否都能按预定要求正确工作。
这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结
构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点
检查程序的状态,确定实际的状态是否与预期的状态一致。
采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试
方法和动态测试方法。其中软件的静态测试不要求在计算机上实际执行所测程序,
主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入
一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错
误的过程。
黑盒测试
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
在测试地,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部
特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书
的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测
试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行
测试。
黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试
的。很明显,如果外部特性本身有问题或规格说明的规定有误,用墨盒测试方法是
发现不了的。
黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误。
功能不正确或遗漏;
界面错误;
数据库访问错误;
性能错误;
初始化和终止错误等。
从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测
试情况考虑,才能查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅
要测试所有佥的输入,而且还要对那些不合法但可能的输入进行测试。这样看来,
完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测
试的实施,保证软件测试有组织、按步骤,以及有计划地进行。黑盒测试行为必须
能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方
法之一。具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推
测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。
等价类划分的办法是把程序的输入域划分成若干部分,然后从每个部分中选
显示全部