# 测试计划 ## 单元与契约测试 - 旧实现下先证明无 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;通过失败关闭、摘要复核和人工重跑控制。