Browse Source

Initial commit: Adding test standards documentation

master
kk 6 hours ago
commit
7a25bfab6a
  1. 51
      README.md
  2. 131
      boundary_test_standard.md
  3. 58
      response_code_standard.md
  4. 218
      test_case_writing_standard.md
  5. 135
      test_data_standard.md
  6. 121
      test_env_standard.md

51
README.md

@ -0,0 +1,51 @@
# 测试规范文档
本目录包含所有与测试相关的规范文档,用于指导测试用例的编写和执行。
## 文档列表
1. [测试用例编写规范](./test_case_writing_standard.md)
- 详细的测试用例编写指南
- 包含文档结构、内容规范、场景覆盖要求等
2. [响应码规范](./response_code_standard.md)
- 统一的响应码定义
- 错误码使用规范
- 响应码测试要求
3. [边界测试规范](./boundary_test_standard.md)
- 数据类型边界测试要求
- 业务场景边界测试
- 性能边界测试
- 测试实施要求
4. [测试环境规范](./test_env_standard.md)
- 环境分类和管理要求
- 环境准备和使用规范
- 监控和维护要求
- 应急处理流程
5. [测试数据管理规范](./test_data_standard.md)
- 测试数据基本原则
- 数据准备和使用规范
- 数据集管理要求
- 数据安全和维护
## 使用说明
1. 在编写测试用例前,请仔细阅读相关规范文档
2. 遵循规范中的要求和建议
3. 如发现规范需要更新或补充,请及时反馈
## 规范更新流程
1. 提出规范更新建议
2. 团队评审讨论
3. 确认并更新规范文档
4. 通知团队成员关注更新
## 文档维护
- 定期评审规范文档
- 根据实际需求更新规范
- 保持文档的实用性和时效性

131
boundary_test_standard.md

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

58
response_code_standard.md

@ -0,0 +1,58 @@
# 响应码规范
## 1. 基本原则
- 响应码 0 表示成功
- 非 0 响应码表示失败
- 响应码应当具有明确的业务含义
- 错误响应码应当与错误信息相对应
## 2. 响应格式
```json
{
"code": 0, // 响应码:0表示成功,非0表示失败
"message": "string", // 响应消息:成功或错误描述
"data": {} // 响应数据:成功时返回数据,失败时可能为null
}
```
## 3. 标准响应码定义
### 3.1 成功响应
| 响应码 | 说明 | 使用场景 |
|--------|------|----------|
| 0 | 成功 | 请求成功完成 |
### 3.2 错误响应
| 响应码 | 说明 | 使用场景 |
|--------|------|----------|
| 400 | 请求参数错误 | 参数格式错误、必需参数缺失等 |
| 401 | 未授权 | 未登录或token无效 |
| 403 | 权限不足 | 无权限访问该资源 |
| 404 | 资源不存在 | 请求的资源不存在 |
| 500 | 系统内部错误 | 服务器内部错误 |
## 4. 测试要求
### 4.1 成功场景测试
- 验证响应码为 0
- 验证 message 为成功提示
- 验证 data 包含预期数据
### 4.2 失败场景测试
- 验证响应码为对应错误码
- 验证 message 包含具体错误信息
- 验证错误码与错误场景匹配
## 5. 最佳实践
### 5.1 错误码设计原则
1. 错误码应具有可读性
2. 错误码应与错误消息配对使用
3. 避免使用未定义的错误码
### 5.2 错误消息要求
1. 消息内容应清晰明确
2. 包含必要的错误详情
3. 避免暴露敏感信息

218
test_case_writing_standard.md

