3.8 KiB
3.8 KiB
GOV-011 测试计划
- 功能编号:GOV-011
- 验证环境:Node.js 22.11.0、pnpm 10.25.0、macOS 开发机
- 数据库边界:不连接、探测或读取生产数据库;本次不执行真实 Schema 导出
1. Node.js 系列验证
- 接受
22.0.0、22.11.0和带预发布/构建后缀的合法 22.x。 - 拒绝 21.x、23.x、空字符串、
v22和其他无法解析格式。 - pnpm 继续只接受 10.x,不因 Node 约束调整而放宽。
2. Schema 元数据验证
- 接受 MySQL 服务端
5.7.0、5.7.41、5.7.42-log。 - 拒绝
5.6.51、8.0.40、5.7、5.7.x和空字符串。 - mysql 与 mysqldump 客户端继续要求合法 5.7.x。
- 服务端版本通过后,字符集仍必须为
utf8mb4,排序规则仍必须为utf8mb4_general_ci。 - 回归 captured、captured_empty、not_applicable、历史 manifest、生成入口和发布门禁调用链。
- 因用户授权的 v0.0.8 基线一次性例外,严格发布基线用例预期只在目录缺失处失败;使用
--test-skip-pattern='严格发布门禁'验证其余 28 项全部通过。
3. API 健康检查验证
5.7.41-log返回MySQL 5.7.41 / <数据库> / +08:00,证明 patch 来自服务端元数据而非硬编码。- 拒绝 5.6.x、8.x 和无效版本格式。
- 拒绝错误库名、
utf8、utf8mb4_0900_ai_ci和SYSTEM时区。 - 保持固定只读元数据查询、健康 DTO 结构和生产库名按当前配置校验。
- 执行 Server 全量测试、类型检查和 API/Scheduler/Worker 三进程构建。
4. 规范与部署验证
- 当前系统架构、代码开发规范、本地开发和 Ubuntu 源码部署文档必须写明
MySQL 5.7.x。 - 上述四份当前文档不得再出现
MySQL 5.7.42;历史 QA、Schema 清单、CHANGELOG 历史版本和已发布功能档案不参与该否定扫描。 - Node.js 22.x、pnpm 10.25.0、Ubuntu 源码部署、systemd、Nginx、Redis 和 RocketMQ 约束保持不变。
安全验证
- 版本字符串仅进入固定正则,不执行命令、不拼接 SQL。
- MySQL 健康错误不回显服务端原始附加文本、连接地址、账号或密码。
- Schema 测试使用固定夹具和依赖注入,不连接真实数据库;本功能不执行
schema:baseline。 pnpm audit --prod --registry=https://registry.npmjs.org/必须为 0 已知漏洞。- 扫描 Web/Server 构建产物中的凭据模式;配置键名允许存在,真实值、连接串和授权头不得存在。
git diff --check、GitNexus detect-changes 和 Review 核对没有生产数据、真实.env或凭据进入提交。
性能验证
- 版本解析为启动/治理阶段常数时间正则匹配,不增加数据库查询、网络调用、重试、缓存或消息操作。
- 健康检查继续只执行一次既有元数据查询,连接池上限仍为 2。
- Web 页面和依赖未变化,生产 JS/CSS 体积应与 v0.0.8 基线一致。
- 本功能不改变行情计算、数据库扫描、Redis 热点、RocketMQ 吞吐、Worker 并发或图表渲染,因此不执行负载测试;后续触及这些路径的业务功能必须重新设定性能目标。
7. 全量与视觉验证
- 执行 runtime、governance、MySQL、环境、Schema、契约、边界、部署、Web 和 Server 测试。
- 执行 OpenAPI 重新生成、lint、格式、类型检查、Web/Server 构建和源码发布验证。
- Playwright 在 Chromium 1440×900 与 390×844 下验证页面、同源健康 API、横向溢出和控制台。
- 保存桌面/移动截图并人工检查无重叠、裁切或空白渲染回归。
- 真实执行
pnpm verify:release、pnpm schema:verify和pnpm governance:finish GOV-011 runtime-version-series;三者因同一个已授权 v0.0.8 基线缺失条件失败,必须保存失败证据并手工执行其余等价门禁。