Files
a-share-analysis/docs/features/GOV-010-development-quality-architecture/test-plan.md
T

3.2 KiB

测试计划

1. 治理门禁测试

  • 验证新功能档案必须包含独立 development-summary.md。
  • 验证开发总结缺少任一必备章节、章节正文为空或只有无解释占位词时失败。
  • 验证设计、测试计划、GitNexus 影响计划和两类 Review 的安全、性能、同步修改证据校验。
  • 验证有具体理由与边界的“不适用”可以通过,防止强迫所有功能执行无意义负载或攻击测试。
  • 验证错误输出包含文件和章节,便于开发者修复。

2. 前端边界测试

  • 拒绝 API 目录外直接导入 axios、创建 Axios 实例或调用全局 fetch。
  • 拒绝业务 API 文件自行创建 Axios 实例或绕过 @/utils/request。
  • 允许 utils/request.ts 使用 Axios,允许 api/<业务域>/index.ts 调用统一 request。
  • 覆盖 .ts、Vue script/script setup、动态导入和路径别名,避免简单字符串规则误判或漏检。
  • 继续验证 Web 不依赖 Server 源码、内部 RocketMQ 消息不进入生成契约。

3. Axios 请求测试

  • 基础 URL 去除重复斜线并正确请求 /api/v1/health。
  • 成功响应只返回类型化 DTO,不暴露 AxiosResponse。
  • 网络错误和 HTTP 错误转换为不泄漏地址、凭据和原始响应的稳定错误。
  • AbortSignal 取消保持可识别的取消语义,不被当成普通服务故障。
  • 默认超时有限且可测试;不启用自动重试。
  • 健康 DTO 继续经 adapter 转换成现有 HealthViewModel,未知状态仍被拒绝。

4. 契约与架构验证

  • 重新生成 OpenAPI 与前端类型,确认无非预期契约漂移。
  • TypeScript 编译证明 Axios API 包装使用生成响应类型且无 any 回退。
  • Review 检查后端规范采用业务模块内按需分层,没有要求空目录或透传层。
  • Review 检查依赖方向、DTO/Domain/Entity 边界和新增依赖评估。

5. 安全验证

  • 对错误样本植入数据库连接串、内网地址和伪密钥,断言用户错误不包含这些内容。
  • 检查 Web 源码与构建产物不包含服务端配置键或密钥。
  • 检查 Axios 来源、锁定版本、许可证与已知依赖风险;保存不含凭据的结果。
  • Git diff 与秘密扫描确认没有 .env、Token、密码或生产数据。
  • 本功能不引入认证 Cookie、远程 HTML、动态 SQL 或服务端 URL 抓取,因此 CSRF、XSS、SQL 注入和 SSRF 的运行攻击测试不适用;后续触及对应边界的功能必须重新评估。

6. 性能验证

  • 比较迁移前后 Web 生产构建产物大小,记录 Axios 引入的实际增量。
  • 验证请求封装没有默认重试和无上限超时。
  • 治理工具在当前仓库运行一次并记录耗时;其不进入生产请求路径,不执行负载测试。
  • 本功能不改变数据库查询、缓存读写、消息并发、行情计算或图表渲染,因此这些性能测试不适用;后续业务功能需各自提供目标和证据。

7. 全量验证

  • pnpm check:contracts
  • pnpm lint
  • pnpm format:check
  • pnpm typecheck
  • pnpm test
  • pnpm build
  • pnpm verify:e2e
  • pnpm verify:release
  • 桌面与移动视口视觉截图和页面控制台检查。
  • gitnexus_detect_changes、重新索引和前后对比。