zoukankan      html  css  js  c++  java
  • 等价类分析法

    一、首先,什么是等价类划分法呢? 

    等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。它把程序的输入域划分成若干个部分,然后从每一部分选取少数有代表性的数据作为测试用例。 
    等价类事指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。测试某等价类的代表值就等价于对这一类其他值的测试。 
    这里写图片描述
    注意:所有等价类的并集就是整个输入域。 
    因此,等价类测试对于测试有两个重要的意义。一、完备性-整个输入域提供一种形式的完备性。 
    二、无冗长。 

    二、等价类划分的原则 

    1.如果输入条件规定的取值范围,可以分成一个有效等价类和两个无效等价类。 

    示例: 输入数据要求是1到100,则 
    有效等价类 1 <=input<=100 
    无效等价类。input <1 和 input >100 

    2.如果输入条件规定了输入值的集合,则可划分一个有效等价类和一个无效等价类 

    示例: 输入数据要求是a,b,c 
    有效等价类:a, b, c 
    无效等价类:not a, not b, not c 

    3.若输入条件是bool值 

    示例: if(input)… 
    有效等价类:input ==true 
    无效等价类:input==false 

    4.规定了输入数据的一组值,程序要对每一组值分别进行处理 

    示例:switch … case … 
    有效等价类:所有case情况的数据 
    无效等价类:除所有case情况外的数据 

    5.若是规定了输入数据鼻血遵守的规则。 

    有效等价类:符合规则的数据 
    无效等价类:从不同角度违反规则的数据,有多个无效等价类。 

    6.若是比较复杂,已划分的等价类还有不同的处理方式,可以继续进一步划分成更小的等价类。 

    示例: if: 
    Switch…case… 

    三、举例说明 

    For example one: 
    输入3个数作为三角形的三边,判断此三角形为合法三角形 
    合法三角形的条件:a,b,c a >0&b>0&c>0&a+b>c&a+c>b&b+c&a 
    划分等价类:有效等价类 
    这里写图片描述

    无效等价类: 
    这里写图片描述
    设计测试用例 
    这里写图片描述
    注:N2-01~N2-06都是类似的

    四。总结 
    测试用例的设计方法不是单独存在的,具体到每个测试项目里都会用到多种方法,每种类型的产品或软件有各自的特点,针对不同产品或软件如何利用这些黑盒方法是非常重要的。在实际测试中,往往是综合使用各种方法才能有效提高测试效率和测试覆盖度。

    一般而言,测试方法选择可以参考以下几点: 

    ♦1.首先进行等价类划分,包括输入条件和输出条件的等价类划分。这是减少工作量和提高测试效率的最有效方法。 

    ♦2.边界值分析法。经验表明用这种方法设计出测试用例发现程序错误的能力最强。 

    ♦3.对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,应当再补充足够的测试用例。 

    ♦4.对于业务流清晰的系统。可以利用场景法贯穿整个测试案例过程,在案例中综合使用各种测试方法。

    ♦5.黑盒盒百合测试用例设计方法相互辅助使用。

  • 相关阅读:
    有return的情况下try_catch_finally的执行顺序
    java异常处理之try_catch_finally
    乔布简历
    策略模式--经典详细分析
    观察者模式(Observer Pattern)(二):HeadFirst中的气象站的实现
    luogu2444 [POI2000]病毒
    bzoj3172 luogu3966 [TJOI2013]单词
    luogu3808 luogu3796 AC自动机(简单版) AC自动机(加强版)
    vijos1459 车展
    poj2985 The k-th Largest Group
  • 原文地址:https://www.cnblogs.com/insane-Mr-Li/p/9074814.html
Copyright © 2011-2022 走看看