黑盒测试
不考虑程序的内部逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明,又称为功能测试或数据驱动测试。
黑盒测试主要是在程序的接口上进行测试,主要是为了发现以下错误:
是否有不正确或遗漏了的功能;
在接口上,能否正确的接收输入,能否输出正确的结果
是否有数据结构错误或外部信息访问错误
性能上是否能够满足要求
是否有初始化或终止错误
黑盒测试的测试用例设计方法主要有:
等价类划分:是一种典型的黑盒测试方法,依据程序的规格说明书来设计测试用例,将所有可能的输入数据划分为若干个部分,然后从每一部分中选取少数有代表性的数据作为测试用例,分为划分等价类和选取测试用例两步。
边界值分析:是对等价类划分方法的补充,选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,从经验得知,大量的错误是发生在输入或输出范围的边界上。
错误推测法:可以靠经验和直觉推测程序中可能存在的各种错误,从而有针对性编写检查这些错误的用例
因果图: 如果在测试时必须考虑输入条件的各种组合,可使用一种适于描述多种条件的组合,相应产生多个动作的形式来设计测试用例,这就需要利用因果图。因果图最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。
白盒测试
白盒测试主要对程序模块进行如下检查:
对程序模块的所有独立的执行路径至少测试一次
对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次
在循环的边界和运行界限内执行循环体
测试内部数据结构的有效性等
逻辑覆盖
逻辑覆盖是以程序内部的逻辑结构为基础的设计用例的技术。它属白盒测试,包括语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖等