《等价类划分》-有这篇就够了 - 知乎 (zhihu.com)
【如果有人看到这篇,可以直接去这个链接学习,下面只是我从中摘抄的。】
练习:测试用例方法----等价类划分法(黑盒)_以(一)某城市电话号码功能测试为例子,描述等价类划分原理以及测试用例设计的原-CSDN博客
一、设计测试用例的方法
①等价类划分法(黑盒测试最基本的方法)
针对穷举场景设计测试用例
1.基本概念
采用等价类划分法时,完全不用考虑程序内部结构,设计测试用例的唯一依据是软件需求规格说明书。
等价类又分为有效等价类和无效等价类。有效等价类和无效等价类都是使用等价类划分法设计用例时所必须的。因为被测程序若是正确的,就应该既能接受有效的输入,也能接受无效输入的考验。
划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合。
2.如何划分?
(基于字面上的需求划分的等价类)
2.1输入条件规定了取值范围
2.2规定了取值个数
2.3规定了输入值的集合
2.4规定了“必须是”
(细化等价类的依据是数据在内存或数据库中存储的类型)
一般对有效等价类数据应用,无效等价类数据一般不需要分别测正、负等
3.设计测试用例
step1:明确需求、
step2:划分等价类(有效/无效)、
step3:提取数据
编写测试用例-套用模板
Eg1:黑马练习1
Eg2(进一步完善Eg1)
黑马视频练习2:验证某城市电话号码正确性
分析:电话号码由三部分组成,区号、前缀码、后缀码。每个部分需要注意长度、类型、规则。
分析:区号按照长度、类型划分;前缀码需要注意有规则及为空的情况;后缀码也是按照长度、类型划分及为空的情况。注意用到控制变量法,比如前缀码的无效等价类,要么是长度不同类型相同(所以那里不一定要填一位数字,只要是非三位数的数字即可),要么是长度相同类型不同(三位数,不全都是数字)。
分析:这些数据不唯一呀,只要按照上一步的规则写。黑马此处讲解的无效等价类有8条,但我觉得是有9条(如果有大佬看到这里,欢迎指教)
我的想法是:到这里要把区号+前缀码+后缀码组合起来了。首先看到有效数据一列,区号有两种有效的情况,前缀码和后缀码有效数据都只有一个,所以把两个区号分别和前缀码、后缀码组合起来就好了(如图列出了详细组合) 其次看到无效数据一列,这里也是应该控制变量吧(?)区号、前缀码、后缀码只能任意一个取无效数据,其他两个应该从有效数据中选择再进行组合。而选取有效数据的时候,不必纠结有几个有效数据,所以此时当要选择区号的有效数据时,任选其一即可,视为一种情况。
tips:测试用例每次只覆盖1个无效等价类,是因为某些特定的输入错误检查可能会屏蔽或取代其他输入错误检查。
4.使用场景
有数据输入(编辑框)的地方,可以使用等价类划分法。例如用户登录、注册、新建、查询。
tips:不仅要针对输入域进行等价类划分,也应针对输出域进行等价类划分。
5.等价类划分优缺点
优点:等价类划分的测试用例设计方法减少了穷举法带来的大量测试用例,保证测试效果和测试效率,一般是有输入性需求的被测对象可以采用的方法;
缺点:输入与输入之间的关系考虑少,可能产生一些逻辑错误。还需要其他用例设计方法来补充测试。