51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

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

[讨论] 请教测试数据的等价性,具体问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-7-16 14:49:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
曾经看过一篇关于测试用例数据等价性,现在实在是找不到那篇文章了,大概的意思就是找到一群等价数据(x1,x2,x3……),当f(x1)=true时,其它值都满足。我当时就不太明白。如今我碰到了一个这样的问题,在测试某流程的时候,从一个状态向下一状态有A/B/C/D四种选项选择,可以同时选多种选项
A  B  C  D
0  0  0  0
0  0  0  1
0  0  1  0
0  0  1  1
…………                   (0代表不选,1代表选)
如此可算的有16种情况,我是不是16种情况都要逐一测试吗?
还是可以找到一些等价数据?

[ Last edited by michelle_happy on 2004-7-19 at 09:11 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2004-7-16 16:30:32 | 只看该作者
问题没描述清楚:上一状态转向下一状态,那么下一状态应该是确定的一种状态,怎么会可以有多个状态并存?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2004-7-16 16:33:22 | 只看该作者
是不是就4种情况?其他都是重复的?
1.A 0  B 0  C 0  D 0
2.A 0  B 0  C 0  D 1
3.A 0  B 0  C 1  D 0
4.A 0  B 0  C 1  D 1

也想知道正确答案 谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2004-7-16 17:08:04 | 只看该作者

to 天网

描述有问题,A,B,C,D算是选项吧,可多选的
A0 B0 C0 D1,A0 B1 C0 D1等是一个状态,等待ing:d

to ting_yt2:不是只有4种,举例,还可以是 A1 B0 C0 D0,A1 B0 C0 D1等等,
A,B,C,D均可取0,1
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2004-7-16 17:16:02 | 只看该作者
Originally posted by michelle_happy at 2004-7-16 17:08:
A,B,C,D均可取0,1


都可选吗? 那A下面四个0是什么意思啊 不是说A只有0状态?
没搞懂题目的意思:s
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2004-7-16 17:31:09 | 只看该作者

to ting_yt2

要横着看,不要竖着看啦
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2004-7-16 17:44:32 | 只看该作者
因为A、B、C、D每个只有0、1两种选择,并且两种选择都是合法的,所以这里只有有效等价类,没有无效等价类。

  但由于取0和取1,系统会进行不同的处理,因此这里有效等价类又可以细分,分为0和1。

  穷举测试是不可能的,等价类划分的目的就是减少测试用例数,提高测试效率。

  针对有效等价类设计用例的时候,“要争取一个用例尽可能多的覆盖尚未覆盖的有效等价类”,根据这一原则,这里设计两个用例就可以了,如A0 B0 C0 D0 和A1 B1 C1 D1,这两个用例就覆盖了所有有效等价类。从测试效率角度考虑,这样最好。

  但等价类毕竟是以牺牲测试效果为代价的,因为这种方法有漏测的风险。这就要根据你的被测对象的实际情况来对测试效率和测试效果进行平衡了。例如这里也可以补充几个其他组合的情况,最极端的情况,就是16种组合全测试了。

[ Last edited by 天网 on 2004-7-16 at 17:46 ]
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2004-7-19 17:11:34 | 只看该作者

汗-_-!

还不敢只做2个用例
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2006-7-21 16:14:22 | 只看该作者
用两个用例测肯定会有漏测,
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2006-7-25 12:56:36 | 只看该作者
这个测权限的时候估计都会碰到,我是用交叉的方法的
如果说是更多,在选择全1或全0后,可以奇数取1,偶数取1,前一半取1,后一半取1
例如
0 0 0 0
1 1 1 1
0 1 0 1
1 0 1 0
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2006-7-27 13:04:30 | 只看该作者
等价类有个划分的标准。 例如以四个输入整体输入有效性来看,那么就只有两个等价类;如果以各个输入分别有效和无效来看,那等价类就多了。
要看测试的程度决定等价类划分到什么层次。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2006-7-27 21:29:10 | 只看该作者
正交表分析法可能比较适合你这种情况,可以在效率和覆盖率上达到一个比较好的均衡,具体的内容参见版上的文章吧。
不过我自己也没用过,呵呵。
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2006-8-16 14:45:50 | 只看该作者
等于是你有四个因子(A,B,C,D),每个因子为两个状态(0,1),那么用正交表来做是最好的,能用最少的测试用例覆盖最多的测试范围,四因子二状态的正交表如下
A        B        C        D
0        0        0        0
1        0        1        0
0        1        1        0
1        1        0        0
0        0        0        1
1        0        1        1
0        1        1        1
1        1        0        1
也就是只要测试这8个用例就基本可以覆盖需要测试的范围了

[ 本帖最后由 firstxman 于 2006-8-16 14:47 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2006-9-3 14:26:31 | 只看该作者
复杂啊
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-5-5 03:00 , Processed in 0.073876 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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