• 测试用例之正交排列法


    正交排列法

    说明:

    正交表:数学---统计学的研究成果

    使用最少的抽样数据达到最广的,覆盖率最高的统计结果

    测试人员:需要选择合适的正交表,并且能将正交表应用到测试中即可

    提示:正交表对于测试人员只是工具,不需要深入研究原理,也无需背诵。

    一、 正交排列法的使用场合

    在一个界面中有多个控件,每个控件有多个取值,测试要考虑不同控件不同取值之间的组合 ,但是组合数量较大(>20种,20种以下一般用因果图/判定表),没有必要全部测试,如何从所有组合中挑选最少的组合测试,并能得到最优的测试效果使用正交排列法。

    二.正交排列法和判定表法的主要异同:

    1、都是用来测控件的组合问题

    2、判定表法适合测组合数量较少的情况

    3、正交排列法适合测组合数量较多的情况

    4、判定表(因果图)会反映控件之间的限制和组合关系

    5、正交排列表只需反映控件之间的组合关系。

    三、解析正交表公式

     

    Lline  

    n:表示正交表有几行,需要测试的组合的个数

    n值是固定的,一旦正交表确定n值就是固定的,不需要测试人员自己计算。

    m:表示正交表中允许出现的最大值

    根据每个控件的取值个数来确定m

    k:表示正交表有几列

    根据组合的控件个数进行确定

    四、使用正交表测试的步骤:

    步骤1:分析需求--- 列出需要组合的控件以及每个控件的取值(excel

    步骤2:选择一个合适的正交表  

    选择正交表,其实就是确定正交表的m值和k值的过程

    M(控件的取值个数):3

    K(控件个数):4

    正交表:34次幂

    步骤3:应用正交表

     

    1、 把控件替换了正交表的列标题(因子)

    2、 将每个控件的取值分别替换掉了对应正交表列的值(状态)

    3、 应用正交表

     

    步骤4:根据正交排列表填写测试用例

    把正交表中的1行编写1条测试用例,测试一种组合

    说明:实际工作中有时会直接使用正交排列表测试,不写测试用例

    五、关于正交排列法的总结

    1、正交表是采用最少的测试数据,达到最优的测试效果,但是遗漏的组合较多。有遗漏缺陷的风险,如果时间允许,可以适当的补充测试

    2、正交表法的局限:

    1)正交表的个数有限(9个)

    2)要求每个控件中的取值个数要相等,这在实际应用中很少遇到

    3、正交表的特性:

    1)每列中不同数值出现的次数均等

    2)在任意两列中,同一行的两个数值组成有序数对,则有序数对出现的次数是均等的

    六、正交表的强化操作没有合适的正交表

    1、控件的个数(k值)不符合

    方案:选择最接近的但是稍微大一点的k值,用不到的列可以删掉

    练习2:理论上:33次幂,但是没有正合适的正交表

    最终选择:34次幂

    2、没有合适的m值,怎么解决(powerpoint 软件的打印功能)

    方法1:少数服从多数原则

    M值相同的控件个数最多的那个m

    案例:分析结果,34次幂

    方法2:最大值原则选择控件取值个数最多的值当m

    案例分析:m=4(取值最大),k=4

    理论上:44次幂,但是没有

    最终选择:45次幂,多余1列可以删掉

    方法总结:

    1、 如果有多余的列,可以删除掉

    2、 能映射的值先映射好(替换)

    3、 把每一列多出的机会,尽量均匀分配给该列的各个取值

    4、 要检查是否有完全一样的组合,如果有要适当处理(建议修改,也可以删除)

    5、 选择正交表时正好能应用正交表示首选,如果不合适呢么选择最接近的。

    实际工作中,属性设置测试,兼容性测试常用正交排列法,而且兼容性测试可以不编写测试用例,直接用正交排列表测试各种兼容组合

    可以看看这个的案例哦:https://www.cnblogs.com/fuxinxin/p/8991703.html

    副业:http://www.qgysfk.club/
  • 相关阅读:
    JAVA版SqlHelper
    JAVA中的继承特点1
    C# SqlBulkCopy类批量导入数据
    动态注册HttpModule管道,实现global.asax功能
    实现自己的前端模板轻量级框架
    事务消息中心-TMC
    Win10应用设计的那些事儿
    考拉定时任务框架kSchedule
    如何玩转基于风险的测试
    谈谈Java异常处理这件事儿
  • 原文地址:https://www.cnblogs.com/fuxinxin/p/9167942.html
Copyright © 2020-2023  润新知