51Testing软件测试论坛

标题: 等价类划分法 [打印本页]

作者: arlenexhl    时间: 2007-8-6 14:02
标题: 等价类划分法
何为等价类,某个输入域的集合,在这个集合中每个输入条件都是等效的,如果其中一个的输入不能导致问题发生,那么集合中其它输入条件进行测试也不可能发现错误。
等价类分为有效等价类和无效等价类,有效等价类就是由那些对程序的规格说明有意义的、合理的输入数据所构成的集合;无效等价类就是那些对程序的规格说明不合理的或无意义的输入数据所构成的集合。
划分等价类的方法:下面给出六条确定等价类的原则。

  1、在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
  2、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。
  3、在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。
  4、在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
  5、在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
  6、在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。

  根据等价类划分原则,将等价类填如下表。
        
  根据等价类表,然后从划分出的等价类中按以下三个原则设计测试用例:
  1、为每一个等价类规定一个唯一的编号。
  2、设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。
  3、设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。

  举例:
  拿PowerPoint的打印功能界面做例子,用等价类方法,划分等价类。
作者: arlenexhl    时间: 2007-8-6 14:06
标题: 等价类划分法
下面给出6条确定等价类的原则:
1、在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
2、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,则可以确立一个有效等价类和一个无效等价类。
3、在输入条件是一个布尔量的情况下,可以确立一个有效等价类和一个无效等价类。
4、在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可以确立n个有效等价类和一个无效等价类。
5、在规定了输入数据必须遵守的规则的情况下,可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
6、在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。

在确立了等价类后,可建立等价类表,列出所有划分出的等价类。然后从划分出的等价类中按以下的3个原则设计测试用例:

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

范例:程序规定;输入三个整数作为三边的边长构成三角形。当此三角形为一般三角形、等腰三角形、等边三角形时,分别作计算。用等价类划分方法为该程序进行测试用例设计。
解:设a、b、c代表三角形的三条边。
1)分析题目中给出的和隐含的对输入条件的要求:
a) 整数
b) 3个数
c) 非零数
d) 正数
e) 两边之和大于第三边
f) 等腰
g) 等边

2)列出等价类表并编号



3)列出覆盖上述等价类的测试用例
作者: zxyu1982    时间: 2007-8-12 00:33
ding
作者: zhouyani    时间: 2007-9-24 15:20
学习
作者: zhouzxcv    时间: 2007-9-24 22:49
强帖,顶sdlkfj1
作者: cher_chiang    时间: 2008-1-3 16:26
学习啊,努力学啊
作者: 20082006    时间: 2008-11-20 00:21
dddddddddddddddddddddddddddd
作者: liuxn_sz    时间: 2009-5-5 07:17
楼主怎么没有把无效等价类设计进去呢?
作者: 小贝流浪记    时间: 2009-5-6 11:56
楼主的1-7,11  写的测试数据不对呀 。 11:是构成等边三角形 即a=b=c,那么测试数据不应该是 4,4,5   应该是4,4,4  请检查
作者: 小贝流浪记    时间: 2009-5-6 12:06
编号14    ,c 为非整数 。这个测试数据也不对 ,不应该是 3 ,4.5 ,5  。应该是 3,4,5.5  请楼主检查确认
作者: chenmonanhai    时间: 2009-5-6 14:40
楼主写的不错,谢谢,
作者: chenmonanhai    时间: 2009-5-6 17:23
说明一下,小贝给楼主提出的问题是正确的,我上面的回答是说楼主这个贴子发的比较好,引起的歧义深表歉意!
作者: brightmost1    时间: 2009-9-5 00:11
好贴 顶一下
作者: solid_colored    时间: 2009-9-7 21:49
概念好说 ,事难办   
作者: gjoxcd    时间: 2009-10-12 10:18
学习,相当的不错的东西,不过,这些规则看起来比较容易,但是真正在划分的时候就不知所措啦!
作者: dengjie    时间: 2009-10-20 16:01
标题: 按钮的选中与不选中
按钮的选中与不选中可以用等价类来划分不,有效和无效分别是什么呢?
作者: dengjie    时间: 2009-10-20 16:01
标题:
高手指点下,
作者: 小不点蜗牛    时间: 2009-12-25 22:00
正在学习中
作者: cw880223    时间: 2010-1-5 14:00
xiexie!
作者: bsp1980    时间: 2010-2-2 14:11
时间长了,有点忘了,温习一下
作者: kiss351523    时间: 2010-3-9 14:54
好学生是学出来的,好贴是顶出来的
作者: maryfl    时间: 2010-3-10 21:43
标题: 牛 虎

作者: zhushao123    时间: 2010-3-22 13:25
顶 学习了
作者: 笨0笨    时间: 2010-4-15 09:33

作者: 笨0笨    时间: 2010-4-15 09:34
标题: 谢谢

作者: 晓菜瓜    时间: 2010-12-20 14:58
谢谢分享,文字美看懂,例子似乎看懂了,再看一遍
作者: mier103    时间: 2010-12-23 17:33
顶 学习了
作者: xiaonianhhn    时间: 2011-6-22 11:02
呵呵,感觉那规则整理的很好,学习了
作者: 秋爽    时间: 2012-3-14 11:17

作者: 秋爽    时间: 2012-3-14 11:18
Thank you
作者: zhangmmhh    时间: 2013-11-7 11:00
还不错,可以借鉴一下
作者: xirali39    时间: 2013-11-12 13:48
做的很好啊  顶
作者: 为代码而生    时间: 2013-11-13 10:44
准备下午的时间去学习下。每天进步一点点
作者: jia_1509    时间: 2013-11-23 18:20
支持一下
作者: Zgi46Z    时间: 2013-11-26 09:23
这个方面的话题的 都讨论一下
作者: 18566108250    时间: 2014-5-16 20:19
定 正在学习




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2