正交矩阵在测试用例设计中的应用
作者:网络转载 发布时间:[ 2013/1/18 11:19:54 ] 推荐标签:
这样子我完成了一个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%的效果:)
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11