232等价类划分法 (3)对等区间划分 对等区间划分是测试用例设计的非常规形式化的方法。它将被测 对象的输入输出划分成一些区间,被测软件对一个特定区间的任何 值都是等价的。形成测试区间的数据不只是函数/过程的参数,也可 以是程序可以访问的全局变量、系统资源等,这些变量或资源可以 是以时间形式存在的数据,或以状态形式存在的输入输出序列 对等区间划分假定位于单个区间的所有值对测试都是对等的,应 为每个区间的一个值设计一个测试用例 举例说明如下 平方根函数要求当输入值为0或大于0时,返回输入数的平方根; 当输入值小于0时,显示错误信息“平方根错误,输入值小于03,并 返回0。 第二章软件测试方法
2.3.2 等价类划分法 第二章 软件测试方法 (3) 对等区间划分 对等区间划分是测试用例设计的非常规形式化的方法。它将被测 对象的输入/输出划分成一些区间,被测软件对一个特定区间的任何 值都是等价的。形成测试区间的数据不只是函数/过程的参数,也可 以是程序可以访问的全局变量、系统资源等,这些变量或资源可以 是以时间形式存在的数据,或以状态形式存在的输入/输出序列。 对等区间划分假定位于单个区间的所有值对测试都是对等的,应 为每个区间的一个值设计一个测试用例。 举例说明如下: 平方根函数要求当输入值为0或大于0时,返回输入数的平方根; 当输入值小于0时,显示错误信息“平方根错误,输入值小于0”,并 返回0
232等价类划分法 考虑平方根函数的测试用例区间,可以划分出两个输入区间和两个输出 区间,如表2-5所示。 表25区间划分 输入区间 输出区间 <0 =0 B Error 通过分析,可以用两个测试用例来测试4个区间 测试用例1:输入4,返回2/区间i和A 测试用例2:输入-4,返回0,输出“平方根错误,输入值小于0° 区间i和B 上例的对等区间划分是非常简单的。当软件变得更加复杂时,对等区间的确定 就越难,区间之间的相互依赖性就越强,使用对等区间划分设计测试用例技术的 难度会增加。 第二章软件测试方法
输入区间 输出区间 ⅰ <0 A >=0 ⅱ >=0 B Error 考虑平方根函数的测试用例区间,可以划分出两个输入区间和两个输出 区间,如表2-5所示。 表2-5 区间划分 通过分析,可以用两个测试用例来测试4个区间: • 测试用例1:输入4,返回2 //区间ⅱ和A • 测试用例2:输入-4,返回0,输出“平方根错误,输入值小于0” //区间ⅰ和B 上例的对等区间划分是非常简单的。当软件变得更加复杂时,对等区间的确定 就越难,区间之间的相互依赖性就越强,使用对等区间划分设计测试用例技术的 难度会增加。 2.3.2 等价类划分法 第二章 软件测试方法
23.3边界值分析法 1.边界值分析法 边界值分析法( Boundary value Analysis,BVA)是一种补充等价 类划分法的测试用例设计技术,它不是选择等价类的任意元素,而 是选择等价类边界的测试用例。在测试过程中,可能会忽略边界值 的条件,而软件设计中大量的错误是发生在输入或输出范围的边界 上,而不是发生在输入输出范围的内部。因此针对各种边界情况设 计测试用例,可以査出更多的错误。 在实际的软件设计过程中,会涉及到大量的边界值条件和过程, 这里有一个简单的VB程序的例子: Dim data(10) as Integer Dim 1 as Integer For i=l to l0 data(i)=1 Next工 第二章软件测试方法
2.3.3 边界值分析法 第二章 软件测试方法 1. 边界值分析法 边界值分析法(Boundary Value Analysis,BVA)是一种补充等价 类划分法的测试用例设计技术,它不是选择等价类的任意元素,而 是选择等价类边界的测试用例。在测试过程中,可能会忽略边界值 的条件,而软件设计中大量的错误是发生在输入或输出范围的边界 上,而不是发生在输入输出范围的内部。因此针对各种边界情况设 计测试用例,可以查出更多的错误。 在实际的软件设计过程中,会涉及到大量的边界值条件和过程, 这里有一个简单的VB程序的例子: Dim data(10) as Integer Dim i as Integer For i=1 to 10 data(i)=1 Next i
23.3边界值分析法 在这个程序中,目标是为了创建一个拥有10个元素的一维数组, 看似合理,但是,在大多数 Basic语言中,当一个数组被定义时,其 第一个元素所对应的数组下标是0而不是1。由此,上述程序运行结 束后,数组中成员的赋值情况如下: data(0)=0,data(1)=1,data(2)=1,…,data(10)=1 这时,如果其他程序员在使用这个数组的时候,可能会造成软件 的缺陷或者错误的产生 使用边界值分析方法设计测试用例,首先应确定边界情况。通常 输入和输出等价类的边界,就是应着重测试的边界情况。应当选取 正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选 取等价类中的典型值或任意值作为测试数据。 第二章软件测试方法
2.3.3 边界值分析法 第二章 软件测试方法 在这个程序中,目标是为了创建一个拥有10个元素的一维数组, 看似合理,但是,在大多数Basic语言中,当一个数组被定义时,其 第一个元素所对应的数组下标是0而不是1。由此,上述程序运行结 束后,数组中成员的赋值情况如下: data(0)=0,data(1)=1,data(2)=1,...,data(10)=1 这时,如果其他程序员在使用这个数组的时候,可能会造成软件 的缺陷或者错误的产生。 使用边界值分析方法设计测试用例,首先应确定边界情况。通常 输入和输出等价类的边界,就是应着重测试的边界情况。应当选取 正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选 取等价类中的典型值或任意值作为测试数据
23.3边界值分析法 在应用边界值分析法设计测试用例时,应遵循以下几条原则: 如果输入条件规定了值的范围,则应该选取刚达到这个范围的边界 值,以及刚刚超过这个范围边界的值作为测试输入数据 ·如果输入条件规定了值的个数,则用最大个数、最小个数、比最小 个数少1、比最大个数多1的数作为测试数据 根据规格说明的每一个输出条件,分别使用以上两个原则。 ·如果程序的规格说明给出的输入域或者输出域是有序集合(如有序 表、顺序文件等),则应选取集合的第一个元素和最后一个元素作为 测试用例。 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结 构的边界值作为测试用例。 ·分析规格说明,找出其他可能的边界条件。 第二章软件测试方法
2.3.3 边界值分析法 第二章 软件测试方法 在应用边界值分析法设计测试用例时,应遵循以下几条原则: • 如果输入条件规定了值的范围,则应该选取刚达到这个范围的边界 值,以及刚刚超过这个范围边界的值作为测试输入数据。 • 如果输入条件规定了值的个数,则用最大个数、最小个数、比最小 个数少1、比最大个数多1的数作为测试数据。 • 根据规格说明的每一个输出条件,分别使用以上两个原则。 • 如果程序的规格说明给出的输入域或者输出域是有序集合(如有序 表、顺序文件等),则应选取集合的第一个元素和最后一个元素作为 测试用例。 • 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结 构的边界值作为测试用例。 • 分析规格说明,找出其他可能的边界条件