等价类划分【Equivalence partitioning 】也叫做ECP [1]是一种将软件单元的输入数据转换成从该试验的情况下可以推导等效数据的分区的软件测试技术。是典型的黑盒测试内容。原理上每一个测试例子最终应该完成对所有情况的测试,这种测试尝试定义发现错误的方法,从而用来减少用于测试的必要测试次数。这种方法可以有效减少用于测试的时间,因为可以减少测试的情况。
一个简单的等价类测试例子
int safe_add( int a, int b )
{
int c = a + b;
if ( a >= 0 && b >= 0 && c < 0 )
{
fprintf ( stderr, "Overflow!
" );
}
if ( a < 0 && b < 0 && c >= 0 )
{
fprintf ( stderr, "Underflow!
" );
}
return c;
}
有效等价类划分
有效等价类指对于程序规格说明来说,是合理的、有意义的输入数据构成的集合。利用有效等价类可以检验程序是否实现了规格说明预先规定的功能和性能。
无效等价类划分
无效等价类和有效等价类相反,无效等价类是指对于软件规格说明而言,没有意义的、不合理的输入数据集合。
等价类划分的方法
1、按区间划分。
2、按数值划分。
3、按数值集合划分。
4、按限制条件或规划划分。
5、按处理方式划分。
(部分内容引用自wiki以及百科)
基于课堂的实验设计
基于如上等价类划分进行实验设计