7种常见的黑盒测设用例设计方法,分别是等价类、边界值、错误猜测法、场景设计法、因果图、判定表、正交排列。
(一)等价类
1.概念
依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。
2.分类
有效等价类:满足用户需求
无限等价类:不满足用户需求
3.设计步骤
①充分理解需求;
②划分有效等价类、无效等价类;
③分别从有效等价类、无效等价类中各抽取其中一个数据进行测试用例设计。
4.设计测试用例
题目:针对6-15位长度设计测试用例
设计:
(二)边界值
1.概念
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法,通常情况下搭配等价类使用,其测试用例来自等价类的边界。
2.边界点
上点:边界上的点
内点:边界内的点
离点:边界值附近的两个点------闭区间(区间外 距上点最近的点)------开区间(区间内距上点最近的点)
举例:
3.设计步骤
①充分理解需求;
②找边界点;
③针对边界点设计测试用例
4.设计测试用例
题目:注册邮箱的软件用户名要求长度为6-15位
设计:
(三)错误猜测法
1.概念
对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。
2.优缺点
优点:能评判出一个测试人员的能力和经验。
缺点:过度依赖个人能力,难以系统化。
3.设计测试用例
题目:注册一个邮箱
设计:
1、校验中特殊字符空格的处理?
2、密码校验中的大小写?
3、姓名中的特殊字符?
4、密码发送是否明文
(四)场景设计法
1.概念
通俗的说是用"事件流"设计场景测试用例,该方法可以比较生动地描绘出事件触发时的情景,使测试用例更容易理解和执行。
2.设计步骤
①充分理解需求;
②确定主事件流;
③确定次事件流;
④主事件流和次事件流产生出来的事件就是测试用例。
3.设计测试用例
场景/题目:ATM机取款
设计:
(五)因果图
1.概念
是一种简化了的逻辑图,能直观地表明程序输入条件(原因)和输出动作(结果)之间的相互关系。
2.基本要素
与:一假且假,全真为真
或:一真且真,全假为假
恒等:真为真,假为假
非:真为假,假为真
3.设计步骤
①分析所有可能的输入和可能的输出;
②找出输入与输出之间的对应关系;
③画出因果图;
⑤把因果图对应到每一个测试用例。
4.设计测试用例
题目:"淘宝618活动,订单已提交,订单合计金额大于300元或有红包,则有优惠"。
设计:①输入:订单已提交、金额大于300、有红包
输出:优惠、不优惠。
②对应关系:2*2*2
③画因果图:设计标注1:订单已提交 2:订单金额大于300元 3:有红包 21:优惠 22:不优惠
(六)判定表
1.概念
数据是一张表来体现的,表里面有:输入(条件)、输出(结果)、关系(恒等、或、与、非)。
2.设计步骤
①分析所有可能的输入和可能的输出;
②找出输入与输出之间的对应关系;
③画出判定表。
⑤把判定表对应到每一个测试用例。
3.设计测试用例
题目:"淘宝618活动,订单已提交,订单合计金额大于300元或有红包,则有优惠"。
设计:①输入:订单已提交、金额大于300、有红包
输出:优惠、不优惠。
②对应关系:2*2*2
③画判定表:设计标注1:订单已提交 2:订单金额大于300元 3:有红包 21:优惠 22:不优惠
(七)正交排列
1.概念
是研究多因素多水平的一种设计方法,由试验因素的全部水平组合中挑选出部分有代表性的点进行试验,找出最优的水平组合。 正交试验设计是一种基于正交表的、高效率、快速、经济的试验,解决了判定表用力太多的问题。
2.基本要素
因素(Factor) :在一项试验中,凡欲考察的变量称为因素**(变量)
水平(位级)(Level)** :在试验范围内,因素被考察的值称为水平**(变量的取值)**
3.正交表构成
行数(Runs) :正交表中的行的个数,即试验的次数 ,用N代表。
因素数(Factors) :正交表中列的个数,用C代表。
水平数(Levels):任何单个因素能够取得的值的最大个数,用T代表。
正交表的表示形式:L=行数(水平数*因素数)
4.性质
每一列中各数字出现的次数都一样多。
任何两列中的各有序数对出现的次数都一样多。
5.设计测试用例步骤
1、有哪些因素(变量)
2、每个因素有哪几个水平(变量的取值)
3、选择一个合适的正交表
4、把变量的值映射到表中
5、把每一行的各因素水平的组合作为一个测试用例
6、加上你认为可疑且没有在表中出现的用例组合
6.设计测试用例
题目:注册邮箱
设计:
1、因素:姓名、邮箱、密码、确认密码、验证码
2、水平:填写、不填写
3、表中的因素数=5;
表中至每个因素数的水平数=2
行数取最少的一个,即试验次数最少的一个
L=N(TC)=(2-1)*5+1=6(25) N=Cx(T-1)+1
L=6(25)
N试验次数
T水平数
C因素数
选择正交表,这里选择了L6_2_5。正交表不是随便选择的,而是设计好的
4、生成测试用例
思路:因素取值为填写时:正交按取值个数5-3-2-1(5已全了,3,2,1任意排列)进行排列,实验次
数不够用取值为填写个数为2或3任意组合,但要满足正交的二条性质。