72 lines
5.0 KiB
Markdown
72 lines
5.0 KiB
Markdown
|
|
# 测试环境、数据与依赖计划
|
|||
|
|
|
|||
|
|
## 1. 环境分层
|
|||
|
|
|
|||
|
|
| 环境 | 用途 | 数据 | 外部依赖 |
|
|||
|
|
| --- | --- | --- | --- |
|
|||
|
|
| Local | 单元、组件、快速接口调试 | 自动生成、可重置 | 内存/本地 Mock |
|
|||
|
|
| CI | 静态、单元、契约、构建 | 每任务独立数据库 | 容器化替身,禁止共享状态 |
|
|||
|
|
| Integration | API+DB+Redis+Worker+IoT 集成 | 固定基线+场景数据 | 沙箱或可控 Mock,支持故障注入 |
|
|||
|
|
| Staging | 全端 E2E、专项、UAT | 脱敏仿真数据 | 尽量接真实沙箱、设备模拟器 |
|
|||
|
|
| Production | 发布后只读/低风险冒烟 | 生产数据 | 禁止造资金与高风险设备动作,除非有演练审批 |
|
|||
|
|
|
|||
|
|
各环境必须记录:代码提交、构建号、配置版本、数据库 Schema、种子版本、依赖版本、测试开始/结束时间。测试不得使用真实密码、令牌、证件、银行卡、精确住址和生产定位轨迹。
|
|||
|
|
|
|||
|
|
## 2. 基础设施
|
|||
|
|
|
|||
|
|
- PostgreSQL:每轮可重置的独立库;启用约束、事务、时区和并发测试;保留慢查询与锁等待观测。
|
|||
|
|
- Redis:验证码、限流、支付密码锁定及未来事件流;提供清空命名空间、断连、延迟和重启能力。
|
|||
|
|
- API:默认基线 `http://localhost:12426`;按平台、气站、配送点、用户、服务人员分别生成令牌。
|
|||
|
|
- Worker/IoT:当前执行启动、配置、健康、日志和优雅退出验证;真实消息/协议接入后扩充专用环境。
|
|||
|
|
- 对象存储替身:支持上传、下载授权、过期、拒绝、超时、损坏和病毒扫描结果模拟。
|
|||
|
|
- 时间控制:支持验证码过期、SLA、合同、证照、订单、提现及幂等窗口的时间推进。
|
|||
|
|
|
|||
|
|
## 3. 账号与权限数据集
|
|||
|
|
|
|||
|
|
每种角色至少准备“正常、禁用、过期凭证、无菜单、只读、跨组织”六类账号:
|
|||
|
|
|
|||
|
|
| 角色 | 最少数据 |
|
|||
|
|
| --- | --- |
|
|||
|
|
| 平台 root/运营/财务/安全/审计/客服 | 能力互斥,验证财务不能控设备、安全不能改资金、审计只读 |
|
|||
|
|
| 气站管理员 A/B | 两个不同气站,各自包含人员、用户、合同、订单和钱包 |
|
|||
|
|
| 配送点管理员 A/B | 分属不同组织,含配送人员与轨迹数据 |
|
|||
|
|
| 用户 A/B/家庭成员 | 设备所有者、只读共享者、可控制共享者、已撤销成员 |
|
|||
|
|
| 配送员/安装维修员/安检员 | 待审核、资质过期、未培训、未上班、区域外、完全合格 |
|
|||
|
|
|
|||
|
|
权限测试使用“同结构不同组织”的镜像数据,避免因目标不存在造成假通过。
|
|||
|
|
|
|||
|
|
## 4. 核心业务数据集
|
|||
|
|
|
|||
|
|
- 设备:未激活、未绑定、已绑定、在线、离线、高风险锁定、命令待确认、不同厂商/固件。
|
|||
|
|
- 遥测:正常、阈值前后、重复、乱序、未来时间、非法单位、极端值、缺字段和伪造身份。
|
|||
|
|
- 安全:1/2/3 级事件、待整改、复检失败、已关闭、SLA 即将/已经超时。
|
|||
|
|
- 商品/合同/订单:正常、库存边界、过期合同、多商品、多任务、部分履约、异常、取消、完成。
|
|||
|
|
- 资金:0 余额、临界余额、余额不足、大额、并发支付、重复回调、退款、提现各状态、对账差异。
|
|||
|
|
- 取证:合法图片/PDF/视频、超限文件、扩展名与 MIME 不符、损坏文件、恶意样本、安全扫描失败。
|
|||
|
|
- 离线队列:重复幂等键、乱序采集、时钟偏移、网络切换、部分上传成功、应用被杀后恢复。
|
|||
|
|
|
|||
|
|
## 5. Mock 与沙箱契约
|
|||
|
|
|
|||
|
|
每个 Mock 必须可配置成功、业务拒绝、超时、连接断开、重复回调、乱序回调和不可解析响应,并记录输入输出供断言。Mock 不得比真实依赖更宽松。
|
|||
|
|
|
|||
|
|
| 依赖 | 必备模拟能力 |
|
|||
|
|
| --- | --- |
|
|||
|
|
| MQTT/设备 | 在线/离线、命令 ACK/拒绝/超时、重复回执、伪造设备、遥测峰值 |
|
|||
|
|
| 支付 | 签名正确/错误、金额/订单/商户不符、重复/乱序回调、查询补偿 |
|
|||
|
|
| 短信/推送 | 成功、失败、延迟、重复、限流、部分接收人失败 |
|
|||
|
|
| 地图/定位 | 正常、低精度、权限拒绝、漂移、区域外、无位置、后台受限 |
|
|||
|
|
| 电子合同 | 签署成功、拒签、超时、回调重放、原文哈希不符 |
|
|||
|
|
| 对象存储/扫描 | 上传成功、过期授权、超限、恶意、损坏、下载越权 |
|
|||
|
|
|
|||
|
|
## 6. 数据清理与证据
|
|||
|
|
|
|||
|
|
- 测试数据以专用前缀和批次 identity 标记,通过受控脚本清理;不得物理删除资金、安全和审计事实来“恢复环境”。
|
|||
|
|
- 证据至少包含请求/响应(脱敏)、数据库断言、审计记录、日志关联 ID、截图/录屏和构建信息。
|
|||
|
|
- 失败现场先保留,再清理;报告中不得粘贴真实令牌、密码和完整敏感字段。
|
|||
|
|
- 备份恢复测试使用隔离库,恢复后以记录数、关键哈希、状态不变量和审计链完整性校验。
|
|||
|
|
|
|||
|
|
## 7. 待确认项
|
|||
|
|
|
|||
|
|
以下内容在得到正式口径前只测试“可配置与安全默认值”,不自行设定政策:安全阈值与开阀审批、SLO/RPO/RTO 数值、目标设备规模和上报频率、支付/合同/地图厂商、证据留存期、支持的 OS/浏览器最低版本、视频合规规则。
|
|||
|
|
|