【软件测试】07 -- 黑盒测试方法(等价类划分法)

   等价类划分法

   等价类划分法是一种常用的黑盒测试方法,它主张从大量的数据中选择一部分数据用于测试,即尽可能使用最少的测试用例覆盖最多的数据,以发现更多的软件缺陷。

   一个程序可以有多个输入,等价类划分就是将这些输入数据按照输入需求进行分类,将它们划分为若干个子集,这些子集即为等价类,在每个等价类中选择有代表性的数据设计测试用例。这种方法类似于学生站队,男生站左边,女生站右边,老师站中间,这样就把师生群体划分成了3个等价类。

   使用等价类划分法测试程序需要经过划分等价类和设计测试用例2个步骤,具体介绍如下。

   1.划分等价类

   等价类可分为有效等价类与无效等价类,其含义如下所示。

   (1)有效等价类:有效等价类就是有效值的集合,它们是符合程序要求、合理且有意义的输入数据。

   (2)无效等价类:无效等价类就是无效值的集合,它们是不符合程序要求、不合理或无意义的输入数据。

   了解了有效等价类与无效等价类,那么如何划分等价类呢?一般在划分等价类时需要遵守以下原则。

   (1)如果程序要求输入值是一个有限区间的值,则可以将输入数据划分为1个有效等价类和2个无效等价类,有效等价类为指定的取值区间,两个无效等价类分别为有限区间两边的值。例如,某程序要求输入值x的范围为[1,100],则有效等价类为1≤x≤100,无效等价类为x<1和x>100。

   (2)如果程序要求输入的值是一个“必须成立”的情况,则可以将输入数据划分为1个有效等价类和1个无效等价类。例如,某程序要求密码正确,则正确的密码为有效等价类,错误的密码为无效等价类。

   (3)如果程序要求输入数据是一组可能的值,或者要求输入值必须符合某个条件,则可以将输入数据划分为1个有效等价类和1个无效等价类。例如,某程序要求输入数据必须是以数字开头的字符串,则以数字开头的字符串是有效等价类,不是以数字开头的字符串是无效等价类。

   (4)如果在某一个等价类中,每个输入数据在程序中的处理方式都不相同,则应将该等价类划分成更小的等价类,并建立等价表。

   同一个等价类中的数据发现程序缺陷的能力是相同的,如果使用等价类中的一个数据不能捕获缺陷,那么使用等价类中的其他数据也不能捕获缺陷;同样,如果等价类中的一个数据能够捕获缺陷,那么该等价类中的其他数据也能捕获缺陷,即等价类中的所有输入数据都是等效的。

   正确地划分等价类可以极大地降低测试用例的数量,测试会更准确有效。划分等价类时不但要考虑有效等价类,还要考虑无效等价类,对于等价类要认真分析、审查划分,过于粗略的划分可能会漏掉软件缺陷,如果错误地将两个不同的等价类当作一个等价类,则会遗漏测试情况。例如,某程序要求输入取值范围在1~100之间的整数,若一个测试用例输入了数据0.6,则在测试中很可能只检测出非整数错误,而检测不出取值范围的错误。

   2. 设计测试

   用例确立了等价类之后,需要建立等价类表列出所有划分出的等价类,用以设计测试用例。基于等价类划分法的测试用例设计步骤如下所示。

   (1)确定测试对象,保证非测试对象的正确性。

   (2)为每个等价类规定一个唯一编号。

   (3)设计有效等价类的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,直到测试用例覆盖了所有的有效等价类。

   (4)设计无效等价类的测试用例,使其覆盖所有的无效等价类。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

衍生星球

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值