zoukankan      html  css  js  c++  java
  • 等价类划分(Equivalence Class Partitioning)

    一、定义

      所谓等价类是指输入域的某个互不相交的子集合,所有等价类的并集便是整个输入域。目的在于测试用例的无冗余性。

    二、划分等价类

      (1)有效等价类:检验程序是否实现了规格说明预先规定的功能和性能。

      (2)无效等价类:检查软件功能和性能的实现是否有不符合规格说明要求的地方。

    三、常用的等价类划分原则

      (1)按区间划分:可以确定一个有效等价类、两个无效等价类。

        例:学生允许选修4到7门课程.

        划分:

          有效:4到7;

          无效:不足4门;超过7门

      (2)按数值划分:如果输入条件规定了输入数据的一组可能的值,而且程序是用不同的方式处理每一种值,则可为每一种值划分一个有效等价类,并划分一个无效等价类。   

      (3)按数值集合划分:规格说明中规定了输入值的集合,则可以确定一个有效等价类,并划分一个无效等价类。

        例:程序要求输入为TOM,DICK,HARRY的名字之一。

        划分:

        有效:三个有效名字之一

        无效:有效名之外的名字,如:JOE

      (4)按限制条件或规则划分:规格说明中规定了输入数据必须遵守的规则和限制条件,则可以确立一个有效等价类(符合规则)和若干个(≥ 1)无效等价类(不同角度的     违反规则)。

        

      (5)细分等价类:如果我们确知,已划分的某等价类中的各元素(例子)在程序中的处理方式是不同的,则应据此将此等价类进一步划分成更小的等价类。

    四、等价类测试用例设计

      (1)在确立了等价类之后,可列出所有划分出的等价类表。

      (2)为每一个等价类规定一个唯一的编号。

      (3)设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,直到测试用例覆盖了所有的有效等价类。

      (4)设计一个新的测试用例,使其覆盖且只覆盖一个尚未覆盖的无效等价类。重复这一步,直到测试用例覆盖了所有的无效等价类。

    五、等价类划分方法的应用

      

    测试用例

    编号 有效等价类 编号 无效等价类
    1 字符长度在1~6之间 3 字符长度小于1或大于6
    2 字符为a~z,A~Z,0~9 4 字符为英文/数字以外字符,控制字符,标点符号

     

     

     

     

    编号 输入 覆盖等价类 期望输出
    1 123456 1 true
    2 abcde 2 true
    3 23DBc6 1,2 true
    4 1234567 2,3 false
    5 abc32efg 2,3 false
    6   3 false
    7 a;,.34 1,2,4 false
    8 1dv? 1,2,4 false
    9 234fgs;/ 2,3,4 false

     

     

  • 相关阅读:
    洛谷 P1194 飞扬的小鸟 题解
    洛谷 P1197 星球大战 题解
    洛谷 P1879 玉米田Corn Fields 题解
    洛谷 P2796 Facer的程序 题解
    洛谷 P2398 GCD SUM 题解
    洛谷 P2051 中国象棋 题解
    洛谷 P1472 奶牛家谱 Cow Pedigrees 题解
    洛谷 P1004 方格取数 题解
    洛谷 P2331 最大子矩阵 题解
    洛谷 P1073 最优贸易 题解
  • 原文地址:https://www.cnblogs.com/zf-1573/p/4357439.html
Copyright © 2011-2022 走看看