|
|
# 边界测试规范
## 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. 安全考虑 - 边界测试的安全风险 - 敏感数据处理 - 测试数据保护
|