目录
目标
- 能使用等价类划分法设计测试点
- 能对限定边界规则设计测试点
一、等价类划分法
1.1介绍一下概念:
单功能测试:软件程序或应用程序只提供一项核心功能或特性,而不包含其他附加功能
等价类划分法:一种用少量数据获得较好测试效果的工具
1.2步骤:
①划分有效等价类:满足需求的数据集合
②划分无效等价类:不满足需求的数据集合
③每类中选取代表数据
1.3案例
某web项目的一个账号登录界面,如下图所示
包含账号、密码和图片验证码
需求:
①账号:必填,已注册的手机号或邮箱
②密码:必填,注册账号的密码
③图片验证码:正确切未过期
我们可以使用XMind来提取测试数据,如图所示
接着,正式提取测试数据(组合)
原则:
- 多个选项有效数据组合应用
- 单个选项无效数据组合其他选项有效数据应用
有点类似与单一变量原则
用例编号 | 用例标题 | 项目 / 模块 | 优先级 | 前置条件 | 测试步骤 | 测试数据 | 预期结果 |
---|---|---|---|---|---|---|---|
Login_001 | 登录成功(有效手机号 + 有效密码 + 有效验证码) | 账号登录 | P0 | 已注册手机号,验证码未过期 | 1. 打开登录界面 2. 输入已注册手机号 3. 输入有效密码 4. 输入有效验证码 5. 点击登录按钮 | 手机号:13800138000 密码:Password123 验证码:123456 | 成功登录系统 |
Login_002 | 登录成功(有效邮箱 + 有效密码 + 有效验证码) | 账号登录 | P0 | 已注册邮箱,验证码未过期 | 1. 打开登录界面 2. 输入已注册邮箱 3. 输入有效密码 4. 输入有效验证码 5. 点击登录按钮 | 邮箱:test@example.com 密码:Password123 验证码:123456 | 成功登录系统 |
Login_003 | 登录失败(账号为空 + 有效密码 + 有效验证码) | 账号登录 | P1 | 已注册账号,验证码未过期 | 1. 打开登录界面 2. 账号输入框留空 3. 输入有效密码 4. 输入有效验证码 5. 点击登录按钮 | 账号:(空) 密码:Password123 验证码:123456 | 提示 “账号不能为空”,登录失败 |
Login_004 | 登录失败(手机号未注册 + 有效密码 + 有效验证码) | 账号登录 | P1 | 未注册该手机号,验证码未过期 | 1. 打开登录界面 2. 输入未注册手机号 3. 输入有效密码 4. 输入有效验证码 5. 点击登录按钮 | 手机号:13800138001 密码:Password123 验证码:123456 | 提示 “该手机号未注册”,登录失败 |
Login_005 | 登录失败(邮箱未注册 + 有效密码 + 有效验证码) | 账号登录 | P1 | 未注册该邮箱,验证码未过期 | 1. 打开登录界面 2. 输入未注册邮箱 3. 输入有效密码 4. 输入有效验证码 5. 点击登录按钮 | 邮箱:nottest@example.com 密码:Password123 验证码:123456 | 提示 “该邮箱未注册”,登录失败 |
Login_006 | 登录失败(注册手机号 + 空密码 + 有效验证码) | 账号登录 | P1 | 已注册账号,验证码未过期 | 1. 打开登录界面 2. 输入已注册手机号 3. 密码输入框留空 4. 输入有效验证码 5. 点击登录按钮 | 手机号:13800138000 密码:(空) 验证码:123456 | 提示 “密码不能为空”,登录失败 |
Login_007 | 登录失败(注册手机号 + 密码错误 + 有效验证码) | 账号登录 | P1 | 已注册账号,验证码未过期 | 1. 打开登录界面 2. 输入已注册手机号 3. 输入错误密码 4. 输入有效验证码 5. 点击登录按钮 | 手机号:13800138000 密码:WrongPassword 验证码:123456 | 提示 “密码错误”,登录失败 |
Login_008 | 登录失败(注册手机号 + 有效密码 + 空验证码) | 账号登录 | P1 | 已注册账号,验证码未过期 | 1. 打开登录界面 2. 输入已注册手机号 3. 输入有效密码 4. 验证码输入框留空 5. 点击登录按钮 | 手机号:13800138000 密码:Password123 验证码:(空) | 提示 “验证码不能为空”,登录失败 |
Login_009 | 登录失败(注册手机号 + 有效密码 + 错误验证码) | 账号登录 | P1 | 已注册账号,验证码未过期 | 1. 打开登录界面 2. 输入已注册手机号 3. 输入有效密码 4. 输入错误验证码 5. 点击登录按钮 | 手机号:13800138000 密码:Password123 验证码:654321 | 提示 “验证码错误”,登录失败 |
Login_010 | 登录失败(注册手机号 + 有效密码 + 验证码过期) | 账号登录 | P1 | 已注册账号,验证码已过期 | 1. 打开登录界面 2. 输入已注册手机号 3. 输入有效密码 4. 输入过期验证码 5. 点击登录按钮 | 手机号:13800138000 密码:Password123 验证码:(过期的验证码) | 提示 “验证码过期”,登录失败 |
二、解决边界限制问题
说明:使⽤边界值解决边界位数限制问题。
1.1介绍三个概念:
- 上点:边界上的点(绿色)
- 离点:离边界最近的点(黄色)
- 内点:范围内的点(蓝色)
1.2 步骤
①明确需求
②确定有效和⽆效等价
③确定边界范围
④提取数据编写⽤例
1.3 案例
需求:通过边界值法验证QQ号码的合法性
要求:6~10位自然数
我们可以根据上点、离点和内点做以下用例
用例编号 | 用例标题 | 项目 / 模块 | 优先级 | 前置条件 | 测试步骤 | 测试数据 | 预期结果 |
---|---|---|---|---|---|---|---|
qq_001 | 不合法(8 位非自然数) | P1 | 打开 qq 验证程序 | 1、输入 qq 2、点击验证按钮 | 1234567a | 不合法 | |
qq_002 | 合法(6 位自然数) | P0 | 打开 qq 验证程序 | 1、输入 qq 2、点击验证按钮 | 123456 | 合法 | |
qq_003 | 合法(10 位自然数) | P0 | 打开 qq 验证程序 | 1、输入 qq 2、点击验证按钮 | 123456789 | 合法 | |
qq_004 | 不合法(5 位自然数) | P1 | 打开 qq 验证程序 | 1、输入 qq 2、点击验证按钮 | 12345 | 不合法 | |
qq_005 | 合法(7 位自然数) | P0 | 打开 qq 验证程序 | 1、输入 qq 2、点击验证按钮 | 1234567 | 合法 | |
qq_006 | 合法(9 位自然数) | P0 | 打开 qq 验证程序 | 1、输入 qq 2、点击验证按钮 | 123456789 | 合法 | |
qq_007 | 不合法(11 位自然数) | P1 | 打开 qq 验证程序 | 1、输入 qq 2、点击验证按钮 | 12345678901 | 不合法 | |
qq_008 | 合法(8 位自然数) | P0 | 打开 qq 验证程序 | 1、输入 qq 2、点击验证按钮 | 12345678 | 合法 |
接下来,我们将用例进行优化(7点到5点)
- 上点:必选(不考虑区间的开或闭情况)。
- 内点:必选(建议选取中间范围的值)。
- 离点:遵循 “开内闭外” 原则(对于开区间,选择内部的离点;对于闭区间,选择外部的离点)。
上面验证QQ号码的合法性 [6,10] ,我们选择的点为:6,8,10,5,11。
下面,我们再来做三个小练习巩固一下边界值分析:
[10,50) | 边界:10,50,35,9,49 |
(30,50) | 边界:30,40,50,31,49 |
(12,80] | 边界:12,50,80,13,81 |