compliance/memory-bank/implemented_test_cases.md
2025-06-20 11:24:03 +08:00

6.1 KiB
Raw Blame History

已实现的测试用例列表

本文档列出了合规性测试工具中当前已实现的所有测试用例,按类别分组。

基本检查

ID 名称 描述 严重程度
TC-STATUS-001 基本状态码 200 检查 验证 API 响应状态码是否为 200 OK。 严重

核心功能检查

ID 名称 描述 严重程度
TC-CORE-FUNC-001 Response Body JSON Schema Validation 验证API响应体是否符合API规范中定义的JSON Schema。 严重

错误处理检查

ID 名称 描述 严重程度
TC-ERROR-4001-QUERY 查询参数类型不匹配检查 测试当发送的查询参数数据类型与API规范定义不符时API是否按预期返回code=4001的错误。
TC-ERROR-4001-BODY 请求体字段类型不匹配检查 测试当发送的请求体中字段的数据类型与API规范定义不符时API是否按预期返回code=4001的错误。
TC-ERROR-4002 数值参数越界检查 测试当发送的数值参数超出范围限制时API是否按预期返回code=4002的错误。
TC-ERROR-4003-QUERY 缺失必填查询参数检查 测试当请求中缺少API规范定义的必填查询参数时API是否按预期返回code=4003的错误。
TC-ERROR-4003-BODY 缺失必填请求体字段检查 测试当请求体中缺少API规范定义的必填字段时API是否按预期返回code=4003的错误。
TC-ERROR-4006 非法枚举值检查 测试当发送的参数值不在指定的枚举范围内时API是否按预期返回code=4006的错误。

安全检查

ID 名称 描述 严重程度
TC-SECURITY-001 HTTPS强制检查 验证API端点是否通过HTTPS提供服务以及HTTP请求是否被拒绝或重定向。 严重
TC-SECURITY-002 敏感字段加密检查 验证API响应中的敏感字段如坐标、位置是否已加密而非明文。

规范性检查

ID 名称 描述 严重程度
TC-RESTful-001 核心命名与结构规范检查 统一验证API的命名与结构是否遵循规范。包括1)模块名全小写且用中划线连接2)URL路径参数使用下划线命名法(snake_case)3)查询参数和请求体字段使用小驼峰命名法(camelCase)4)响应中的空数组为[]而非null5)数组类型数据被包裹在list字段中。
TC-RESTful-002 资源路径名词检查 验证API路径中是否使用名词而非动词来表示资源。
TC-RESTful-003 时间字段ISO 8601格式检查 验证返回的时间字段是否遵循 ISO 8601 格式。此检查为静态检查,会检查规范中 formatdate-time 的字段,以及常见的时间字段名(如 createTime, update_time 等),是否包含推荐的 pattern
TC-NORMATIVE-URL-LLM-COMPREHENSIVE-001 合URL规范与RESTful风格检查 (LLM) 使用LLM统一评估API路径是否符合命名、结构、版本和RESTful风格等规范。
TC-LLM-COMPLIANCE-001 LLM合规性综合检查 读取固定的合规性标准列表将API所有关键信息url、headers、params、query、body、示例响应等发送给大模型让其判断是否通过并给出理由。
TC-NORMATIVE-001 HTTP方法使用规范检查 验证API是否恰当使用HTTP方法例如GET用于检索POST用于创建
TC-DMS-CORE-SCHEMA-001 DMS核心存储服务API响应格式检查 验证API响应的schema是否符合标准格式{'code':int|string|number, 'message':string, 'data':any}
TC-DMS-URL-VERSION-001 DMS API URL版本号检查 检查API URL是否包含标准格式的版本号支持的格式包括v1, api/v2, v3.0, version/1, 1.0等

设置与环境检查 (Setup Checks)

ID 名称 描述 严重程度
TC-HEADER-001 必需请求头Schema验证 验证API规范中是否包含必需的请求头 (X-Tenant-ID, X-Data-Domain, Authorization)。 严重

注意事项

  1. 测试用例的严重程度级别包括:严重(CRITICAL)、高(HIGH)、中(MEDIUM)、低(LOW)和信息(INFO)。
  2. 所有测试用例都继承自 BaseAPITestCase 基类,可以通过自定义子类进行扩展。
  3. 测试用例通过 TestCaseRegistry 进行注册和发现根据API端点特征自动选择适用的测试用例。