哪位好心人帮我看看这个怎么写用例啊~
郁闷啊,看理论知识的时候觉得懂了,结果自己写的时候好迷茫啊。。。先说下问题:
输入数据组:A,包括A1~A6共六个数据,可输入值都为0,1,2
输入数据组:B,包括B1~B6共六个数据,可输入值都为0,1,2
数据组A可输入值 数据组B可输入值
A1 0,1,2 B1 0,1,2
A2 0,1,2 B2 0,1,2
A3 0,1,2 B3 0,1,2
A4 0,1,2 B4 0,1,2
A5 0,1,2 B5 0,1,2
A60,1,2 B6 0,1,2
数据需要满足如下条件:
0<A1+A2+A3+A4+A5+A6<7
0<B1+B2+B3+B4+B5+B6<7
同时:输入值为0时对结果没有影响,比如A1~A6为012011或者为102101效果是一样的(把0忽略掉),数据组B也是如此。
同时数据组A和数据组B的位置对结果也是没有影响的,比如A1~A6B1~B6为【112010 011100】与【011100 112010】预期结果是一样一样的。
然后数据组A与数据组B结合生成一个输出数据。
我现在就是不知道怎么设计用例才算是充分了,如果列举的话情况有N多种,貌似不太可行,但是又不知道怎么取舍。
不知道有没有说清楚,哪位高人指点下啊~ 本帖最后由 Jackc 于 2010-9-28 13:27 编辑
1.A,B两种状态(0状态建议采取随机抽取的方式测试),A、B一共12个因子,所以可以选择正交表L16(215):
123456789101112131415
111111111111111
111111122222222
111222211112222
111222222221111
122112211221122
122112222112211
122221111222211
122221122111122
212121212121212
212121221212121
212212112122121
212212121211212
221122112211221
221122121122112
221211212212112
221211221121221
2.删除掉其中13~15列,就可以得到L16(212),按每行设计一个用例即可。
123456789101112
111111111111
111111122222
111222211112
111222222221
122112211221
122112222112
122221111222
122221122111
212121212121
212121221212
212212112122
212212121211
221122112211
221122121122
221211212212
221211221121
终于有人回复了,热泪盈眶~
谢谢斑竹Jackc~
我先研究研究。。。 有个疑问,因为数据有如下要求:
0<A1+A2+A3+A4+A5+A6<7
0<B1+B2+B3+B4+B5+B6<7
正交表中设计的数据不满足这个条件,程序是直接报不支持这种组合,那要怎么办捏。。。。。。
是不是应该把0也考虑进去啊? 看着头有点晕……jackc分析的不错啊,膜拜…… 本帖最后由 Jackc 于 2010-9-30 13:01 编辑
0<A1+A2+A3+A4+A5+A6<7
不好意思,这个条件我开始以为是无效条件……,所以我将A和B直接处理成为2进制数字了……
不过没关系,L16(215)并不适合你的条件。所以我们换一个表L27(313):
RunA1A2A3A4A5A6B1B2B3B4B5B6XX
100 0 0 0 0 0 0 0 0 0 0 0
200 0 0 1 1 1 1 1 1 1 1 1
3 0 0 0 0 2 2 2 2 2 2 2 2 2
40 111000 1 1 1 2 2 2
50 1 1 1 1 1 1 2 2 2 0 0 0
60 1 1 1 2 2 2 0 0 0 1 1 1
70 2 2 2 0 0 0 2 2 2 1 1 1
80 2 2 2 1 1 1 0 0 0 2 2 2
90 2 2 2 2 2 2 1 1 1 00 0
101 0 1 2 0 1 2 0 1 2 0 1 2
111 0 1 2 1 2 0 1 2 0 1 2 0
121 0 1 2 2 0 1 2 0 1 2 0 1
131 1 2 0 0 1 2 1 2 0 2 0 1
141 1 2 0 1 2 0 2 0 1 0 1 2
151 1 2 0 2 0 1 0 1 2 1 2 0
161 2 0 1 0 1 2 2 0 1 12 0
171 2 0 1 1 2 0 0 1 2 2 0 1
181 2 0 1 2 0 1 1 2 0 01 2
192 0 2 1 0 2 1 0 2 1 0 2 1
202 0 2 1 1 0 2 1 0 2 1 0 2
212 0 2 1 2 1 0 2 1 0 2 1 0
222 1 0 2 0 2 1 1 0 2 2 1 0
232 1 0 2 1 0 2 2 1 0 0 2 1
2421 0 2 2 1 0 0 2 1 1 0 2
252 2 1 0 0 2 1 2 1 0 1 0 2
262 2 1 0 1 0 2 0 2 1 2 1 0
272 2 1 0 2 1 0 1 0 2 0 2 1
删掉XX这列,得到L27(312)。
这27个用例中,覆盖了A/B的各种情况,也涵盖了0<A1+A2+A3+A4+A5+A6<7这中条件的测试。 直接晕了 有点不懂, 是数据驱动吗? 是用正交表来设计测试用例。 谁能帮我讲讲正交表呀 看到版主大神的设计方式,果然不一样,受教。
不过,如果是我的话,我会这样想的。
首先是分开A、B的输入考虑,由于A、B的输入限制一样,因此引用相同的设计用力,大概如下:
由结果来划分,分四种:0、1-6、7、>7
根据将6个输入项来组合出4种结果的数据。其中0、1、2都包含其中
数据流的组合,从上面的数据中取两个出来组合,重点测试0的情况。
大概这样,我这个应该是不是非常充分,但是覆盖应该是均匀的。
哪里不好请说出来,本人菜鸟 实际中需要先分析出测试对象能靠拢哪一种测试场景,然后决定测试用例的设计方法。
学习了。谢谢。 本帖最后由 Jackc 于 2011-2-18 14:58 编辑
看到版主大神的设计方式,果然不一样,受教。
不过,如果是我的话,我会这样想的。
首先是分开A、B的输入 ...
zhouenff8 发表于 2011-2-18 11:57 http://bbs.51testing.com/images/common/back.gif
不错,其实你的思路和我的思路大同小异,即从结果逆推用例结构。
但是这样做有个问题,比如,我们需要设计A元素之和为6的用例,6个A元素的组合仍存在多种,我们不可能测试所有A之和为6的组合。
所以,如果不引入统计理论的话,还是没有解决其中最大的问题:如何筛选输入数据代表值
故,最后我还是选择正交表。
——————————————————————————————
有一点需要注意,也就是“0<A1+A2+A3+A4+A5+A6<7”。
这里正好L27(313)符合了这个条件,输出正好满足4种结果“0、1-6、7、>7”
假如需求变更为“0<A1+A2+A3+A4+A5+A6<9”,显然就需要手动调节正交表L27(313)中输入数组的分布了。当然,这又涉及到正交表转化的理论了...... 确实是存在如何选择输入数据的问题,如果随意选择难免太主观!
正交表还得去好好学习学习! 恩,这个我要仔细看看 是用软件生成的吗?回复 2# Jackc 回复 16# 丢了朵朵
当时做这个的时候没用工具,使用的正交表模板。
你可以谷歌/百度 “常用正交表”即可得到。
也可以用蜗牛共享的正交表工具。
http://bbs.51testing.com/thread-183770-1-1.html 越来越崇拜jackc了,回答的一直那么认真 回复 17# Jackc
好的~谢谢jackc,我去看看~呵呵
页:
[1]