各位友友们:
如果你选择了转发本篇内容、建议留下对本文章的意见和需要改进的地方;
如果你选择了收藏本篇内容、建议添加关注不迷路!
(本人是公司在职人员,空闲时间整理测试理论更新,所以内容更新比较慢。请理解!)
上一篇文章说到测试方法按照测试执行阶段分为黑盒测试、白盒测试和灰盒测试。
今天来讲黑盒测试的常用方法(在企业实际工作中应用得最多,重点理解并且掌握)
黑盒测试是编写测试用例的常见方法,主要方法:
等价类划分法:(常用,重点掌握)
等价类划分法是一种典型的黑盒测试用例设计方法,使用等价类划分,是将软件的输入域分为若干部分,然后从每个部分中选取少数具有代表性的数据进行测试,这样可以避免穷举产生的大量用例。
等价类是指某个输入域的子集合,在该子集合中,每个输入数据对于揭露软件中的错误都是等效的。简单地说,就是指输入该输入域中的某一个数据,如不能揭露被测对象中的缺陷,那么我们就说这个输入域中的所有数据都无法揭露该缺陷,反之亦然。
等价类划分一般划分为两种情况:有效等价类和无效等价类。
- 有效等价类:对需求规格说明而言,合理的、有效的输入数据构成的集合。
- 无效等价类:对需求规格说明而言,不合理的、无效的输入数据构成的集合。
因为软件不仅要能接收合理的数据,不合理的数据也需要做出正确响应,所以在设计测试用例时,两种等价类都需要考虑,这样的测试才能确保软件具有更高的可靠性。
根据需求规格说明书确定被测对象的输入域,进行等价类划分。等价类划分的标准,划分的子集必须是互不相交的,符合完备测试,避免出现冗余。
等价类划分法的划分原则,通常按照以下规则进行划分等价类:
1)如果规定输入的取值范围或个数时,则划分一个有效等价类和两个无效等价类。如:注册用户名的长度限制6~18个字符,6~18个字符是有效等价类,小于6个字符和大于18个字符则是两个无效等价类。
2)如果规定了输入的集合或规则必须要遵循的条件,则划分一个有效等价类,和一个无效等价类。如:注册用户名的格式要求必须以字母开头时,以字母开头是有效等价类,非字母开头则是无效等价类。
3)如果输入条件是一个布尔值,则划分为一个有效等价类和一个无效等价类。如:在注册用户时需要遵循协议或条款是否接受时,“接受”是有效等价类,“不接受”则是无效等价类。
4)如果输入条件是一组数据(枚举值),并且程序对每一个输入的值做不同的处理,则化为若干个有效等价类和一个无效等价类。如:网游中充值VIP等级(3个等价),对每个VIP的等级优惠不同,VIP1、VIP2、VIP3不同等级是三个有效等价类,不是VIP用户则是无效等价类。
5)如果输入条件规定了必须要遵循的某些规则下,则划分为一个有效等价类和若干个无效等价类(无效等价类需要从不同的角度去违反规则)。如:密码要求首位必须是大写字母的,首字母大写是有效等价类,首位小写字母的、首位为数字的或首位为特殊字符的则是无效等价类。
6)不是所有的等价类都有无效等价类。如性别的选择只有男或女两种。
案例解析
某网站的用户注册的需求说明,用户名为必填项,要求长度为6~18个字符,并由字母、数字、下划线组成,必须以字母开头,结尾必须是数字或字母,而且不区分大小写字母,重名账号不允许注册。密码为必填项,要求8~15个字符,首位必须是大写字母,而且区分大小写字母。确认密码,要求与密码输入一致。
根据上面需求说明,首先进行划分等价类。经过细化后并将有效等价类和无效等价类填入等价类划分设计表中,并进行编号。
根据覆盖的规则,将测试数据覆盖的有效和无效等价类编号填入表中。
最后根据上面的测试数据设计出对应的测试用例