You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

218 lines
4.9 KiB

  1. # 测试用例编写规范
  2. ## 1. 文档结构规范
  3. ### 1.1 文件命名规范
  4. - 测试用例文件必须以 `test_` 开头
  5. - 文件名应清晰表明测试内容,如:`test_create_basic.md`
  6. - 使用小写字母,单词间用下划线连接
  7. ### 1.2 测试用例组织结构
  8. ```
  9. module_name/ # 模块名称
  10. ├── api/ # API文档
  11. │ └── api_doc.md # 接口文档
  12. ├── test_cases/ # 测试用例
  13. │ ├── feature1/ # 功能1相关测试
  14. │ ├── feature2/ # 功能2相关测试
  15. │ └── feature3/ # 功能3相关测试
  16. └── test_case_standard.md # 测试用例编写规范
  17. ```
  18. ## 2. 测试用例内容规范
  19. ### 2.1 基本信息
  20. 每个测试用例必须包含以下基本信息:
  21. - 测试用例ID:唯一标识符(格式:TC_[模块]_[功能]_[序号])
  22. - 测试标题:简明扼要的描述
  23. - 前置条件:执行测试用例的必要条件
  24. - 测试级别:单元测试/集成测试/系统测试
  25. - 测试类型:功能测试/性能测试/安全测试等
  26. - 执行优先级:P0/P1/P2/P3(P0最高,P3最低)
  27. ### 2.2 测试步骤格式
  28. ```markdown
  29. ## 测试用例:[用例ID] - [测试标题]
  30. ### 基本信息
  31. - 测试级别:[级别]
  32. - 测试类型:[类型]
  33. - 优先级:[优先级]
  34. ### 前置条件
  35. 1. [前置条件1]
  36. 2. [前置条件2]
  37. ### 测试步骤
  38. 1. [详细的操作步骤1]
  39. 2. [详细的操作步骤2]
  40. ### 预期结果
  41. 1. [对应步骤1的预期结果]
  42. 2. [对应步骤2的预期结果]
  43. ### 数据验证
  44. - 状态码验证:[期望的状态码]
  45. - 响应格式验证:[期望的响应格式]
  46. - 数据完整性验证:[需要验证的字段]
  47. ```
  48. ## 3. 测试场景覆盖要求
  49. ### 3.1 必测场景
  50. 1. 正向测试(Happy Path)
  51. - 使用有效的必填参数
  52. - 使用所有可选参数
  53. - 验证成功响应
  54. 2. 参数验证
  55. - 必填参数缺失
  56. - 参数格式错误
  57. - 参数长度边界值
  58. - 特殊字符处理
  59. 3. 权限验证
  60. - 无权限访问
  61. - 越权访问
  62. - Token过期/无效
  63. 4. 业务规则验证
  64. - 唯一性约束
  65. - 状态转换规则
  66. - 关联数据完整性
  67. ### 3.2 边界值测试要求
  68. 1. 字符串类型
  69. - 空字符串
  70. - 最小长度-1
  71. - 最小长度
  72. - 最大长度
  73. - 最大长度+1
  74. - 特殊字符
  75. 2. 数值类型
  76. - 最小值-1
  77. - 最小值
  78. - 最大值
  79. - 最大值+1
  80. - 0值
  81. - 负值
  82. 3. 日期时间类型
  83. - 无效格式
  84. - 过去时间
  85. - 当前时间
  86. - 未来时间
  87. - 跨时区处理
  88. 4. 列表类型
  89. - 空列表
  90. - 单个元素
  91. - 最大元素数量
  92. - 重复元素
  93. - 无效元素
  94. ## 4. 响应验证规范
  95. ### 4.1 状态码验证
  96. - 200:成功响应
  97. - 400:请求参数错误
  98. - 401:未授权
  99. - 403:禁止访问
  100. - 404:资源不存在
  101. - 409:资源冲突
  102. - 422:数据验证失败
  103. - 500:服务器内部错误
  104. ### 4.2 响应数据验证
  105. 1. 基础字段验证
  106. - code:响应码
  107. - message:响应消息
  108. - data:响应数据
  109. 2. 数据完整性验证
  110. - 必填字段存在性
  111. - 字段类型正确性
  112. - 字段格式合规性
  113. - 关联数据完整性
  114. 3. 审计字段验证(如适用)
  115. - created_at
  116. - created_by
  117. - updated_at
  118. - updated_by
  119. ## 5. 测试数据管理
  120. ### 5.1 测试数据要求
  121. - 使用固定的测试数据集
  122. - 测试数据应具有代表性
  123. - 避免使用生产环境数据
  124. - 测试完成后及时清理数据
  125. ### 5.2 测试数据格式
  126. ```json
  127. {
  128. "valid_case": {
  129. "field1": "valid_value1",
  130. "field2": "valid_value2"
  131. },
  132. "invalid_case": {
  133. "field1": "invalid_value1",
  134. "field2": "invalid_value2"
  135. }
  136. }
  137. ```
  138. ## 6. 注意事项
  139. 1. 测试用例命名
  140. - 名称应清晰表达测试目的
  141. - 使用统一的命名规范
  142. - 便于理解和维护
  143. 2. 测试步骤描述
  144. - 步骤要清晰、具体
  145. - 每个步骤都要有对应的预期结果
  146. - 避免模糊的描述
  147. 3. 测试数据处理
  148. - 测试前准备好测试数据
  149. - 测试后及时清理数据
  150. - 避免测试数据互相干扰
  151. 4. 错误处理
  152. - 验证所有错误场景
  153. - 确保错误消息准确
  154. - 验证错误码的正确性
  155. 5. 文档维护
  156. - 及时更新测试用例
  157. - 记录测试结果
  158. - 标注已知问题
  159. ## 7. 测试用例评审清单
  160. ### 7.1 基础检查项
  161. - [ ] 测试用例ID是否符合规范
  162. - [ ] 测试标题是否清晰明确
  163. - [ ] 优先级是否合理
  164. - [ ] 前置条件是否完整
  165. ### 7.2 测试步骤检查项
  166. - [ ] 步骤描述是否清晰
  167. - [ ] 是否包含具体的测试数据
  168. - [ ] 是否有明确的预期结果
  169. - [ ] 是否覆盖了边界条件
  170. ### 7.3 测试覆盖检查项
  171. - [ ] 是否覆盖所有必测场景
  172. - [ ] 是否包含异常场景测试
  173. - [ ] 是否验证了所有关键字段
  174. - [ ] 是否考虑了性能因素
  175. ### 7.4 数据验证检查项
  176. - [ ] 是否验证了数据完整性
  177. - [ ] 是否验证了数据一致性
  178. - [ ] 是否包含审计字段验证
  179. - [ ] 是否有数据清理计划