等价类与边界值

一、等价类

1.等价类

​ 在离散数学中,等价关系是指定义在集合A上的关系,满足自反的、对称的和传递的等性质。设R是定义在集合A上的等价关系,与A中一个元素a有关系的所有元素的集合叫做a的等价类。等价类应用十分广泛,如在编程语言中,我们使用等价类来判定标识符是不是表示同一个事物。

​ 在软件工程中,是把所有可能输入的数据,即程序的输入域划分成若干部分(子集) [2] ,然后从每一个子集中选取少数具有代表性的数据作为测试用例,从而减少了数据输入量从而提高了效率,称之为等价类方法,该方法是一种重要的、常用的黑盒测试用例设计方法

2.分类

​ 在软件工程中等价类划分及标准如下:

划分等价类

等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其他值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分有两种不同的情况:有效等价类和无效等价类。

1)有效等价类

是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明所规定的功能和性能。

2)无效等价类

指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能多个。

设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。

3.划分等价类的标准

  1. 完备测试、避免冗余

  2. 划分等价类重要的是:集合的划分、划分为互不相交的一组子集,而子集的并是整个集合

  3. 并是整个集合:备性

  4. 子集互不相交:保证一种形式的无冗余性

  5. 同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到“相同的执行路径”

二、边界值 

​         边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

        长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例设计,可以查出更多的错误。

1.与等价划分的区别

        1)边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。

        2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。

2.边界值分析方法的考虑:

        长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。 使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

3.边界值分析

        1)边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。

        2)等价类划分:

        I.可以考虑作出如下划分:

​         a、输入 (i)<0 和 (ii)>=0

​         b、输出 (a)>=0 和 (b) Error

        II.测试用例有两个:

​         a、输入4,输出2。对应于 (ii) 和 (a) 。

​         b、输入-10,输出0和错误提示。对应于 (i) 和 (b) 。

        3)边界值分析:

        划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数和0。由此得到以下测试用例:

        a、输入 {最小负实数}

        b、输入 {绝对值很小的负数}

        c、输入 0 d、输入 {绝对值很小的正数}

        e、输入 {最大正实数}

        4)通常情况下,软件测试所包含的边界检验有几种类型:数字、字符、位置、重量、大小、速度、方位、尺寸、空间等。

        5)相应地,以上类型的边界值应该在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、 最短/最长、 空/满等情况下。

        6)利用边界值作为测试数据

        7)内部边界值分析:

        在多数情况下,边界值条件是基于应用程序的功能设计而需要考虑的因素,可以从软件的规格说明或常识中得到,也是最终用户可以很容易发现问题的。然而,在测试用例设计过程中,某些边界值条件是不需要呈现给用户的,或者说用户是很难注意到的,但同时确实属于检验范畴内的边界条件,称为内部边界值条件或子边界值条件。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值