@ -0,0 +1,218 @@
# 测试用例编写规范
## 1. 文档结构规范
### 1.1 文件命名规范
- 测试用例文件必须以 `test_` 开头
- 文件名应清晰表明测试内容,如:`test_create_basic.md`
- 使用小写字母,单词间用下划线连接
### 1.2 测试用例组织结构
```
module_name/ # 模块名称
├── api/ # API文档
│ └── api_doc.md # 接口文档
├── test_cases/ # 测试用例
│ ├── feature1/ # 功能1相关测试
│ ├── feature2/ # 功能2相关测试
│ └── feature3/ # 功能3相关测试
└── test_case_standard.md # 测试用例编写规范
```
## 2. 测试用例内容规范
### 2.1 基本信息
每个测试用例必须包含以下基本信息:
- 测试用例ID:唯一标识符(格式:TC_[模块]_[功能]_[序号])
- 测试标题:简明扼要的描述
- 前置条件:执行测试用例的必要条件
- 测试级别:单元测试/集成测试/系统测试
- 测试类型:功能测试/性能测试/安全测试等
- 执行优先级:P0/P1/P2/P3(P0最高,P3最低)
### 2.2 测试步骤格式
```markdown
## 测试用例:[用例ID] - [测试标题]
### 基本信息
- 测试级别:[级别]
- 测试类型:[类型]
- 优先级:[优先级]
### 前置条件
1. [前置条件1]
2. [前置条件2]
### 测试步骤
1. [详细的操作步骤1]
2. [详细的操作步骤2]
### 预期结果
1. [对应步骤1的预期结果]
2. [对应步骤2的预期结果]
### 数据验证
- 状态码验证:[期望的状态码]
- 响应格式验证:[期望的响应格式]
- 数据完整性验证:[需要验证的字段]
```
## 3. 测试场景覆盖要求
### 3.1 必测场景
1. 正向测试(Happy Path)
- 使用有效的必填参数
- 使用所有可选参数
- 验证成功响应
2. 参数验证
- 必填参数缺失
- 参数格式错误
- 参数长度边界值
- 特殊字符处理
3. 权限验证
- 无权限访问
- 越权访问
- Token过期/无效
4. 业务规则验证
- 唯一性约束
- 状态转换规则
- 关联数据完整性
### 3.2 边界值测试要求
1. 字符串类型
- 空字符串
- 最小长度-1
- 最小长度
- 最大长度
- 最大长度+1
- 特殊字符
2. 数值类型
- 最小值-1
- 最小值
- 最大值
- 最大值+1
- 0值
- 负值
3. 日期时间类型
- 无效格式
- 过去时间
- 当前时间
- 未来时间
- 跨时区处理
4. 列表类型
- 空列表
- 单个元素
- 最大元素数量
- 重复元素
- 无效元素
## 4. 响应验证规范
### 4.1 状态码验证
- 200:成功响应
- 400:请求参数错误
- 401:未授权
- 403:禁止访问
- 404:资源不存在
- 409:资源冲突
- 422:数据验证失败
- 500:服务器内部错误
### 4.2 响应数据验证
1. 基础字段验证
- code:响应码
- message:响应消息
- data:响应数据
2. 数据完整性验证
- 必填字段存在性
- 字段类型正确性
- 字段格式合规性
- 关联数据完整性
3. 审计字段验证(如适用)
- created_at
- created_by
- updated_at
- updated_by
## 5. 测试数据管理
### 5.1 测试数据要求
- 使用固定的测试数据集
- 测试数据应具有代表性
- 避免使用生产环境数据
- 测试完成后及时清理数据
### 5.2 测试数据格式
```json
{
"valid_case": {
"field1": "valid_value1",
"field2": "valid_value2"
},
"invalid_case": {
"field1": "invalid_value1",
"field2": "invalid_value2"
}
}
```
## 6. 注意事项
1. 测试用例命名
- 名称应清晰表达测试目的
- 使用统一的命名规范
- 便于理解和维护
2. 测试步骤描述
- 步骤要清晰、具体
- 每个步骤都要有对应的预期结果
- 避免模糊的描述
3. 测试数据处理
- 测试前准备好测试数据
- 测试后及时清理数据
- 避免测试数据互相干扰
4. 错误处理
- 验证所有错误场景
- 确保错误消息准确
- 验证错误码的正确性
5. 文档维护
- 及时更新测试用例
- 记录测试结果
- 标注已知问题
## 7. 测试用例评审清单
### 7.1 基础检查项
- [ ] 测试用例ID是否符合规范
- [ ] 测试标题是否清晰明确
- [ ] 优先级是否合理
- [ ] 前置条件是否完整
### 7.2 测试步骤检查项
- [ ] 步骤描述是否清晰
- [ ] 是否包含具体的测试数据
- [ ] 是否有明确的预期结果
- [ ] 是否覆盖了边界条件
### 7.3 测试覆盖检查项
- [ ] 是否覆盖所有必测场景
- [ ] 是否包含异常场景测试
- [ ] 是否验证了所有关键字段
- [ ] 是否考虑了性能因素
### 7.4 数据验证检查项
- [ ] 是否验证了数据完整性
- [ ] 是否验证了数据一致性
- [ ] 是否包含审计字段验证
- [ ] 是否有数据清理计划

135
test_data_standard.md

