黑盒测试用例设计

黑盒测试用例设计(功能测试/数据驱动测试)


边界值分析法

1.首先确定边界情况

2.选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据 (利用输入变量的最小值(min)、略大于最小值(min+)、输入值域内的任意值(nom)、略小于最大值(max-)和最大值(max)来设计测试用例)

 黑盒测试用例设计_第1张图片

有两个输入变量x1(a≤x1≤b)和x2(c≤x2≤d)的程序F的边界值分析测试用例如下:

 

X1

X2

nom

min

nom

min+

nom

max-

nom

max

min

nom

min+

nom

max-

nom

max

nom

nom

nom


选择测试用例的原则n个变量的函数,需要4n+1个测试用例 ):

(1)输入条件规定了值的范围

取刚达到(或刚超过)这个范围的边界值作为测试输入数据

(2)输入条件规定了值的个数

用最大个数、最小个数和比最大个数多1个、比最小个数少1个的数作为测试数据

(3)输入域或输出域是有序集合(如有序表、顺序文件等)

应选取集合中的第一个和 最后一个元素作为测试用例

(4)如果程序中使用了一个内部数据结构

应当选择这个内部数据结构的边界上的值作为测试用例

(5) 分析程序规格说明,找出其它可能的边界条件

 

边界值分析法测试用例实例:

1.三角形边界值测试用例(1≤ a,b,c ≤100)黑盒测试用例设计_第2张图片

2.nextdate边界值测试用例(1≤ month ≤12, 1≤ day ≤31,1912≤ year ≤2050)

 黑盒测试用例设计_第3张图片


 健壮性测试(比边界值增加了两个用例 max+min-): n个变量的函数,采用健壮性测试需要6n+1个测试用例

 黑盒测试用例设计_第4张图片

等价类划分法

1.概念:把不能穷举的测试过程进行合理的分类,使得等价类中各种输入对于发现程序的错误是等效的,以保证设计的测试用例的完整性和代表性 。

2.等价类对于测试的两个意义与原则:

完备性——整个输入域提供一种形式的完备性

无冗余性——若互不相交则可保证一种形式的无冗余性


3.划分等价类可分为两种情况:

(1)有效等价类:有意义的、合理的输入数据所组成的集合。

(2)无效等价类:无意义的、不合理的输入数据所构成的集合。

 

4.等价类的划分

(1)按照区间划分

在输入条件规定了取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类。

(2)按照数值划分   

在规定了一组输入数据(假设包括 n个  输入值),并且程序要对每一个输入值分别进行处理的情况下,可确定 n 个有效等价类(每个值确定一个有效等价类)和一个无效等价类(所有不允许的输入值的集合)。

(3)按照数值集合划分

 在输入条件规定了输入值的集合或规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类(该集合有效值之外)。

(4)按照限制条件或规则划分   

在规定了输入数据必须遵守的规则或限制条件的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。

(5)细分等价类  

在确知已划分的等价类中各元素在程序中的处理方式不同的情况下,则应再将该等价类进一步划分为更小的等价类,并建立等价类表。


等价类测试用例类型

1.是否对无效数据进行测试

- 一般等价类测试用例——不考虑无效数据值

- 健壮等价类测试用例——主要的出发点是考虑了无效等价类

2.是否基于单缺陷理论

- 弱等价类测试:基于单缺陷理论,测试用例只需要覆盖每个变量的所有等价类即可(串接)

- 强等价类测试:基于多缺陷理论,测试用例需要覆盖每个变量的所有等价类的笛卡尔积

 黑盒测试用例设计_第5张图片黑盒测试用例设计_第6张图片


你可能感兴趣的:(软件测试)