115 lines
3.2 KiB
Markdown
115 lines
3.2 KiB
Markdown
---
|
||
title: 测试设计方法
|
||
date: 2020-02-14 14:22:04.0
|
||
updated: 2023-02-15 13:51:29.533
|
||
url: /archives/测试设计方法
|
||
categories:
|
||
- 软件测试
|
||
tags:
|
||
- 测试基础
|
||
---
|
||
|
||
# 测试设计方法
|
||
## 等价类和边界值
|
||
- 有效等价类
|
||
- 正确的、有意的、合理的输入
|
||
- 无效等价类
|
||
- 错误的、无意义的、非法的输入
|
||
|
||
### 划分原则
|
||
如果输入(输出)是一个取值范围,则划分成一个有效等价类和无效等价类
|
||
```
|
||
举例1:某招聘系统需要18~65周岁的员工(包含18~65)
|
||
一个有效等价类:18~65(25,35,64)
|
||
两个无效等价类:
|
||
>65(79,100)
|
||
<18(12,8)
|
||
|
||
举例2:身份证号码验证
|
||
一个有效等价类:18位
|
||
两个无效等价类:
|
||
>18位
|
||
<18位
|
||
```
|
||
|
||
如果输入(输出)是一个集合或者必须如何的条件,则划分成一个有效等价类和一个无效等价类
|
||
```
|
||
举例1-集合:ZX04期学员在4号直播间上课
|
||
一个有效等价类:ZX04期学员
|
||
一个无效等价类:非ZX04期学员
|
||
举例2-必须如何的条件:语句必须以“;”结尾
|
||
一个有效等价类:以“;”结尾
|
||
一个无效等价类:以其他符号结尾
|
||
```
|
||
|
||
如果输入(输出)是一个布尔量,则划分成一个有效等价类和一个无效等价类
|
||
```
|
||
布尔量:逻辑正好相反的两个值(true,false)
|
||
举例1-布尔量:卫生间(男卫生间;女卫生间)
|
||
男卫生间:
|
||
一个有效等价类:男士
|
||
一个无效等价类:女士
|
||
女卫生间:
|
||
一个有效等价类:女士
|
||
一个无效等价类:男士
|
||
```
|
||
|
||
如果输入(输出)已经划分好有效无效等价类,针对有效等价类不同的值处理方式或者结果不一样,要细分成多个有效等价类和一个无效等价类
|
||
```
|
||
举例1-细分:某家公司发放年终奖,试用期满的员工可以享受年终奖,不满一年的员工享受
|
||
0.5个月工资,满一年未到三年的享受2个月工资,满三年未到五年的享受4个月工资,满五年
|
||
未到八年享受6月工资,满八年及以上享受10个月的工资
|
||
无效等价类:试用期未满的员工
|
||
有效等价类:试用期满的员工(细分)
|
||
未满一年
|
||
满一年未到三年
|
||
满三年未到五年
|
||
```
|
||
|
||
如果输入(输出)要同时满足多个条件,则划分成一个有效等价类和多个无效等价类。
|
||
```
|
||
举例1-多个条件:qq密码修改要在6~16位,首字符大写字母,包含大小写字母和数字
|
||
一个有效等价类:所有条件都满足
|
||
多个无效等价类:
|
||
<6位;
|
||
>16位;
|
||
不包含小写字母;
|
||
不包含数字;
|
||
首字符非大写字母。
|
||
|
||
```
|
||
|
||
### 等价类划分法的使用步骤
|
||
```
|
||
步骤1:将需求规格说明书划分成需求子片段;
|
||
步骤2:分析划分的需求子片段,找出输入条件;
|
||
步骤3:分析每个输入条件,结合等价类划分原则划分等价类;
|
||
步骤4:为划分好的等价类进行编号防止测试的遗漏;
|
||
步骤5:从划分好的等价类中选取代表数据进行测试,直到所有的等价类全部被覆盖到(一条
|
||
测试用例尽量覆盖多个有效等价类,一条测试用例只覆盖一个无效等价类)
|
||
步骤6:结合测试用例编写规范(参照通用测试用例8大要素)生成测试用例
|
||
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|