请教测试数据的等价性,具体问题
曾经看过一篇关于测试用例数据等价性,现在实在是找不到那篇文章了,大概的意思就是找到一群等价数据(x1,x2,x3……),当f(x1)=true时,其它值都满足。我当时就不太明白。如今我碰到了一个这样的问题,在测试某流程的时候,从一个状态向下一状态有A/B/C/D四种选项选择,可以同时选多种选项ABCD
0000
0001
0010
0011
………… (0代表不选,1代表选)
如此可算的有16种情况,我是不是16种情况都要逐一测试吗?
还是可以找到一些等价数据?:o
[ Last edited by michelle_happy on 2004-7-19 at 09:11 ] 问题没描述清楚:上一状态转向下一状态,那么下一状态应该是确定的一种状态,怎么会可以有多个状态并存? 是不是就4种情况?其他都是重复的?
1.A 0B 0C 0D 0
2.A 0B 0C 0D 1
3.A 0B 0C 1D 0
4.A 0B 0C 1D 1
也想知道正确答案 谢谢
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 Originally posted by michelle_happy at 2004-7-16 17:08:
A,B,C,D均可取0,1
都可选吗? 那A下面四个0是什么意思啊 不是说A只有0状态?
没搞懂题目的意思:s
to ting_yt2
要横着看,不要竖着看啦 因为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 ]
汗-_-!
还不敢只做2个用例 用两个用例测肯定会有漏测, 这个测权限的时候估计都会碰到,我是用交叉的方法的如果说是更多,在选择全1或全0后,可以奇数取1,偶数取1,前一半取1,后一半取1
例如
0 0 0 0
1 1 1 1
0 1 0 1
1 0 1 0 等价类有个划分的标准。 例如以四个输入整体输入有效性来看,那么就只有两个等价类;如果以各个输入分别有效和无效来看,那等价类就多了。
要看测试的程度决定等价类划分到什么层次。 正交表分析法可能比较适合你这种情况,可以在效率和覆盖率上达到一个比较好的均衡,具体的内容参见版上的文章吧。
不过我自己也没用过,呵呵。 等于是你有四个因子(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 编辑 ] 复杂啊
页:
[1]