51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3762|回复: 13
打印 上一主题 下一主题

[讨论] 我对等价类定义的一点疑惑

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-1-8 09:58:42 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
何为等价类?"某个输入域的集合,在这个集合中每个输入条件都是等效的,如果其中一个的输入不能导致问题发生,那么集合中其它输入条件进行测试也不可能发现错误。""等价类是指某个输入的域子集.在这个集合(等价类)中每个输入数据对于发现程序中的错误都是等效的""将程序可能的输入数据分成若干个子集,从每个子集选取一个代表性的数据作为测试用例,等价类是某个输入域的子集,在该子集中每个输入数据的作用是等效的。"

      上一段是先贤们给几种定义,然也?非也?若果真如此,测试同一等价类内的几个边界值岂非毫无意义?因为他们是等效的,一个就够了啊!边界值(上点.离点,内点)是容易出错的地方,是测试中必须涉及到的,两个上点和内点在同一个等价类里,但是绝对无法保证它们一个不出问题,别的就都不出问题!

  举个例子,输入3-8的整数,划分的有效等价类只有一个(3-8的整数),而实际测试中在这个有效等价类中绝不能取一个就把别的都代表了,你至少要取三个数,两个上点(3和8)一个内点(4,5,6,7任意一个都行).

      综上所述,绝不能从等价类中选一个就把其它数据都等效了.边界值和等价类一定要紧密结合.虽然以前设计用例也是本能的把它们结合在一起了,但是今天突然发现等价类竟是如此的定义,真的容易让人误解啊!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

14#
发表于 2007-8-7 10:22:53 | 只看该作者
新手路过
学习了
感谢斑竹的发言
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2007-8-7 10:07:46 | 只看该作者
这点我也有过怀疑,后来觉得两者不应该分离的很清楚,两者相辅相成的,对于测试用例的覆盖情况起到很好的保证作用!
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2007-1-9 11:54:22 | 只看该作者
原帖由 toneyzhang 于 2007-1-9 11:52 发表
等价类只是一个基础概念,如何更好的应用就要看具体的情况了,用不着死扣字眼的

俺可不是死扣字眼,只是抱着测试者养成的怀疑态度而已.
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-1-9 11:52:49 | 只看该作者
等价类只是一个基础概念,如何更好的应用就要看具体的情况了,用不着死扣字眼的
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2007-1-9 11:42:57 | 只看该作者
楼上分析的不错,当等价类用来服务于设计测试用例的时候就不要考虑它等效的定义了,而把它当做测试的一个点,而边界值是绝对不能舍弃的.两者相辅相成吧.
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-1-9 09:01:05 | 只看该作者
sdlkfj2 sdlkfj5 sdlkfj6 计算机软件测试哪本书定义没错,你设计用例时会用到很多测试方法,关键是你写用例的如何去覆盖用例,楼住提到的等价类定义并没写错,
如果你要同测试用例设计联系在一起,拿这个定义来说他错,好像并不合适!毕竟二者还是不同。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-1-8 20:10:33 | 只看该作者
定义上面没问题啊
是你自己非要把边界值相关的定义强加到等价类上。

边界值的定义应该来说是更严格,更狭隘一些。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-1-8 15:37:23 | 只看该作者
原帖由 wwwux 于 2007-1-8 10:27 发表



耳目一新!~请问这是依据什么化出来的? 居然把边界值和内点化成不同的等价类!
我只涉及有效等价类,无效的暂不考虑.

我不是说这种方法不对,我是说等价类定义的本身有问题.




二楼说的是不是划分等价类的3个要点,而不是划分的3个等价类?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-1-8 10:39:51 | 只看该作者
挺好
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-1-8 10:33:59 | 只看该作者
我的疑惑只是等价类的定义
楼上的兄弟把问题深化到等价类划分方法了~

我所知道的划分等价类从没有把边界值和内点算两个等价类的

        1在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
        2在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类。
        3在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。
        4在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
        5在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。

[ 本帖最后由 wwwux 于 2007-1-8 10:35 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-1-8 10:31:27 | 只看该作者
怎么划分等价类,看你自己从哪方面考虑。
呵呵~~~
一样的东西可能不同人分出来就不一样,只要别遗漏就OK了
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-1-8 10:27:57 | 只看该作者
原帖由 ecust 于 2007-1-8 10:22 发表


划分的等价类起码有三个:  ...



耳目一新!~请问这是依据什么化出来的? 居然把边界值和内点化成不同的等价类!
我只涉及有效等价类,无效的暂不考虑.

我不是说这种方法不对,我是说等价类定义的本身有问题.

[ 本帖最后由 wwwux 于 2007-1-8 10:32 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2007-1-8 10:22:19 | 只看该作者
原帖由 wwwux 于 2007-1-8 09:58 发表
举个例子,输入3-8的整数,划分的有效等价类只有一个(3-8的整数),而实际测试中在这个有效等价类中绝不能取一个就把别的都代表了,你至少要取三个数,两个上点(3和8)一个内点(4,5,6,7任意一个都行).


划分的等价类起码有三个: 第一,边界值(3和8),第二,内点(4,5,6,7任意一个都行),第三,异常值(3到8以外的值)
划分等价类只是种方法,并不是说, 一个等价类划出来你只要拿其中一个值去测试就可以了。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-10 18:48 , Processed in 0.087682 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表