51Testing软件测试论坛
标题:
菜鸟提问关于等价类方法
[打印本页]
作者:
heyifan7
时间:
2006-8-31 21:42
标题:
菜鸟提问关于等价类方法
这个方法是不是在编写测试用例时都会用到啊 最为普遍的一个方法吧
比如我现在要点击某个用户来弹出这个用户的相关资料
系统中有若干个用户我选择其中一个用户点击他 这个过程算是应用到等价类方法了吧.
[
本帖最后由 heyifan7 于 2006-8-31 22:41 编辑
]
作者:
hayerk
时间:
2006-8-31 23:09
等价类是将软件输入划分成若干个类,类与类之间软件的处理不同,而软件对类内部各输入的处理是一样的。
因此在你的例子里,若干个用户要按照某种特点划分才算等价类方法
作者:
yangkinki
时间:
2006-9-1 12:18
等价类划分:
是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.
1) 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.
有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能.
无效等价类:与有效等价类的定义恰巧相反.
设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性.
2)划分等价类的方法:下面给出六条确定等价类的原则.
①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类.
②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类.
③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类.
④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类.
⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则).
⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类.
3)设计测试用例:在确立了等价类后,可建立等价类表,列出所有划分出的等价类:
输入条件 有效等价类 无效等价类
... ... ...
... ... ...
然后从划分出的等价类中按以下三个原则设计测试用例:
①为每一个等价类规定一个唯一的编号.
②设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步.直到所有的有效等价类都被覆盖为止.
③设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步.直到所有的无效等价类都被覆盖为止.
作者:
heyifan7
时间:
2006-9-1 16:59
谢谢版主和二楼的朋友
我现在还有个问题还是如下这个例子:
在点击这个用户之前已经按要求做个一次查询操作,出现了若干个用户后的情况下
我现在要点击其中一个用户来弹出这个用户的相关资料 的这个功能
在这个过程中是等价类吗 还是功能图法阿 我有点搞不清楚.
我现在不清楚的就是 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的 我点击其中的一个用户是不是就是对这些所有的用户做了一次划分呢?对于其他用户是等效的.
我这种情况也不是划分等价类原则里面所出现的情况
作者:
walker_lai
时间:
2006-9-4 20:06
按要求?
是已经有了条件的查询了吗?
如果是的话可以认为是一个等价类!
作者:
heyifan7
时间:
2006-9-4 21:07
谢谢五楼朋友
作者:
smln
时间:
2007-8-7 10:14
呵呵,好象楼主没有说清楚,5楼的朋友分析的有道理,如果是基于查询条件来的结果,点其一为等价类,但是如果是其他的用户情况,而该用户具有不同的属性,则不能称之为等价类!需要按要求分类.
作者:
lijiang-ljlj
时间:
2007-8-8 10:03
标题:
回复 #2 hayerk 的帖子
3.9 等价类划分
3.9.1 等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。
3.9.2 等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。
3.9.3 使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。
3.9.3.1 等价类的划分有两种不同的情况:
(1)有效等价类:是指对程序的规格说明来说,是合理的、有意义的输入数据构成的集合。
(2)无效等价类:是指对于程序的规格说明来说,是不合理的、无意义的输入数据构成的集合。
在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。
3.9.3.2 划分等价类的原则:
(1)如果输入的条件规定了取值范围、值的个数,则可以确立一个有效等价类和两个无效等价类。
(2)如果输入条件规定了输入值的集合,或者是规定了“必须如何”的条件,这时可确立一个有效等价类和一个无效等价类。
(3) 如果输入条件是一个布尔变量,则可以确定一个有效等价类和一个无效等价类。
(4) 如果规定了输入数据的一组值,而且程序要对每个输入值分别进行处理。这时可以为每一个输入值确立一个有效等价类,此外针对这组值确立一个无效等价类,它是所有不允许的输入值的集合。
(5)如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)和
若干个无效等价类(从不同角度违反规则)。
3.9.3.3 确立测试用例
(1)在确立了等价类之后,建立等价类表,列出所有划分出的等价类。
(2)再从划分出的等价类中按以下原则选择测试用例:
①为每一个等价类规定一个唯一的编号。
②设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一
步,直到所有的有效等价类都被覆盖为止。
③设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,
直到所用的无效等价类都被覆盖为止。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2