2、用正交分析方法设计测试用例
所谓正交试验法,就是从大量的试验点中挑选出适量的,有代表性的点,合理的安排试验。
如果我们直接在上例中运用正交试验法,可能仍然达不到我们可以接受的范围,即测试用例还是很多。这时我们可以计算各因子和状态的权值,删去一部分权值较小,即重要性较小的因子或者状态,使最后生成的测试用例集缩减到我们可以接受的范围。
针对上例中,我们做如下修改(这里只是指出怎么应用正交试验法,所选修改以简便为主,实际中可根据需要删减):
码流类别:主码流=0,子码流=1
码流类型:复合流=0,视频流=1
分辨率:DCIF=0,CIF=1,QCIF=2,4CIF=3,保留=4
图像质量:最好=0,较好=1,次好=2,一般=3,差=4
视频帧率:全帧率=0,1/16=1,1/4=2,1=3,10=4,20=5
帧类型:单P帧=0,BBP帧=1,BP帧=2
根据上面分析情况,我们在常用正交矩阵表中,选择在保证因素数、水平数最接近但略大于实际值的基础上,选择行数最小的矩阵表。我们选择5^6的矩阵表:如下
|
1 |
2 |
3 |
4 |
5 | |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
2 |
0 |
1 |
2 |
3 |
4 |
1 |
3 |
0 |
2 |
4 |
1 |
3 |
2 |
4 |
0 |
3 |
1 |
4 |
2 |
3 |
5 |
0 |
4 |
3 |
2 |
1 |
4 |
6 |
1 |
0 |
4 |
3 |
2 |
4 |
7 |
1 |
1 |
1 |
1 |
1 |
0 |
8 |
1 |
2 |
3 |
4 |
0 |
1 |
9 |
1 |
3 |
0 |
2 |
4 |
2 |
10 |
1 |
4 |
2 |
0 |
3 |
3 |
11 |
2 |
0 |
3 |
1 |
4 |
3 |
12 |
2 |
1 |
0 |
4 |
3 |
4 |
13 |
2 |
2 |
2 |
2 |
2 |
0 |
14 |
2 |
3 |
4 |
0 |
1 |
1 |
15 |
2 |
4 |
1 |
3 |
0 |
2 |
16 |
3 |
0 |
2 |
4 |
1 |
2 |
17 |
3 |
1 |
4 |
2 |
0 |
3 |
18 |
3 |
2 |
1 |
0 |
4 |
4 |
19 |
3 |
3 |
3 |
3 |
3 |
0 |
20 |
3 |
4 |
0 |
1 |
2 |
1 |
21 |
4 |
0 |
1 |
2 |
3 |
1 |
22 |
4 |
1 |
3 |
0 |
2 |
2 |
23 |
4 |
2 |
0 |
3 |
1 |
3 |
24 |
4 |
3 |
2 |
1 |
0 |
4 |
25 |
4 |
4 |
4 |
4 |
4 |
0 |
对于有些因子实际上所含的状态数小于5个,可以用确定的状态数去间隔性的填充范围外的状态。最后把因子实际的状态按照上面的规则填到正交试验表中,即可得到可接受的测试用例。
这里对这两种方法做个比较小结:
1、正交分析方法是对任意多个因素取值组合实施“等概率”覆盖,以便我们得到的实验样本均匀的分布在样本空间。“等概率覆盖”有助于在正交试验中确定各个因素对实验结果的贡献,但是对于组合测试提高错误检测能力并没有帮助。组合分析是随机生成的,它的原则是覆盖即可,不会去考虑“等概率”覆盖的问题。
2、通过上面的例子我们知道使用正交表构造测试用例,要寻找正确的正交表、对其进行剪裁、替换参数,方能获得测试用例集。但是对其裁剪,会降低测试的覆盖率;不裁剪,生成的测试用例数超出了我们可以接受的范围。而组合分析运用PICT可以很方便的获取一组测试数据,在回归测试中,可以很方便的运用另一组组合分析数据,提高测试覆盖率。
运用正交试验分析需要对要测试的因子及因子状态有清楚的了解,并对其加权,哪些权值较重,哪些较轻,很适合测试小生用, 可以加深对测试对象的理解,对业务流程的熟悉。组合分析利于快速的生成测试用例,不需要对测试对象有深刻的了解。具体运用哪种方法,要看具体测试对象,也要看测试人员自己的喜好。