第二章:测试用例设计方法
2.4 判定表方法
判定表 :
- 以 表格的形式 来组合多个条件
- 通过判定表可以综合考虑多个条件的输入和输出结果之间的关系
案例:手机通话
条件:
- 是否欠费:欠费、不欠费
- 是否开机:开机、关机
条件组合
条件1:是否欠费 条件2:是否开机 结果
欠费 关机 不能通话
欠费 开机 不能通话
不欠费 关机 不能通话
不欠费 开机 能通话
转换为表格形式
概念:
- 条件桩:所有可能出现的条件,例如上例中,有两个条件:是否欠费、是否开机
- 动作桩:所有可能出现的值,例如上例中,有四个值:欠费、不欠费、开机、关机
- 条件项:这是条件桩中的一个或者多个
- 动作项:这是动作桩中的一个或者多个值
等价类:
- 有效
- 无效
在判定表中,表示有效和无效有两种表示方式
方式1:用字母表示
- 有效等价类:Y
- 无效等价类:N
方式2:用数字表示
- 有效等价类:1
- 无效等价类:0
基于判定表的方式设计测试用例的步骤
- 第一步:首先确定条件桩
- 第二步:确定动作桩
- 第三步:对条件桩进行组合
- 第四步:确定条件组合的结果
- 第五步:根据结果写测试用例
案例:手机通话
条件:
- 是否欠费:欠费、不欠费
- 是否开机:开机、关机
第一步:首先确定条件桩
- 是否欠费
- 是否开机
- 这里是有两个条件,那么就是在表格中写入两行内容,每行代表一个条件
第二步:确定动作桩
- 一共有四种动作,每个条件桩中有2个,一共有四个动作
- 欠费、不欠费
- 开机、关机
第三步:对条件桩进行组合
- 将每个条件的每个值都和另外一个条件的每个值进行组合
第四步:确定条件组合的结果
第五步:根据结果写测试用例
- 略
思考:条件数量,和测试用例的数量是什么关系
- 条件越多,得到的测试用例的数量越多
- 有两个条件的话,得到的测试用例数 2**2 = 4
- 有三个条件的话,得到的测试用例数 2**3 = 8
- 有四个条件的话,得到的测试用例数 2**4 = 16
2.5 因果图方法
- 作为了解的部分
- 以图形的方式来表示多个不同的条件/输入以及对应的最终结果的关系
- 也是一种黑盒测试方法
适用场景:
- 有多个输入条件的情况下
概念:
- 因:条件
- 果:结果
符号:
- 恒等,表示当条件成立的时候,结果成立;当条件不成立的时候,结果不成立
~ 相当于NOT,也就是逻辑非,表示当条件成立的时候,结果不成立;当条件不成立的时候,结果成立
v 相当于OR,也就是逻辑或,表示当多个条件中,有至少一个条件成立的时候,结果成立;当全部条件都不 成立的时候,结果不成立
^ 相当于AND,也就是逻辑与,表示多个条必须都成立,结果成立;当有任意一个条件不成立的时候,结果不 成立
结合因果图设计测试用例的步骤
- 第一步:分析需求
- 第二步:画因果图
- 第三步:将因果图转换为判定表
- 第四步:结合判定表写测试用例
案例:让用户输入内容,要求输入的第一个字符是数字5或7,第二个字符是字母
- 如果第一个字符不正确,输出结果L
- 如果第二个字符不正确,输出结果M
- 如果都正确,输出Q
绘制因果图
将因果图转换为判定表
2.6 正交方法
这种方法同样是用在多个输入和多个输出的情况
正交法:
- 本质上是用数学中的数据统计【统计学】中的方法进行测试。
- 通过正交法可以用少量测试用例来覆盖大多数的测试情况
概念:
- 因素【k】:表示的是输入的条件,每列是一个因素
- 水平【m】:表示的是输入的条件所得到的结果,表格中的每个小格是一个结果
- n:测试用例数
- 表示正交表的:k因素m水平,例如5因素3水平
基于正交表法设计测试用例的步骤
- 第一步:需求分析
- 第二步:确定因素和水平【其实就是找有几个输入和几个结果】
- 第三步:根据因素和水平的数量,确定选择哪个正交表
- 第四步:将具体的值替换掉正交表中的内容
- 第五步:根据正交表写测试用例
案例1:设置字体属性
- 字体:仿宋、楷体、微软雅黑
- 字符样式:粗体、斜体、下划线
- 颜色:红色、黑色、蓝色
- 字号:20号、30号、40号
第一步:需求分析
- 要测试4个内容,也就是有4个输入
第二步:确定因素和水平【其实就是找有几个输入和几个结果】
- 有4个输入,就是有4个条件,也就是有4个因素
- 每个因素都有三种结果,那么就是3水平
结论:4因素3水平
第三步:根据因素和水平的数量,确定选择哪个正交表
第四步:将具体的值替换掉正交表中的内容
- 字体: 仿宋(1)、 楷体(2)、 微软雅黑(3)
- 字符样式:粗体(1)、 斜体(2)、 下划线(3)
- 颜色: 红色(1)、 黑色(2)、 蓝色(3)
- 字号: 20号(1)、 30号(2)、 40号(3)
第五步:根据正交表写测试用例
- 正交表中的每一行,都是一个测试用例
- 略
用工具生成正交表
2.7 场景法
- 又称为流程图法,用图形的方式来表示测试的条件和输出的结果
- 概念:模拟用户对软件进行操作的场景
- 这种方法更合适测试多个模块
适合用在测试过程中的哪个阶段?
- 集成测试
- 系统测试
- 验收测试
基于场景法设计测试用例的步骤
- 第一步:分析需求
- 第二步:绘制流程图
- 第三步:根据流程图写测试用例
流程图中的符号
绘图软件:
- visio
- 亿图
案例:电商平台购物流程
购物过程包括
- 1. 注册
- 2. 登陆
- 3. 商品列表
- 4. 购物车
- 5. 付款
- 6. 订单管理
流图图如下
设计测试用例
流程图中的一条先就是一个测试用例
- 1 - 2 - 3 - 4 - 5 - 5.1 - 6
- 1 - 2 - 3 - 4 - 5 - 5.2 - 6
- 1 - 2 - 3 - 4 - 5 - 5.3 - 6
- 1 - 2 - 2 - 2
- 1 -2 - 2 - 3 - 4 - 5 - 5.1 - 6
- 1 -2 - 2 - 2 - 3 - 4 - 5 - 5.1 - 6
2.8 错误推断法
凭借经验来做的
原理就是根据同类型的软件的具有的bug,判定这个目标软件也有这个bug
使用场景:
- 时间、资源不充足情况才会是使用
- 使用这种方法,通常都是做初测
2.9 总结
- 等价类:测试的内容有输入功能,而且输入的内容之间没有关系
- 边界值:输入的内容有边界,有类型、大小、长度的要求
- 判定表/因果图:有多种输入的内容,而且有多种输出结果
- 正交法:测试的数据和条件特别多
- 场景法:整合测试多个功能,需要使用场景法
- 错误推断法:时间、资源补充足;仅仅需要做初测