如上述所示,等价类测试的四种基本模型已经阐述完毕,后用一个例子来阐述一下:

  问题是:确定下是什么时间的一个函数nextDay()函数的测试.{1810~2019年}
  我们可以化成下面的一个等价类:
  Ma={月份:每月30天}   Mb={月份:每月31天} Mc={月份:此月是2月}
  D1={日期:1<=日期<=28} D2={日期:日期=29天} D3={日期:日期=30} D4={日期:日期=31}
  Y1={年:年=2000}, Y2={年:年=平年}, Y3={年:年=闰年}
  如此划分的等价类,通过上述的模型,强一般等价类会产生36个测试用例,明显小于边界值测试。
  当然,你也可以通过其他的方式来划分等价类,不同的划分产生的等价类的数目是显然不一致的,所以对测试工程师的要求比较高一点.带来的好处是完备性和简洁性.
  等价类测试的几点注意:
  1、等价类测试的弱形式一般不如对应的强形式的测试全面。
  2、如果语言是强类型的,异常值会引发错误,则无必要采用健壮形式。

  3、如果错误条件非常重要,则进行健壮形式测试是合适的

  4、如果输入数据以离散值区间和集合定义,则等价类测试是合适的。

  5、在发现"合适"的等价关系之前,可能要进行多次尝试。

  6、强和弱形式等价类测试之间的区别,有助于区别累进测试和回归测试。

  等价类的关键是寻找"等价类"!!!