等价类划分法
何为等价类,某个输入域的集合,在这个集合中每个输入条件都是等效的,如果其中一个的输入不能导致问题发生,那么集合中其它输入条件进行测试也不可能发现错误。等价类分为有效等价类和无效等价类,有效等价类就是由那些对程序的规格说明有意义的、合理的输入数据所构成的集合;无效等价类就是那些对程序的规格说明不合理的或无意义的输入数据所构成的集合。
划分等价类的方法:下面给出六条确定等价类的原则。
1、在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
2、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。
3、在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。
4、在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
5、在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
6、在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
根据等价类划分原则,将等价类填如下表。
根据等价类表,然后从划分出的等价类中按以下三个原则设计测试用例:
1、为每一个等价类规定一个唯一的编号。
2、设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。
3、设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。
举例:
拿PowerPoint的打印功能界面做例子,用等价类方法,划分等价类。
等价类划分法
下面给出6条确定等价类的原则:1、在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
2、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,则可以确立一个有效等价类和一个无效等价类。
3、在输入条件是一个布尔量的情况下,可以确立一个有效等价类和一个无效等价类。
4、在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可以确立n个有效等价类和一个无效等价类。
5、在规定了输入数据必须遵守的规则的情况下,可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
6、在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
在确立了等价类后,可建立等价类表,列出所有划分出的等价类。然后从划分出的等价类中按以下的3个原则设计测试用例:
为每一个等价类规定一个唯一的编号
设计一个新的测试用例,使其尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。
设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。
范例:程序规定;输入三个整数作为三边的边长构成三角形。当此三角形为一般三角形、等腰三角形、等边三角形时,分别作计算。用等价类划分方法为该程序进行测试用例设计。
解:设a、b、c代表三角形的三条边。
1)分析题目中给出的和隐含的对输入条件的要求:
a) 整数
b) 3个数
c) 非零数
d) 正数
e) 两边之和大于第三边
f) 等腰
g) 等边
2)列出等价类表并编号
3)列出覆盖上述等价类的测试用例 ding 学习 强帖,顶sdlkfj1 学习啊,努力学啊 dddddddddddddddddddddddddddd 楼主怎么没有把无效等价类设计进去呢? 楼主的1-7,11写的测试数据不对呀 。 11:是构成等边三角形 即a=b=c,那么测试数据不应该是 4,4,5 应该是4,4,4请检查 编号14 ,c 为非整数 。这个测试数据也不对 ,不应该是 3 ,4.5 ,5。应该是 3,4,5.5请楼主检查确认 楼主写的不错,谢谢, 说明一下,小贝给楼主提出的问题是正确的,我上面的回答是说楼主这个贴子发的比较好,引起的歧义深表歉意! :victory: 好贴 顶一下 概念好说 ,事难办 :Q 学习,相当的不错的东西,不过,这些规则看起来比较容易,但是真正在划分的时候就不知所措啦!
按钮的选中与不选中
按钮的选中与不选中可以用等价类来划分不,有效和无效分别是什么呢?急
高手指点下, 正在学习中 xiexie!:) 时间长了,有点忘了,温习一下
页:
[1]
2