等价类划分法

发表于:2009-09-25来源:作者:点击数: 标签:等价
数据 测试 是 功能测试 的主要内容,或者说功能测试最主要的手段之一就是借助数据的输入/输出来判断功能能否正常运行。在进行数据输入测试时,如果需要证明数据输入不会引起功能上的错误,或者其输出结果在各种输入条件下都是正确的,就需要将可输入数据域内
        数据测试功能测试的主要内容,或者说功能测试最主要的手段之一就是借助数据的输入/输出来判断功能能否正常运行。在进行数据输入测试时,如果需要证明数据输入不会引起功能上的错误,或者其输出结果在各种输入条件下都是正确的,就需要将可输入数据域内的值完全尝试一遍(即穷举法),这实际是不现实的。

         为了解决这个问题,人们就设想是否可以用一组有限的数据去代表近似无限的数据,这就是等价类划分法的基本思想。等价类划分法选择适当的数据子集来代表整个数据集,通过降低测试的数目实现“合理的”覆盖,覆盖了更多的可能数据,以发现更多的软件缺陷

        等价类划分基于对输入或输出情况的评估,然后划分到两个或更多子集来进行测试,即将所有可能的输入数据(有效的或无效的)划分成若干个等价类,从每个等价类中选择一定的代表值进行测试。其中有一个假定:等价类中的所有数据对于暴露程序中的错误是等效的,即如果用这个等价类中的代表值作为测试用例未发现程序错误,那么该类中其他的测试用例也不会发现程序的错误。有时,在确定输入数据的等价类时常要分析输出数据的等价类,以便根据输出数据的等价类导出对应的输入数据等价类。这样就将慢无边际的随机测试变为具有针对性的有效测试,极大地提高了测试效率。

       等价类划分法优点是基于相对较少的测试案例,就能够进行完整覆盖,很大程度上减少了重复性;缺点是缺乏特殊案例的考虑,同时需要深入的系统知识,才能做到有效地处理。

原文转自:http://www.ltesting.net