昨天晚上小组讨论get到一个新的知识点,正交表测试法,请原谅我的无知,真的是第一次听说。因为没有实践过在讨论中理解有限,今天查询了一些资料这个知识点慢慢清晰起来,现总结如下:
正交试验法是研究多因素、多水平的一种试验法,它是利用正交表来对试验进行设计,通过少数的试验替代全面试验,根据正交表的正交性从全面试验中挑选适量的、有代表性的点进行试验,这些有代表性的点具备了“均匀分散,整齐可比”的特点。因此正交表法是一种有效减少测试用例个数的设计方法。
2正交表的使用
为了能够深入的理解正交法的使用,下面举个例子
如上为一个个人信息查询窗口,输入条件的组合为:
姓名:填,不填身份证号:填,不填 手机号码:填,不填
此处有三个条件,每个条件有两个输入参数,如果全部要覆盖输入组合,则需要以下8个测试用例:
1填写姓名,填写身份证号,填写手机号码
2填写姓名,填写身份证号,不填写手机号码
3填写姓名,不填写身份证号,填写手机号码
4填写姓名,不填写身份证号,不填写手机号码
5不填写姓名,填写身份证号,填写手机号码
6不填写姓名,填写身份证号,不填写手机号码
7不填写姓名,不填写身份证号,填写手机号码
8不填写姓名,不填写身份证号,不填写手机号码
这只是一个输入条件比较少的情况,如果考虑更多的输入条件及参数,则有可能需要成千上万的测试用例,例如:5个输入条件,5个输入参数,如果考虑全部覆盖,则需要5*5*5*5*5=3125个测试用例,这对测试人员来讲工作量很大。那么通过正交表就可以简化测试用例,用最少的测试用例获得尽可能全面的覆盖率。正交表设计测试用例的步骤如下:
(1)确定有哪些因子。例如例子中的姓名、身份证号、手机号码,即有三个因子
(2)每个因子有几种输入。例如:姓名有填和不填两种输入
(3)选择合适的正交表,此处就可以选择,其中4代表采用这个正交表需要执行4个测试用例,2为水平数(即输入条件的参数个数)3位因子数(即输入条件的个数)(备注:计算公式 一般用L代表正交表,N代表正交表的行数,M代表每个因子的水平数(输入条件的参数个数),K代表因子数即正交表的列数,正交表的行数N=K*(M-1)+1,此处K=3 M=2则N=4)
正交表如下:
根据正交表可得:姓名 身份证号 手机号码
不填 不填 不填
不填 填 不填
填 不填 填
填 填 填
(4)把每一行的因子水平的组合作为一个测试用例。这样就把前面的8个测试用例简化为4个测试用例:
1不填写姓名,不填写身份证号,不填写手机号码
2不填写姓名,填写身份证号,不填写手机号码
3填写姓名,不填写身份证号,填写手机号码
4填写姓名, 填写身份证号,填写手机号码