|
|
# 边界测试规范
## 1. 基本原则
- 边界测试是验证系统在边界条件下行为的重要手段 - 必须覆盖所有参数的边界值场景 - 关注数据类型的限制和转换 - 验证系统对边界值的处理和错误响应
## 2. 数据类型边界测试
### 2.1 字符串类型
| 测试场景 | 测试值 | 预期结果 | |---------|--------|----------| | 空字符串 | "" | 验证是否允许空字符串 | | 最小长度边界 | 最小长度-1, 最小长度, 最小长度+1 | 验证长度限制 | | 最大长度边界 | 最大长度-1, 最大长度, 最大长度+1 | 验证长度限制 | | 特殊字符 | 空格、换行、制表符、emoji等 | 验证特殊字符处理 | | SQL注入字符 | ', ", \, % | 验证SQL注入防护 | | XSS字符 | <script>, <img>, javascript: | 验证XSS防护 |
### 2.2 数值类型
| 测试场景 | 测试值 | 预期结果 | |---------|--------|----------| | 零值 | 0 | 验证零值处理 | | 正负值 | -1, 1 | 验证正负值处理 | | 最小值边界 | 最小值-1, 最小值, 最小值+1 | 验证范围限制 | | 最大值边界 | 最大值-1, 最大值, 最大值+1 | 验证范围限制 | | 小数位数 | 0.1, 0.01, 0.001 | 验证精度处理 | | 科学计数 | 1e5, 1e-5 | 验证科学计数法 |
### 2.3 布尔类型
| 测试场景 | 测试值 | 预期结果 | |---------|--------|----------| | 标准值 | true, false | 验证标准布尔值 | | 等价值 | 1, 0, "true", "false" | 验证等价值处理 | | 非法值 | null, undefined, "" | 验证非法值处理 |
### 2.4 日期时间类型
| 测试场景 | 测试值 | 预期结果 | |---------|--------|----------| | 标准格式 | YYYY-MM-DD HH:mm:ss | 验证标准格式 | | 特殊日期 | 闰年、月底、跨年 | 验证特殊日期处理 | | 时区处理 | UTC、本地时间、跨时区 | 验证时区转换 | | 非法格式 | 错误格式、非法日期 | 验证错误处理 |
### 2.5 数组/列表类型
| 测试场景 | 测试值 | 预期结果 | |---------|--------|----------| | 空数组 | [] | 验证空数组处理 | | 单元素 | [element] | 验证单元素处理 | | 最大长度 | 最大长度-1, 最大长度, 最大长度+1 | 验证长度限制 | | 元素类型 | 混合类型数组 | 验证类型处理 | | 重复元素 | [1,1,1] | 验证重复处理 |
## 3. 业务场景边界测试
### 3.1 用户权限边界
- 无权限用户访问 - 权限边界用户访问 - 权限变更边界 - 多角色权限交叉
### 3.2 数据状态边界
- 初始状态操作 - 终态操作 - 状态切换边界 - 并发状态变更
### 3.3 业务规则边界
- 业务规则最小值 - 业务规则最大值 - 业务规则组合边界 - 业务规则冲突
## 4. 性能边界测试
### 4.1 并发边界
- 单用户最大并发 - 系统最大并发 - 并发超时处理 - 并发锁处理
### 4.2 数据量边界
- 最小数据量 - 最大数据量 - 数据增长边界 - 数据清理边界
### 4.3 响应时间边界
- 最大响应时间 - 超时处理 - 重试边界 - 熔断边界
## 5. 测试实施要求
### 5.1 测试用例设计
1. 每个参数必须包含边界值测试 2. 重点关注参数组合的边界场景 3. 设计正向和反向测试用例 4. 关注异常处理和错误提示
### 5.2 测试执行要求
1. 边界测试优先级不低于功能测试 2. 自动化测试必须包含边界测试 3. 回归测试必须包含边界测试 4. 记录所有边界测试结果
### 5.3 问题处理要求
1. 边界问题优先级评估 2. 详细记录边界问题场景 3. 验证修复后的边界场景 4. 更新相关测试用例
## 6. 注意事项
1. 数据准备 - 准备各类型的边界值数据 - 保存边界测试数据集 - 定期更新测试数据
2. 测试环境 - 环境隔离性要求 - 数据清理要求 - 环境恢复要求
3. 安全考虑 - 边界测试的安全风险 - 敏感数据处理 - 测试数据保护
|