Files
platforms/checking/04-环境数据与依赖计划.md

5.6 KiB
Raw Permalink Blame History

测试环境、数据与依赖计划

1. 环境分层

环境 用途 数据 外部依赖
Local 单元、组件、快速接口调试 自动生成、可重置 内存/本地 Mock
CI 静态、单元、契约、构建 每任务独立数据库 容器化替身,禁止共享状态
Integration API+DB+Redis+Worker+Gateway+MQTT Server 集成 固定基线+场景数据 支付沙箱、设备模拟器和故障注入
Staging 全端 E2E、专项、UAT 脱敏仿真数据 尽量接真实沙箱、设备模拟器
Production 发布后只读/低风险冒烟 生产数据 禁止造资金与高风险设备动作,除非有演练审批

各环境必须记录:代码提交、构建号、配置版本、数据库 Schema、种子版本、依赖版本、测试开始/结束时间。测试不得使用真实密码、令牌、证件、银行卡、精确住址和生产定位轨迹。

2. 基础设施

  • PostgreSQL每轮可重置的独立库启用约束、事务、时区和并发测试保留慢查询与锁等待观测。
  • Redis验证码、限流、支付密码锁定及未来事件流提供清空命名空间、断连、延迟和重启能力。
  • API默认基线 http://localhost:12426;按平台、气站、配送点、用户、服务人员分别生成令牌。
  • Worker配置支付扫描与 IoT 轮询间隔、API/Gateway 地址和内部令牌;支持加速时钟、上游超时与重启测试。
  • IoT Gateway独立端口、API/IoT Server 上游地址和内部令牌;测试中确认不持久化业务事实。
  • IoT Server独立 HTTP/MQTT 端口、Mochi Broker、V1.8 AES 密钥环、逐设备 Client ID/设备号/凭证、Topic ACL集成环境使用测试证书启用 MQTT TLS。
  • 设备模拟器:至少两台合法设备和一台攻击设备,支持 up/ack/down、断线重连、重复包、乱序包、坏 LRC、错误 AES key、ACK 成功/失败/丢失。
  • 对象存储替身:支持上传、下载授权、过期、拒绝、超时、损坏和病毒扫描结果模拟。
  • 时间控制支持验证码过期、SLA、合同、证照、订单、提现及幂等窗口的时间推进。

3. 账号与权限数据集

每种角色至少准备“正常、禁用、过期凭证、无菜单、只读、跨组织”六类账号:

角色 最少数据
平台 root/运营/财务/安全/审计/客服 能力互斥,验证财务不能控设备、安全不能改资金、审计只读
气站管理员 A/B 两个不同气站,各自包含人员、用户、合同、订单和钱包
配送点管理员 A/B 分属不同组织,含配送人员与轨迹数据
用户 A/B/家庭成员 设备所有者、只读共享者、可控制共享者、已撤销成员
配送员/安装维修员/安检员 待审核、资质过期、未培训、未上班、区域外、完全合格

权限测试使用“同结构不同组织”的镜像数据,避免因目标不存在造成假通过。

4. 核心业务数据集

  • 设备:未激活、未绑定、已绑定、在线、离线、高风险锁定、命令待确认、不同厂商/固件。
  • 遥测:正常、阈值前后、重复、乱序、未来时间、非法单位、极端值、缺字段和伪造身份。
  • 安全1/2/3 级事件、待整改、复检失败、已关闭、SLA 即将/已经超时。
  • 商品/合同/订单:正常、库存边界、过期合同、多商品、多任务、部分履约、异常、取消、完成。
  • 资金0 余额、临界余额、余额不足、大额、并发支付、重复回调、退款、提现各状态、对账差异。
  • 取证:合法图片/PDF/视频、超限文件、扩展名与 MIME 不符、损坏文件、恶意样本、安全扫描失败。
  • 离线队列:重复幂等键、乱序采集、时钟偏移、网络切换、部分上传成功、应用被杀后恢复。

5. Mock 与沙箱契约

每个 Mock 必须可配置成功、业务拒绝、超时、连接断开、重复回调、乱序回调和不可解析响应并记录输入输出供断言。Mock 不得比真实依赖更宽松。

依赖 必备模拟能力
MQTT/设备 每设备认证、Topic ACL、在线/离线、命令 ACK/拒绝/超时、重复回执、伪造设备、坏帧、遥测峰值
支付 签名正确/错误、金额/订单/商户不符、重复/乱序回调、查询补偿
短信/推送 成功、失败、延迟、重复、限流、部分接收人失败
地图/定位 正常、低精度、权限拒绝、漂移、区域外、无位置、后台受限
电子合同 签署成功、拒签、超时、回调重放、原文哈希不符
对象存储/扫描 上传成功、过期授权、超限、恶意、损坏、下载越权

6. 数据清理与证据

  • 测试数据以专用前缀和批次 identity 标记,通过受控脚本清理;不得物理删除资金、安全和审计事实来“恢复环境”。
  • 证据至少包含请求/响应(脱敏)、数据库断言、审计记录、日志关联 ID、截图/录屏和构建信息。
  • 失败现场先保留,再清理;报告中不得粘贴真实令牌、密码和完整敏感字段。
  • 备份恢复测试使用隔离库,恢复后以记录数、关键哈希、状态不变量和审计链完整性校验。

7. 待确认项

以下内容在得到正式口径前只测试“可配置与安全默认值”不自行设定政策安全阈值与开阀审批、SLO/RPO/RTO 数值、目标设备规模和上报频率、支付/合同/地图厂商、证据留存期、支持的 OS/浏览器最低版本、视频合规规则。