测试用例设计方法
等价划分法
等价类概念:在所有测试的数据中,具有某种共同特征的数据子集
等价类分为:1)有效等价类:满足需求的;2)无效等价类:不满足需求的
操作步骤
- 明确需求
- 确定有效和无效等价类
- 编写测试用例
案例
计算两个-99到99之间整数的和
【案例1】QQ账号:6-10位自然数
【案例2】某城市电话号码由三部分组成,分别是
地区码:空白或是3位数字
前缀:非’0‘且非’1‘开头的三位数字
后缀:4位数字
边界值分析法
案例:输入两个两位数之间整数的和
输入的参数值必须大于-100同时小于100的整数,边界条件设置错误:把>写成>=,把<写成了<=
【注意】有效数据和无效数据的分界点,往往作为程序员编写程序的判断点,是程序员容易犯错误的地方,意识测试人员重点测试的内容
边界范围
-
确定边界情况(输入或输出等价类的边界)
-
选取正好等于、刚刚好大于或刚刚好小于边界的值作为测试数据
-
上点:边界上的点(正好等于)
-
离点:距离上点最近的点
-
内点:范围内的点
-
对于闭区间,上点是有效数据,离点是无效数据
-
对于开区间,上点是无效数据,离点是有效数据
-
不管开和闭区间,内点都是有效数据
-
[20,30] 大于等于20小于等于30 闭区间 20和30是上点(有效数据) 25是内点 19和31是离点(无效数据)
(20,30) 大于20小于30 开区间 20和30是上点(无效数据) 25是内点 21和29是离点(有效数据)
操作步骤
- 明确需求
- 确定有效和无效等价类
- 确定边界值
- 编写测试用例
案例
【案例1】使用边界值法设计添加标题的测试用例
要求:标题长度>0 标题长度<=30
【案例2】QQ账号:6-10位自然数
判定表法
等价类划分法和边界值分析法都是着重考虑单个输入的输入条件,但是没有考虑输入条件的各种组合、输入条件与输出条件之间的相互制约关系。所以要使用判定表法才能解决。
- 多个输入、和多个输出,而且输入与输出之间有组合和依赖关系
- 判定表通常由四个部分组成
1、条件桩:列出了系统的所有输入,顺序无关
2、动作桩:列出了系统所有的输出结果,顺序无关
3、条件项:把条件桩中所有能出现的结果都罗列出来
4、动作项:根据不同条件项的组合产生的动作结果
注:判定表中贯穿条件项和动作项的一行就是一条规则
判定表的设计步骤
- 明确需求
- 画出判定表
- 先画条件桩
- 然后动作桩
- 罗列条件项的不同组合
- 根据条件项完成动作项
- 生成测试用例,判定表每条规则对应一条测试用例
案例
【案例1】订购单的检查,如果金额大于500元,又未过期,则发出批准单和提货单;
如果金额大于500,但过期了,则不发批准单与提货单;如果金额小于等于500元,则不论是否过期都发出批准单和提货单。在过期的情况下不论金额大小还需要发出通知单。
【案例2】如果想对文件进行修改,输入的第一列字符必须是A/B,第二列字符必须是一个数字,如果第一列字符不正确,则给出信息L,如果第二列字符不正确,则给出信息M。
因果图法
因果图的核心
-
因、果
1、因果图的“因”——输入条件
2、因果图的“果”——输出结果
什么是因果图法
- 用图解的方法表示输入的各种组合关系
- 适用范围:分析程序输入条件的各种组合情况,以及输入与输出之间的依赖关系
因果图法中的基本符号
通常在因果图中用C表示原因,用E表示结果
基本步骤
- 明确需求
- 画出因果图
- 将因果图转换为判定表
- 根据判定表写测试用例
正交法
- 案例:字符属性设置程序需求:
窗体中有多个控件(字体、字符样式、颜色、字号),每个控件有多个取值
字体:仿宋、楷体、华文彩云
字符样式:粗体、斜体、下划线
颜色:红色、绿色、蓝色
字号:20号、30号、40号
如何设计测试用例?
在测试时,要考虑这些控件的组合情况,组合量非常大
由于组合量太大,不可能为每一种组合都创建测试用例。如何采用最少的测试用例集合获得最大的测试覆盖率——采用正交排列法
正交排列法
能够使用最小的测试过程集合获得最大的测试覆盖率
- 适用范围:当可能的输入数据火输入数据的组合数量很大时,由于不可能为每个输入组合都创建测试用例,可以采用这种方法
- 特点:均匀分散、齐整可比
正交表概念
- L n ( m k ) L_n(m^k) Ln(mk)
- n表示行数
- k是表的列数
- m是列的取值个数
如: L 9 ( 3 4 ) L_9(3^4) L9(34)
有4个列,每个列有3个取值,9为列的组合个数,叫4因素3水平
设计步骤
- 明确需求
- 画出正交表 (先确定列数;确定正交表每列的取值个数;根据因素和水平可以确定行数)
- 写出测试用例 (正交表的一行代表一个测试用例)
案例
【案例1】字符属性设置程序
窗体中有多个控件(字体、字符样式、颜色、字号),每个控件有多个取值
字体:仿宋、楷体、华文彩云
字符样式:粗体、斜体、下划线
颜色:红色、绿色、蓝色
字号:20号、30号、40号
【案例2】用户筛选
假设有一个用户筛选功能,有三个输入分别是体型、年龄段、性别,体型有三个取值(胖、适中、瘦),年龄段有三个取值(老人、青年、儿童),性别有两个取值(男、女 ),请设计测试用例。
场景法
- 用流程图描述用户的使用场景
- 用覆盖流程路径来设计测试用例
- 从流程图开始到结束,有几条路就是几个路径
- 一个路径对应条测试用例
设计步骤
- 明确需求
- 画出流程图
- 编写测试用例
错误推测法(了解即可)
利用直觉和经验猜测出出错的可能类型,是测试经验丰富的测试人员喜欢使用的一种测试用例设计方法
-
基本思想
-
列举出可能犯的错误或易发生的清单,然后根据清单编写测试用例
-
这种方法很大程度上是凭经验进行的
-
-
使用场景
- 项目紧任务急、时间不够
- 所有正常测试结束后,通过错误推测法在测试一些之前出过问题的模块
说明:内容来源b站黑马程序员软件测试基础教程视频