Files
lislgosms/docs/testing-execution-step-1.md
T

4.4 KiB

测试实施第一步执行记录

执行时间

  • 日期:2026-07-01
  • 步骤:第一步,准备测试环境和基线数据

第一步目标

确认后续系统功能测试所需的基础环境、服务状态、测试替身和契约示例是否可用。第一步不以完整业务功能验收为目标,重点是让后续客户、认证、应用、签名、模板、通道、账户、发送、日志和 Gateway 状态测试具备可执行基线。

环境检查结果

项目 结果 说明
Docker 未发现 Get-Command docker 无可用输出,暂不能用 infra/docker-compose.yml 拉起 PostgreSQL/Redis/MinIO。
PostgreSQL 5432 不可连接 Test-NetConnection 127.0.0.1 -Port 5432 返回 False。本轮不能执行真实 Prisma 落库和种子数据准备。
Redis 6379 可连接 Test-NetConnection 127.0.0.1 -Port 6379 返回 True
MinIO 9000 不可连接 Test-NetConnection 127.0.0.1 -Port 9000 返回 False。文件上传相关测试后续需 mock 或等 MinIO 可用。
前端 5173 已有监听 本机已有 5173 监听进程,未重启,避免影响当前开发状态。
API 3101 可启动 使用 API_PORT=3101 npm --prefix api run start:dev 启动成功。
API Health 通过 GET http://127.0.0.1:3101/api/health 返回 {"status":"ok","service":"cmpp-platform-api",...}
Gateway 自动化检查 通过 npm run test:gateway 通过。
队列契约检查 通过 npm run spike:contracts 通过,4 个示例均校验成功。

已执行命令

Test-NetConnection 127.0.0.1 -Port 5432
Test-NetConnection 127.0.0.1 -Port 6379
Test-NetConnection 127.0.0.1 -Port 9000
Test-NetConnection 127.0.0.1 -Port 3101
$env:API_PORT='3101'; npm --prefix api run start:dev
Invoke-RestMethod -Uri 'http://127.0.0.1:3101/api/health'
npm run test:gateway
npm run spike:contracts

第一阶段基线数据状态

由于 PostgreSQL 当前不可连接,本轮没有向数据库写入客户、企业认证、应用、签名、模板、账户、通道或发送任务基线数据。后续执行第二步前需要先满足以下任一条件:

  1. 启动本地 PostgreSQL,并使用 Prisma migration/seed 或 API 创建基线数据。
  2. 使用 Docker Compose 启动 PostgreSQL、Redis、MinIO。
  3. 对无法依赖真实服务的用例,明确改用 mock/测试替身执行。

本步执行过的测试用例

第一步主要是环境准备,不执行完整系统功能用例。但本轮为了确认 Gateway 和契约测试替身可用,执行了以下自动化/契约类用例:

用例编号 用例名称 执行方式 结果
TC-GW-001 SEQID/MSGID 追踪 npm run test:gateway 中的 Go tracker 测试覆盖 通过
TC-GW-002 重连后继续消费 npm run test:gateway 中的 Go reconnector 测试覆盖重连基础行为 通过
TC-GW-003 Health 检查 npm run test:gateway 中的 Go health handler 测试覆盖 通过
TC-GW-004 gocmpp submit/resp 模拟器 npm run test:gateway 中的 gocmpp/spike simulator 测试覆盖基础模拟能力 通过
TC-CONTRACT-001 SubmitCommand Schema 校验 npm run spike:contracts 通过
TC-CONTRACT-002 SubmitResult Schema 校验 npm run spike:contracts 通过
TC-CONTRACT-003 ReceiptEvent Schema 校验 npm run spike:contracts 通过
TC-CONTRACT-004 UplinkEvent Schema 校验 npm run spike:contracts 通过

本步未执行的测试用例

  • 客户端/运营端业务功能用例未执行。
  • 企业认证、客户、应用、签名、模板、计费、发送、Dashboard、系统日志、CMPP 连接状态管理等闭环用例未执行。
  • 原因:PostgreSQL 和 MinIO 当前不可用,缺少真实业务数据落库环境。

第一阶段结论

第一步环境准备部分完成到“可执行 mock/契约/Gateway 自动化基线”的程度:

  • API 能启动并通过 health。
  • Redis 可连接。
  • Gateway 自动化基线通过。
  • 队列契约基线通过。

第一步尚未完全完成真实业务数据准备:

  • PostgreSQL 不可连接。
  • MinIO 不可连接。
  • Docker 不可用,无法直接拉起 compose。

下一步建议

第二步执行前,建议先恢复或启动 PostgreSQL 和 MinIO。若暂时无法启动,则第二步只能执行不依赖数据库的 mock 自动化测试,真实系统功能闭环需要延后。