软件测试基础概念篇(用例书写方法)
一、等价类划分法
- 步骤
1、明确需求
2、确定有效和无效等价类
3、提取数据编写
- 原则
1、一条数据尽可能多的覆盖有效等价类
2、一条数据只覆盖一个无效等价类
3、一个分类中只取一组数据
案例一
- 需求
验证QQ的合法性
6~10位自然数
案例⼆ 验证某城市电话号码正确性
- 需求
1. 区号:空或者是三位数字
2. 前缀码:⾮“0”且⾮“1”开头的三位数字
3. 后缀码:四位数字
总结- 应⽤场景
针对:需要有⼤量数据测试输⼊,但是没法穷举测试的地⽅。
- 输⼊框
- 下拉列表
- 单选复选框
典型代表:⻚⾯级的输⼊框类测试。
注意点: 实际⼯作中,等价类 和 边界值是结合使⽤的
二、边界值
- 说明
-99,99
上点: 边界上的点
离点: 离边界最近的点(刚好⼤于, 刚好⼩于)
内点: 范围内的点
特殊说明: 以上案例中 -98 和 98 可以称为 离点, 也可以称为 内点, 但⼀般都称为 离点,内点的选择,尽量中间的值
- 步骤
1. 明确需求
2. 确定有效和⽆效等价类
3. 确定边界范围值 (上点/离点/内点)
4. 提取数据编写测试⽤例
- 注意
1, 使⽤边界值 最多可以获取 7 条⽤例(未优化)
2, 边界值只能解决 数字边界的问题,即位数的问题, 不能解决类型的问题(依靠等价类 解决)
案例一
需求:通过边界值法验证 标题⻓度的合法性
要求:标题⻓度⼤于0,⼩于等于30个字符
案例 ⼆ 验证 QQ 账号
需求:通过边界值法验证QQ号码的合法性
要求:6~10位⾃然数
优化
- 基本概念介绍
开区间 (6, 10) 不包含 6 和 10 , 即 ⼤于 6 ⼩于 10, 7 8 9
> 6 并且 < 10
>= 7 并且 <= 9
有测试6 7 , 6 不满⾜要求, 5 ⾃然也不满⾜, 可以不测,
闭区间 [6, 10] 包含 6 和 10 , 即⼤于等于 6 ⼩于等于
10, 6 7 8 9 10
>= 6 并且 <= 10
> 5 并且 < 11
测试 5 6, 6 满⾜条件, 7 ⾃然也满⾜
- 结论
1, 使⽤边界值最多书写 7 条⽤例
2, 优化之后, 将 7 个⽤例变为 5 个⽤例(优化两个离点)
- 方案
上点: 2 个, 必选
内点: 1 个, 必选(建议在中间范围选取⼀个数字)
离点: 4 个 ---> 2 个, 刚好⼤于 和刚好⼩于, 开内闭
外(如果是开区间(),选择内部的离点, 如果是闭区间[],选择
外部的离点) (6, 10)
⼤于 6, ⼩于 10, 离点 5 7 9 11 , 根据优化原则选取的
离点为: 7 9
总结- 使⽤场景
在等价类的基础上针对有边界范围的测试数据输⼊的地⽅(重点关注边界)
常⻅词语描述:⼤⼩、尺⼨、重量、最⼤、最⼩、⾄多、⾄少等修饰词语
典型代表:有边界范围的输⼊框类测试(⻓度)
⾯试问题:
书写测试⽤例的策略是什么?
使⽤什么⽅法书写测试⽤例?
等价类 + 边界值
三、判断表
1. 每个条件的取值为 是(1) 否(0)
2. 如果有 n 个 条件 (组合的情况有 N个 2 相乘)
- 步骤
1、明确需求
2、画出判定表
1)、列出条件桩和动作桩
2)、填写条件项,对条件进⾏全组合
3)、根据条件项的组合确定动作项
4)、简化、合并相似规则(有相同的动作)
3、根据规则编写测试⽤例
案例 - 订购单检查
规则:
1)、如果⾦额⼤于500元,⼜未过期,则发出批准单和提货
单;
2)、如果⾦额⼤于500元,但过期了,则不发批准单与提货
单;
3)、如果⾦额⼩于等于500元,则不论是否过期都发出批准
单和提货单;
4)、在过期的情况下不论⾦额⼤⼩还需要发出通知单。
---------
条件: ⾦额⼤于 500/ 过期
动作: 发批准单, 发提货单/ 发通知单