2.2 KiB
2.2 KiB
测试计划
单元与契约测试
- 旧实现下先证明无 MySQL CLI 时失败,再使纯 Node 路径转绿。
- 假连接覆盖表、视图依赖、触发器、过程、函数、事件和空库。
- 覆盖 MySQL 5.7.x 成功以及 5.6、8.x、MariaDB、字符集和排序规则失败。
- 覆盖视图拓扑排序、循环依赖、未知对象、权限不足、空
SHOW CREATE和对象摘要漂移。 - 覆盖标识符转义、
DEFINER清除、当前自增值清除和稳定分隔符。 - 覆盖顶层数据操作、凭据、连接串和生产标识拒绝;对象体内合法 DML 保留。
- 覆盖连接成功、查询失败、渲染失败和持久化失败时的连接关闭与临时目录清理。
- 覆盖相同输入逐字节确定性和 SQL/manifest/checksum 篡改检测。
历史兼容
- 全部 format v1/v2 历史夹具继续验证。
- format v3 的
captured、captured_empty和not_applicable分支通过。 - 旧字段不被新格式复用,历史目录不发生内容变化。
governance:start继续验证基线已跟踪、已推送、当前分支和远程标签一致。
真实开发库验证
- 只读取
deploy/env/development/api.env.local和固定开发库。 - 记录服务端版本、字符规则、对象数量、耗时和最终状态,不记录密码、地址或 SQL 正文到聊天和 QA 摘要。
- 当前为空时生成
captured_empty;发现实际对象时生成完整captured,不得按预期强制为空。 - 运行
schema:verify、治理测试、格式、lint、类型检查和完整仓库验证。
安全验证
- 证明没有子进程数据库客户端调用、业务表数据查询、生产配置读取或多语句执行。
- 固定夹具验证对象数量、响应大小、查询和总时长保护。
- 残余风险包括真实库权限差异和并发 DDL;通过失败关闭、摘要复核和人工重跑控制。
性能验证
- 假连接验证单连接、5 秒查询超时、30 秒总时长、5,000 对象和 1 MiB 单定义限制;真实开发库记录导出状态和耗时,不记录 SQL 或凭据。
- 本功能是低频治理命令,不在 API 请求路径,也不承载在线行情吞吐;因此不执行业务负载压测,边界是版本基线生成和验证命令本身。