软件测试正交矩阵,正交矩阵在测试用例设计中的应用

这样子我就完成了一个10个Case的测试计划了。

回过头来看看正交矩阵测试策略Orthogonal Array Testing Strategy (OATS),OATS是一种对两两相互作用(pair-wise interactions)进行系统的测试的一种方法,用正交表映射出来的测试用例大致上是均匀分布的。

正交矩阵(Orthogonal arrays)是一二维的矩阵,下面是一些关键字:

● Runs:就是矩阵的行数,也就是将来要映射的Test Case数。在这里例子里面是8。

● Factors:就是矩阵的列数,一般来说是有多少个变量,就有多少个Factor。这里例子就是7。

● Levels:就是取各列因素(Factors)中的最大可能取值。这个例子里面是2。

● Strength:相互关系数,这里面是2,意思就是每两个变量之间的关系,如果是3的话就意味着需要三个变量之间的组合,如果是这样的情况用例数会极速增加。

正交表通常的表达式是:

c55564179d48eba6e52898d14b4f1498.gif

根据上面的数据可以查找到一些已经被证明是正确的正交表。可以参考这个地址:http://www.research.att.com/~njas/oadir/index.html

然后就能把正交表的01010101映射为我们的Case了!

后记:

1、为什么强调这个正交表是均匀分布的呢何学角度来看软件的bug的话,bug可以分为两类,一种是范围性的错误(region faults)另外一种是单独的错误(Single faults)。我们很难去估计在这个软件里面哪类错误存在于哪里,所以我们能做的就是取一个有限的集合去代替那个无限的集合。正因为如此,我们对这个有限的集合的要求就是尽可能地均匀分布的。

2、不要手工的实现正交表的映射。现在一般举例都是比较小规模的例子,一旦列变量很多很多,那就没有办法手工的去做映射的,需要借助工具~听说Excel可以做,我也正在研究,不过可以有其他选项~例如有个叫正交助手的软件,或者用SPSS……有点夸张。

3、滥用OATS。通常刚开始知道这个方法的时候就很有兴趣去弄他,然后就死也要实现这个方法,不过测试还是根据风险来决定测试的点。如果发现一个能应用OATS的地方,不过这个地方在整个软件里面占的比重并不是很大,或者说不是有很高优先级的,那么可以不用OATS。

4、用错了组合,其实就像是我举的这个例子,其实我没有读文档,也没有文档给我读,所以我并不知道那个界面上哪些东西是互相有影响的,所以我也只是随便挑出来罢了。做个例子可以,真正实施的时候要注意囖。

5、不要用OATS来测那些高风险的产品,例如什么医疗,银行的。

6、正交表只是取一个相对合理的集合作为全集合的一个代替,所以不要认为利用正交表就能替代原来的全集,用正交表是要承受风险的,但是正交表的确是一个“性价比”很高的方法:)有点像20/80法则,做20%的工作就得到了80%的效果:)

22/2

相关资源:USB设备病毒深度防御软件–AssUV.exev1.363仅90K- 络攻防文档类…

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月16日
下一篇 2021年6月16日

相关推荐