软件测试学习笔记之等价类划分

发表于:2013-7-01 14:59

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:ufoofuufoofu    来源:51Testing软件测试网采编

分享:

  等价类划分测试法满足了测试的两个需求:完备的测试、避免冗余。

  等价类测试法将每一个输入变量的取值根据它们的特点划分成互不相交的一组子集,并保证这组子集的并是整个输入变量的取值。随后从每个子集中抽取其中一个元素来代表这一子集进行测试,从而实现通过最少的测试用例来无冗余地覆盖全部输入测试。因此等价类划分测试的前提条件是:假设同一类型输入具有同样的测试结果,在设计时如果无法确定系统一定满足该前提条件则需要与其它的测试方法混用来增加测试有效性(如对有疑点的输入区间增加边界值检测)。

  其划分原则如下:

  ·在输入条件规定的取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类。

  ·在规定了输入数据的一组值中(假定有n个值),并且程序要对每个输入值分别处理的情况下,可以确定n个有效等价类和一个无效等价类。

  ·在规定输入数据必须遵守的规则的情况下,可以确定一个有效等价类和若干个无效等价类。

  ·在输入条件规定了输入值的集合或规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类。

  ·在确定已划分的等价类中各元素在程序处理中的方式不同的情况下,则应将该等价类进一步地划分为更小的等价类。

  对于有多个变量组成的系统,等价类测试法也有单缺陷与多缺陷的条件假设,在单缺陷前提条件下,我们只需要保证测试用例使用了每个变量每个子集中的一个元素即可。

  由上图可以看出,在x轴方向上测试用例覆盖了[a,b],[b,c],[c,d]三个区间y轴方向上测试用例覆盖了[e,f],[f,g]两个区间。

  在多缺陷前提条件下,我们要保证测试用例覆盖所有变量等价笛卡尔积的每个子集,即变量子集的叉乘。

  如果还考虑到无效等价类,则会扩展成以下的形式:

  等价划分法由于同样只关注系统输入输出之间的关系而不关心系统内部实现,因此是一种典型的黑盒测试方法。它几乎适用于所有测试,然而当各个输入变量之间相互制约,相互影响时,输入变量的区间变化划分将十分困难,此时等价划分方法只能用来辅助指导测试而不能当成主要测试方法。

相关文章

软件测试学习笔记之边界值分析

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号