黑盒测试不可能实现穷尽测试: 假设有一个很简单的小程序,输入量只有两个:A和 B,输出量只有一个:C。如果计算机的字长为32位,A 和B的数据类型都只是整数类型。利用黑盒法进行测试时, 将A和B的可能取值进行排列组合,输入数据的可能性有: 232×232=264种。假设这个程序执行一次需要1毫秒,要 完成所有的测试,计算机需要连续工作5亿年。显然,这 是不能容忍的,而且,设计测试用例时,不仅要有合法 的输入,而且还应该有非法的输入,在这个例子中,输 入还应该包括实数、字符串等,这样,输入数据的可能 性就更多了。所以说,穷尽测试是不可能实现的
黑盒测试不可能实现穷尽测试: 假设有一个很简单的小程序,输入量只有两个:A和 B,输出量只有一个:C。如果计算机的字长为32位,A 和B的数据类型都只是整数类型。利用黑盒法进行测试时, 将A和B的可能取值进行排列组合,输入数据的可能性有: 2 32×2 32=2 64种。假设这个程序执行一次需要1毫秒,要 完成所有的测试,计算机需要连续工作5亿年。显然,这 是不能容忍的,而且,设计测试用例时,不仅要有合法 的输入,而且还应该有非法的输入,在这个例子中,输 入还应该包括实数、字符串等,这样,输入数据的可能 性就更多了。所以说,穷尽测试是不可能实现的
822白盒测试 白盒测试时将程序看作是一个透明的盒子,也就是说 测试人员完全了解程序的内部结构和处理过程。所以测试 时按照程序内部的逻辑测试程序、检验程序中的每条通路 是否都能按预定的要求正确工作。白盒测试又称为结构测 试 利用白盒测试设计测试用例时,应包括以下三类测试: (1)语句测试:要求程序中的每个语句至少测试一次; (2)分支测试:要求程序中的每个分支至少测试一次 (3)路径测试:要求程序中的每条路径至少测试一次
白盒测试时将程序看作是一个透明的盒子,也就是说 测试人员完全了解程序的内部结构和处理过程。所以测试 时按照程序内部的逻辑测试程序、检验程序中的每条通路 是否都能按预定的要求正确工作。白盒测试又称为结构测 试。 利用白盒测试设计测试用例时,应包括以下三类测试: (1)语句测试:要求程序中的每个语句至少测试一次; (2)分支测试:要求程序中的每个分支至少测试一次; (3)路径测试:要求程序中的每条路径至少测试一次。 8.2.2 白盒测试
白盒测试也不能实现穷尽测试: 左图所示的一个小程 序的控制流程,其中每个 圆圈代表一段源程序(或 语句块),图中的曲线代 表执行次数不超过20的循 环,循环体中共有5条通路 这样,可能执行的路径有 520条,近似为104条可能 的路径。如果完成一个路 径的测试需要1毫秒,那么 整个测试过程需要3170年 显然,这也是不能接受的
白盒测试也不能实现穷尽测试: 左图所示的一个小程 序的控制流程,其中每个 圆圈代表一段源程序(或 语句块),图中的曲线代 表执行次数不超过20的循 环,循环体中共有5条通路。 这样,可能执行的路径有 5 20条,近似为1014条可能 的路径。如果完成一个路 径的测试需要1毫秒,那么 整个测试过程需要3170年。 显然,这也是不能接受的
8.3测试用例的设计 83.1逻辑覆盖 832等价类划分 83.3边界值分析 83.4错误推测法 退出
8.3 测试用例的设计 8.3.1 逻辑覆盖 8.3.2 等价类划分 退出 8.3.3 边界值分析 8.3.4 错误推测法
831逻辑覆盖 逻辑覆盖是以程序的内部逻辑结构为基础的测 试用例设计技术,属于白盒测试。它要求测试人员 十分清楚程序的逻辑结构,考虑的是测试用例对程 序内部逻辑覆盖的程度。 根据覆盖的目标,逻辑覆盖又可以分为: 句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖
逻辑覆盖是以程序的内部逻辑结构为基础的测 试用例设计技术,属于白盒测试。它要求测试人员 十分清楚程序的逻辑结构,考虑的是测试用例对程 序内部逻辑覆盖的程度。 根据覆盖的目标,逻辑覆盖又可以分为: 语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖 8.3.1 逻辑覆盖