等价类划分是一种重要的、常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输入规格即可。它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。
有效等价类:指符合《需求规格说明书》,输入合理的数据集合。
无效等价类:指不符合《需求规格说明书》,输入不合理的数据集合。
(1)先确定有效和无效等价类
(2)有效等价类就是题目条件(两端的极值(边界值)要判断、中间随意一个值也要判断)
(3)无效等价类先划分与条件相反的情况,再找到特殊情况(中文、英文、符号、空格、空)
我们来做一下例题:
A、计算 1---100的整数之和(包括1和100)
一般是一个框输入正确的值,一个框输入错误的值,没有两个框都输入错误的值,因为更容易确定到底是哪个框出现错误的值。
B、测试QQ账号,账号的要求是 6---10位正整数。
C、某城市电话号码由三部分组成,分别是
地区码:空白或是3位数字
前缀:非‘0’且非‘1’开头的三位数字
后缀:4位数字
3、等价类分类总结
通过上面的案例,我们可以总结一下,当我们在测试文本框的程序可以考虑如下的情况:
a:文本框要求输入的长度
b:输入的类型
c:组成规则
d:是否为空
e:是否重复---区分大小写,
f:是否去除空格
所谓边界条件,是指输入和输出等价类中那些恰好处于边界、或超过边界、或在边界一下的状态。边界值分析法也是一种常用的黑盒测试方法。特别要注意的是:大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。
我们先来看一个例题,解释一下为什么要用边界值。
题目:输入的参数值必须大于0同时小于100的整数。
接下来我们来看程序员写的一段代码:
If Val(Test1.Test) > =0 Or Val(Test1.Test) <= 100 Then
MsgBox("输入的参数值必须大于0同时小于100")
Test1.SetFocus
ElseIf Val(Test2.Test) >= 0 or val (Test2.Test) < =100 then
MsgBox("输入的参数值必须大于0同时小于100")
Test2.SetFocus
Else
Test3.Test = Val(Test1.Test) + Val(Test2.Test)
End If
各位思考一下,这里面有什么问题呢。仔细看题目,你会发现程序员边界条件设置错误:把>写成了>=,把<写成了<=。这条代码告诉了我们有效数据和无效数据的分界点,往往作为程序员编写程序的判断点,是程序员容易犯错误的地方,也是测试人员重点测试的内容。
那么我们要怎么去确定这个边界值呢,各位接下来请看:
1、找到测试数据的边界点,也就是有效等价类和无效等价类的边界点,对边界点数据专门进行测试。
2、一般情况下,需要对边界值(0和100)以及边界值两边的数(-1和1以及101和99)分别进行测试。
这里我们还会讲一个概念叫做上点,离点,内点。这几个名词我也用例子展示给大家看,只要数学不是体育老师教的,都是能看懂的
如果是闭区间,例如[1,10]。那么上点就是1,10。内点就是区间内任意一个数字,例如5。离点则是0,11
如果是开区间,例如(1,10)。那么上点就是1,10。内点就是区间内任意一个数字,例如5。离点则是(2,9)
这两个最大的区别就是在于离点的不同,概括起来一句话就是闭两边,开中间。也就是说闭区间的离点是区间外边相邻的两个数字(0,11),开区间的离点就是区间里边相邻的两个数字(2,9)。
接下来就是例题了
使用边界值的方法设计添加标题的测试用例:标题长度>0 标题长度<=30
输入一个学生成绩n,判断是否及格(0到100整数)
边界值的方法小结:
1、如果输入条件规定了值得范围,则应取刚到到这个范围的边界值,以及刚刚超越这个范围边界的值作为输入数据。
两位整数加法器数的范围为-99—99,则应测试-99,-100和99,100,和中间任意数字
2、输入条件规定了值得个数
姓名要求1—20个字符,需要测试0、1、2个字符和19、20、21个字符
原文:https://www.cnblogs.com/auguse/p/11461519.html