@ -0,0 +1,135 @@
# 测试数据管理规范
## 1. 基本原则
### 1.1 数据安全
- 禁止使用生产环境真实数据
- 敏感数据必须脱敏处理
- 测试数据定期清理
- 数据访问权限控制
### 1.2 数据质量
- 数据必须具有代表性
- 数据必须符合业务规则
- 数据必须保持一致性
- 数据必须可重复使用
### 1.3 数据维护
- 定期更新测试数据
- 及时清理无效数据
- 保持数据最小集
- 版本控制管理
## 2. 测试数据分类
### 2.1 基础数据
- 系统必需的基础配置
- 数据字典项
- 常量数据
- 枚举值数据
### 2.2 功能测试数据
- 正常业务场景数据
- 异常业务场景数据
- 边界条件数据
- 特殊场景数据
### 2.3 性能测试数据
- 压力测试数据
- 负载测试数据
- 并发测试数据
- 容量测试数据
## 3. 数据准备规范
### 3.1 数据生成
- 使用自动化工具生成
- 遵循数据格式规范
- 覆盖各类测试场景
- 保证数据可重复性
### 3.2 数据导入
- 使用标准导入工具
- 记录导入过程日志
- 验证导入数据完整性
- 支持批量导入处理
### 3.3 数据清理
- 定义清理策略
- 自动化清理流程
- 保留必要的基础数据
- 记录清理操作日志
## 4. 数据使用规范
### 4.1 数据获取
- 统一的数据获取接口
- 数据访问权限控制
- 数据使用记录追踪
- 避免重复获取数据
### 4.2 数据修改
- 禁止直接修改数据库
- 使用标准接口修改
- 记录数据修改日志
- 保持数据一致性
### 4.3 数据共享
- 定义数据共享规则
- 避免数据互相干扰
- 控制数据使用范围
- 记录数据共享情况
## 5. 测试数据集管理
### 5.1 基础数据集
- 系统初始化数据
- 常用测试场景数据
- 回归测试数据集
- 验收测试数据集
### 5.2 专项测试数据集
- 性能测试数据集
- 安全测试数据集
- 接口测试数据集
- 自动化测试数据集
### 5.3 数据集维护
- 定期更新数据集
- 验证数据集有效性
- 删除过期数据集
- 优化数据集结构
## 6. 数据备份和恢复
### 6.1 备份策略
- 定期备份测试数据
- 增量备份机制
- 备份文件加密存储
- 备份记录管理
### 6.2 恢复机制
- 快速恢复机制
- 选择性恢复支持
- 恢复过程验证
- 恢复操作记录
## 7. 注意事项
### 7.1 安全性
- 数据脱敏要求
- 访问权限控制
- 敏感信息保护
- 数据泄露预防
### 7.2 性能
- 控制数据量大小
- 优化数据结构
- 合理使用索引
- 避免数据冗余
### 7.3 可维护性
- 数据命名规范
- 数据结构文档
- 变更记录管理
- 问题跟踪机制

121
test_env_standard.md

@ -0,0 +1,121 @@
# 测试环境规范
## 1. 环境分类
### 1.1 开发环境(DEV)
- 开发人员本地开发和调试使用
- 可以频繁变更
- 数据可以随时清理
- 配置可以灵活修改
### 1.2 测试环境(TEST)
- 专门用于功能测试
- 需要保持相对稳定
- 定期清理测试数据
- 配置与生产环境一致
### 1.3 预生产环境(PRE-PROD)
- 模拟生产环境
- 配置必须与生产环境一致
- 用于性能测试和验收测试
- 严格控制数据和变更
## 2. 环境管理要求
### 2.1 环境隔离
- 不同环境使用独立的服务器/容器
- 不同环境使用独立的数据库
- 不同环境使用独立的缓存
- 避免环境间的互相影响
### 2.2 配置管理
- 使用配置中心统一管理
- 环境配置版本控制
- 敏感配置加密存储
- 定期检查配置一致性
### 2.3 数据管理
- 禁止使用生产数据
- 使用脱敏的测试数据
- 定期清理测试数据
- 保留基础测试数据集
## 3. 环境准备规范
### 3.1 基础环境要求
- 操作系统版本统一
- 中间件版本统一
- 依赖服务版本统一
- 网络环境一致
### 3.2 应用部署要求
- 使用自动化部署工具
- 部署过程版本控制
- 部署配置文件管理
- 部署日志记录
### 3.3 数据准备要求
- 基础数据集管理
- 测试数据自动化构建
- 数据备份和恢复
- 数据清理流程
## 4. 环境使用规范
### 4.1 访问控制
- 环境访问权限管理
- 用户账号统一管理
- 定期更新访问密码
- 审计访问日志
### 4.2 变更管理
- 变更申请流程
- 变更实施流程
- 变更验证流程
- 变更回滚流程
### 4.3 问题处理
- 问题报告流程
- 问题分析流程
- 问题修复流程
- 问题复盘流程
## 5. 监控和维护
### 5.1 环境监控
- 系统资源监控
- 应用性能监控
- 接口可用性监控
- 告警机制设置
### 5.2 日常维护
- 定期清理日志
- 定期清理数据
- 定期更新环境
- 定期检查配置
### 5.3 应急处理
- 环境故障处理流程
- 数据恢复流程
- 应急预案管理
- 故障报告要求
## 6. 注意事项
### 6.1 安全要求
- 禁止使用生产数据
- 敏感信息加密存储
- 定期安全扫描
- 漏洞修复及时性
### 6.2 资源管理
- 资源使用计划
- 资源回收机制
- 资源使用监控
- 资源成本控制
### 6.3 文档要求
- 环境说明文档
- 操作手册维护
- 问题处理文档
- 变更记录文档
Loading…
Cancel
Save