等价类划分法实例

来源:互联网 发布:深圳中医诊所知乎 编辑:程序博客网 时间:2024/05/16 16:04

基本概念:

等价类:对应用程序的规格(接口)的输入数据构成的集合

有效等价类:对应用程序的规格说明来说是合理的有意义的输入数据;

无效等价类:

 

 

六条确定等价类的原则

1、在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类(在范围之内的等价类)和两个无效等价类(有效范围的两侧)

2、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,则可以确立一个有效等价类和一个无效等价类。 (集合中的有效等价类和集合外的无效等价类)

3、在输入条件是一个布尔量的情况下,可以确立一个有效等价类和一个无效等价类。

4、在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可以确立n个有效等价类和一个无效等价类(除了规定的这组值)。

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

6、在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类(考虑一下if嵌套)

 

 

等价类划分法确定测试用例的步骤:

1、按照上面的原则确立等价类;

2、建立等价类表,列出所有划分出的等价类;

3、从划分出的等价类中按以下的3个原则设计测试用例;

       为每一个等价类规定一个唯一的编号;

设计一个新的测试用例,使其尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。

设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。

 

实例:

程序规定;输入三个整数作为三边的边长构成三角形。当此三角形为一般三角形、等腰三角形、等边三角形时,分别作计算。用等价类划分方法为该程序进行测试用例设计。

步骤1:确定等价类

       根据给出的程序输入的规定,可以划分如下等价类:

a.      输入值的集合:整数

b.      输入值的个数:3

c.       要构成三角形,默认的输入值的范围:正数

d.      构成三角形的要素,输入值必须遵守下面的规则:两边之和大于第三边;

e.      一般三角形等价类

f.        等腰三角形

g.      等边三角形

步骤2:建立等价类表,给每个等价类编号

       abc为三角形的三边

      

输入条件

 

有效等价类

编号

无效等价类

编号

三个整数

整数

1

一边为非整数

a非整数

11

b非整数

12

c非整数

13

两边为非整数

ab非整

14

ac非整

15

bc非整

16

三边非整

abc非整

3个数

2

给出一个边

只有a

 

只有b

 

只有c

 

给出两个边

只有ab

 

只有ac

 

只有bc

 

给超过3个边

 

正数

3

一边<=0

a<=0

 

b<=0

 

c<=0

 

两边<=0

a|b<=0

 

a|c<=0

 

b|c<=0

 

三边都<=0

a|b|c<0

 

一般三角形

a+b>c

4

a+b<c

 

a+b=c

 

a+c>b

5

a+c<b

 

a+c=b

 

b+c>a

6

b+c<a

 

b+c=a

 

等腰三角形

a=b(一般三角形)

7

 

 

 

a=c(一般三角形)

8

 

 

 

b=c(一般三角形)

9

 

 

 

等边三角形

a=b=c

10

 

 

 

 

 

 

 

 

 

步骤3:根据你设计的等价类设计测试用例

 

 

原创粉丝点击