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

发表于:2013-1-18 10:10

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  这样子我就完成了一个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的话就意味着需要三个变量之间的组合,如果是这样的情况用例数会极速增加。

  正交表通常的表达式是:

  根据上面的数据可以查找到一些已经被证明是正确的正交表。可以参考这个地址: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<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号