测试方法
学习目标:
1、能对穷举场景设计测试点---等价类划分法
2、能对限定边界规则设计测试点---边界值分析法
3、能对多条件依赖关系进行设计测试点---判定表法
4、能对项目业务进行设计测试点
一、等价类划分法
1、说明:在所有的测试数据中,具有某种共同特征的数据集合进行划分
分类:
-
等价类:满足需求的数据集合
-
无效等价类:不满足需求的数据集合
2、步骤:
-
1、明确需求
-
2、确定有效和无效等价类
-
3、提取数据编写测试用例
案例:
2-1需求:验证QQ账号的合法性
要求:6~10位自然数
2-2 需求:验证某城市电话号码正确性
要求:
1、区号:空或者三位数字
2、前缀码:非‘0’且非‘1’开头的三位数字
3、后缀码:四位数字
重点:
正向用例:一条尽可能覆盖多条
逆向用例:每一条数据,都是一条单独用例。
3、等价类的应用场景:
针对:需要有大量数据测试输入,但是没法穷举测试的地方
-
输入框
-
下拉列表
-
单选复选框
典型代表:页面的输入框类型测试
友情提示:完整的用例应该是等价类和边界值一块写
二、边界值分析法
使用边界值解决边界位数限制问题
1、边界范围节点
选取正好等于、刚好大于、刚好小于边界的值作为测试数据
-
上点:边界上的点
-
离点:距离上点最近的点(刚好大于、刚好小于)
-
内点:范围内的点(区间范围内的数据)
凡是在什么范围内的测试需求,最多7条用例
2、边界值法设计用例步骤
-
明确需求
-
确定有效和无效等价类
-
确定边界范围值
-
提取数据编写测试用例
注意:
1、有关范围限制,最多7条用例
2、边界值能解决位数限制问题,但是不能解决类型问题(要结合等价类)
3、边界值法案例
练习1、
需求:通过边界值法验证标题长度的合法性
要求:标题长度大于0,小于等于30个字符
练习2、
需求:通过边界值法验证QQ号码的合法性
要求:6~10位自然数
4、边界值法优化
结论:7个优化为5个点
上点:必选(2)
内点:必选(1)
离点:开内闭外(考虑开闭区间,开区间选择包含的离点,闭区间选择不包含的离点 2)
10<a<=20 ----> (10,20]
开区间:不包含(没有等号)边界上的点,如a<10
闭区间:包含边界上的点(有等号),如a<=10
5、使用场景
-
在等价类的基础上针对有边界范围的测试数据输入的地方(重点关注边界)
-
常见词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰词语
-
典型代表:有边界范围的输入框类测试
强调:单个输入框,常用的方式 边界+等价类
面试题:最常用的用例设计方法有哪些 等价类和边界值法
三、判定表法
1、判定表法的引用
案例:验证“若用户欠费或者关机,则不允许主被叫”功能的测试
说明:
-
等价类和边界值分析法主要关注单个输入类条件的测试
-
并未考虑输入条件之间的各种组合、输入条件与输出条件之间有相互制约关系的测试(依赖)
前提条件:有依赖关系
2、判定表定义及组成部分
定义:是一种以表格形式表达多条件逻辑判断的工具
组成:
-
条件桩:列出问题中的所有条件,列出条件的次序无关紧要
-
动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束
-
条件项:列出条件对应的取值,所有可能情况下的真假值
-
动作项:列出条件项的各种取值情况下应该采取的动作结果
条件 | 是否欠费 | 是 | 是 | 否 | 否 |
---|---|---|---|---|---|
条件 | 是否关机 | 是 | 否 | 是 | 否 |
操作 | 是否允许主被叫 | 否 | 否 | 否 | 是 |
规则:
判定表中贯穿条件项和动作项的一列就是规则
假设有n个条件,每个条件的取值有两个(0,1),全组合有2的n次方种规则
3、判定表法设计用例步骤
-
明确需求
-
画出判定表
1、列出条件桩和动作桩
2、填写条件项,对条件进行全组合
3、根据条件项的组合确定动作项
4、简化、合并相似规则
-
根据规则编写测试用例
4、案例
1、需求:
(1)如果金额大于500元,又未过期,则发出批准单和提货单
(2)如果金额大于500元,但过期了,则不发出批准单和提货单
(3)如果金额小于等于500元,则不论是否过期都发出批准单和提货单
(4)在过期的情况下不论金额大小还需要发出通知单
2、需求
(1)输入的第一列字符必须是A或B
(2)第二列字符必须是一个数字
(3)如果第一列字符不正确,则给出信息L
(4)如果第二列字符不正确,则给出信息M
(5)如果两列字符输入正确,则修改文件成功
5、使用场景
-
有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖(制约)关系
-
判定表一般适用于条件组合数量较少的情况(比如4个条件以内)
如果依赖关系超过4个,就不适合判定表法,可以使用正交法!