Nicole2333

导航

等价类划分

  • 基本概念
    • 程序输入域的子集
  • 测试思想
    • 将程序的输入域划分为若干个区域(等价类),并在每个等价类中选择一个具有代表性的元素生成测试用例
  • 划分等价类
    • 有效等价类(合理、有意义) #能检验程序是否可以实现规格说明中所规定的功能需求
    • 无效等价类(不合理、无意义) #能检验程序在不符合规则的数据输入下是否会有异常
      • 划分等价类的标准
        • 集合(程序输入域)应划分为互不相交的一组子集,而这些子集的并集是整个集合(整个程序输入域)。 ---完备测试,避免冗余
      • 划分原则
        • (1) 若输入条件规定了取值范围或值的个数的情况下,可划分为一个有效等价类和两个无效等价类; 
          Eg.设置风控指标,其中权重设置范围在[-1000,1000] 

                                     

        • (2) 若输入条件为布尔表达式,可划分为一真一假的有效等价类与无效等价类; 
          Eg.设置产品信息,其中产品份额必填  

                                   

        • (3) 若规定了输入数据必须要遵循的原则,可划分为一个有效等价类(符合规则)和若干个无效等价类; 
          Eg.系统的初始资金只可输入数字 

                                    

        • (4)若只要求输入数据符合某几个原则,这时可能存在多个有效类和若干个无效等价类;

                                       Eg. 交易用户登录密码只可输入数字、字母及部分特殊符号,不能输入单/双引号及汉字 

                                    

        • (5)若规定了输入数据的一组值(假定n个),且程序对不同输入值做不同处理,则可划分为n个有效等价类(每个允许的输入值为一个有效等价类)和一个无效等价类(所有不允许的输入值的集合)。 

                                      Eg. 设置资金账户时,必须选择是否检查自成交 

                                    

        • (6)在确知已划分的等价类中各元素在程序中的处理方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
      • 测试用例设计步骤 

        (1) 划分等价类后,建立等价类表,并为每一个等价类规定一个唯一的编号;
        (2) 设计一个测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步骤,直到所有的有效等价类都被覆盖为止;
        (3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步骤,直到所有的无效等价类都被覆盖为止。(因为用单个测试用例覆盖无效等价类,是因为某些特定的输入错误会屏蔽或取代其他输入错误检查)
        ---------------------
        版权声明:本文为CSDN博主「Pk_Chiu」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
        原文链接:https://blog.csdn.net/weixin_36158949/article/details/79368656

 

posted on 2019-08-06 20:05  Nicole2333  阅读(351)  评论(0)    收藏  举报