等价类测试


(1)划分

使用等价类作为功能性测试的基础有两个动机:我们希望进行完备的测试,同时又希望避免冗余,而边界值测试不能实现这两种希望中的任意一个,存在大量冗余,且有严重漏洞。

划分”的含义是将一个整体分为小块,使得所有事物都在某个小块中,不会遗漏。由于一个划分是一组子集,因此我们常常把单个子集看作是划分的元素。

这个定义的两部分对于测试人员很重要。第一部分保证集合 U 的所有元素都在某个子集中,第二部分保证集合 U 中没有元素同时在两个子集中。

且划分能保证:完备性无冗余性。当研究功能性测试,经常会出现漏洞和冗余性:有些内容没有被测试,而另外一些内容被测试多次。功能性测试的主要困难之一,就是找出合适的划分。


 

(2)等价类
在划分中,由于子集是由 等价关系决定的,因此,子集的元素都有一些共同点。所以,等价类测试的思想是通过每个等价类中的 一个元素标识测试用例。如果广泛选择等价类,则这样可以大大降低测试用例之间的冗余。

等价类的特点:

1)如果一个等价类中的某个测试可以发现缺陷,那么这个等价类的其他测试也能发现该缺陷。

2)如果一个等价类中的一个测试没有发现缺陷,这个等价类的其他测试也不能发现缺陷。

等价类测试的关键,就是选择确定类的等价关系。但必须区分弱和强等价类。


 

(3)等价类的区分

弱一般等价类测试通过使用一个测试用例中的每个等价类(区间)的一个变量实现。

[a,b]、[b,c]、[c,d] 与 [e,f]、[f,g],从这五个区间来看,用三个用例把每个区间都测试到了。

 

强一般等价类测试基于多缺陷假设,因此,需要等价类笛卡尔积的每个元素对应的测试用例。

 

弱健壮等价类测试也称为“传统等价类测试”。对于有效输入,使用每个有效类的一个值。对于无效输入,测试用例将拥有一个无效值,并保持其余的值都是有效的。

注意四个角外的位置没有测试用例即可理解。

 

强健壮等价类测试从所有等价类笛卡尔积的每个元素中获得测试用例。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM