msnshow 发表于 2011-11-12 23:22:32

等价类划分

等价类划分

  等价类划分是一种典型的黑盒测试方法,用这一方法设计测试用例可以不用考虑程序的内部结构,只以对程序的要求和说明,即需求规格说明书为依据,仔细分析和推敲说明书的各项需求,特别是功能需求,把说明中对输入的要求和输出的要求区别开来并加以分解。

  由于穷举测试的数量太大,以致于无法实际完成,促使我们在大量的可能数据中选取其中的一部分作为测试用例。例如,在不了解等价分配技术的前提下,测试了1+1、1+2、1+3和1+4之后,还有必要测试1+5和1+6吗?能否放心地认为它们正确吗?那么1+999…(可以输入的最大数值)呢?这个测试用例是否与其他用例不同?是否属于另外一种类别?另外一个等价区间?这是软件测试员必须考虑到的问题。

  等价类别或者等价区间是指测试相同目标或者暴露相同软件缺陷的一组测试案例。
1+999…和1+13有什么区别呢?至于1+13,就像一个普通的加法,与1+5或者1+392没有什么两样,而1+999…则属于邻界的极端情况。假如输入最大允许数值,然后加1,就会出现问题--也许就是软件的缺陷。这个极端案例属于一个单独的区间,与常规数字的普通区间不同。

  等价类划分的办法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能出现同样的错误。使用这一方法设计测试用例,首先必须在分析需求规格说明的基础上划分等价类,列出等价类表。

  在考虑等价类划分时,先从程序的功能说明中找出每个输入条件,然后为每个输入条件划分两个或更多个等价类。等价类可分两种情况:有效等价类和无效等价类。有效等价类是指对程序的规格说明是有意义的、合理的输人数据所构成的集合;无效等价类是指对程序的规格说明是不合理的或无意义的输人数据所构成的集合。

lym314159262 发表于 2011-11-13 11:18:44

等价类划分基本上都伴随着边界值,继而正交

愚人 发表于 2011-11-13 17:15:15

等价类划分基本上都伴随着边界值,继而正交
lym314159262 发表于 2011-11-13 11:18 http://bbs.51testing.com/images/common/back.gif


    是呀,这几个分不开

davy_chen 发表于 2011-11-14 09:12:39

等价类划分基本上都伴随着边界值,继而正交
lym314159262 发表于 2011-11-13 11:18 http://bbs.51testing.com/images/common/back.gif


这种理解不纯粹,极致的理解下,这些都是各不相同,虽然有关,但却可以分开。

zhifei.xie 发表于 2011-11-14 14:40:18

都在这里当”狗屁专家“!乱七八糟!

零测试 发表于 2011-11-15 08:46:35

顶楼主!知道帮助新人!

月上百合 发表于 2011-11-15 11:09:42

有等价划分的地方就有边界值
页: [1]
查看完整版本: 等价类划分