黑盒测试用例设计方法之等价类和边界值

一、等价类划分

等价类划分是一种重要的、常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输入规格即可。它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。

1、等价类的分类

  有效等价类:指符合《需求规格说明书》,输入合理的数据集合。

  无效等价类:指不符合《需求规格说明书》,输入不合理的数据集合。

2、等价类思考步骤

  (1)先确定有效和无效等价类

  (2)有效等价类就是题目条件(两端的极值(边界值)要判断、中间随意一个值也要判断)

  (3)无效等价类先划分与条件相反的情况,再找到特殊情况(中文、英文、符号、空格、空)

3、例题:

A、测试QQ账号,账号的要求是 6---10位正整数。

B、手机号码

1. 某城市的电话号码由三部分组成。这三部分的名称和内容分别是

        地区码:空白或三位数字;

        前    缀:非’0’或’1’开头的三位数;

        后    缀:四位数字。

解:第一步:划分等价类,包括4个有效等价类,11个无效等价类。

 

第二步:确定调试用例。

对11个无效等价类,要选择11个调试用例,如下所示:

 3、等价类分类总结

通过上面的案例,我们可以总结一下,当我们在测试文本框的程序可以考虑如下的情况:

a:文本框要求输入的长度
b:输入的类型
c:组成规则
d:是否为空
e:是否重复---区分大小写,
f:是否去除空格

二、边界值分析

1.什么是边界值分析法?

边界条件,是指输入和输出等价类中那些恰好处于边界、或超过边界、或在边界一下的状态。边界值分析法也是一种常用的黑盒测试方法。特别要注意的是:大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。

我们先来看一个例题,解释一下为什么要用边界值。

题目:输入的参数值必须大于0同时小于100的整数。

接下来我们来看程序员写的一段代码:

number = int(input("输入的参数值必须大于0同时小于100的整数:"))

if 100 >= number >= 18:
    print("输入的数据合法")
else:
    print("输入的数据不符合要求")

各位思考一下,这里面有什么问题呢。仔细看题目,你会发现程序员边界条件设置错误:把>写成了>=,把<写成了<=。这条代码告诉了我们有效数据和无效数据的分界点,往往作为程序员编写程序的判断点,是程序员容易犯错误的地方,也是测试人员重点测试的内容。

那么我们要怎么去确定这个边界值呢,各位接下来请看:

1、找到测试数据的边界点,也就是有效等价类和无效等价类的边界点,对边界点数据专门进行测试。

2、一般情况下,需要对边界值(0和100)以及边界值两边的数(-1和1以及101和99)分别进行测试。

PS:这里我们还会讲一个概念叫做上点,离点,内点。

如果是闭区间,例如[110]。那么上点就是1,10。内点就是区间内任意一个数字,例如5。离点则是0,11
如果是开区间,例如(1,10)。那么上点就是1,10。内点就是区间内任意一个数字,例如5。离点则是(2,9)
这两个最大的区别就是在于离点的不同,概括起来一句话就是闭两边,开中间。也就是说闭区间的离点是区间外边相邻的两个数字(0,11),开区间的离点就是区间里边相邻的两个数字(2,9)。

2.例题:

使用边界值的方法设计添加标题的测试用例:标题长度>0 标题长度<=30

输入一个学生成绩n,判断是否及格(0到100整数)

边界值的方法小结:

1、如果输入条件规定了值得范围,则应取刚到到这个范围的边界值,以及刚刚超越这个范围边界的值作为输入数据。

两位整数加法器数的范围为-9999,则应测试-99,-100和99,100,和中间任意数字

2、输入条件规定了值得个数

姓名要求1—20个字符,需要测试0、1、2个字符和19、20、21个字符
posted @ 2019-09-04 21:18  酒剑仙*  阅读(1599)  评论(0编辑  收藏  举报