黑盒测试 



不考虑程序的内部逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明,又称为功能测试或数据驱动测试。 

黑盒测试主要是在程序的接口上进行测试,主要是为了发现以下错误: 


是否有不正确或遗漏了的功能; 

在接口上,能否正确的接收输入,能否输出正确的结果 

是否有数据结构错误或外部信息访问错误 

性能上是否能够满足要求 

是否有初始化或终止错误 


黑盒测试的测试用例设计方法主要有: 


等价类划分:是一种典型的黑盒测试方法,依据程序的规格说明书来设计测试用例,将所有可能的输入数据划分为若干个部分,然后从每一部分中选取少数有代表性的数据作为测试用例,分为划分等价类和选取测试用例两步。 

边界值分析:是对等价类划分方法的补充,选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,从经验得知,大量的错误是发生在输入或输出范围的边界上。 

错误推测法:可以靠经验和直觉推测程序中可能存在的各种错误,从而有针对性编写检查这些错误的用例 

因果图: 如果在测试时必须考虑输入条件的各种组合,可使用一种适于描述多种条件的组合,相应产生多个动作的形式来设计测试用例,这就需要利用因果图。因果图最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。 


白盒测试


白盒测试主要对程序模块进行如下检查: 


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

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

在循环的边界和运行界限内执行循环体 

测试内部数据结构的有效性等 


逻辑覆盖 


逻辑覆盖是以程序内部的逻辑结构为基础的设计用例的技术。它属白盒测试,包括语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖等