Files
platforms/audit/BUSINESS_FLOW_TEST_REPORT.md

66 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 全项目流程审计与检查报告
审计日期2026-08-03
依据:`checking/03-系统与业务覆盖矩阵.md``checking/06-业务流程测试.md`
## 1. 结论
本轮是代码、契约和本地门禁审计不是远程环境端到端验收。BF-01BF-15 中没有任何流程具备“全链路通过”证据4 项为部分具备11 项因实现缺口或环境缺口阻塞。旧报告中的远程数据库、浏览器和 Flutter 成功结论不得沿用。
状态定义:
- `部分具备`:存在主要实现和局部自动化证据,但缺远程依赖、外部沙箱或跨端 E2E。
- `阻塞`:关键业务步骤不存在,或必要环境/安全凭据未提供。
## 2. BF-01BF-15 检查矩阵
| 流程 | 状态 | 本轮证据 | 主要缺口 |
| --- | --- | --- | --- |
| BF-01 邀请注册与服务关系 | 阻塞 | 管理端与 API 可构建 | 无本轮远程 DB/Redis、二维码安全及跨端 E2E。 |
| BF-02 设备绑定与远程关阀 | 阻塞 | 内部命令/Outbox/Gateway/协议代码存在 | 无设备绑定、用户归属鉴权和公开远控入口。 |
| BF-03 高风险遥测与整改 | 阻塞 | 上行消息可持久化 | 无规则事件、自动关阀、通知、整改复检及开阀拦截闭环。 |
| BF-04 共享、群控与报修 | 阻塞 | 无充分证据 | 共享权限、群控结果聚合及撤权服务端校验未形成闭环。 |
| BF-05 下单、支付与任务 | 部分具备 | 支付回调一致性已修复并有单测 | 无远程事务、支付沙箱、商户/appid 显式校验和跨端任务 E2E。 |
| BF-06 超时关单与迟到回调 | 部分具备 | Worker 调度与 API 关单代码可构建 | Worker 无测试;无渠道超时、竞争和重启实测。 |
| BF-07 订单项退款入钱包 | 部分具备 | 退款模型/逻辑可静态检查 | 无远程并发、审核隔离、钱包守恒和渠道对账证据。 |
| BF-08 气瓶配送与回收 | 阻塞 | 三套后台可构建 | 无库存并发、轨迹、扫码取证、押金及结算 E2E。 |
| BF-09 人员准入与离线补传 | 阻塞 | App 代码存在 | Flutter 未验证;服务端强制前置和离线完整性无全链路证据。 |
| BF-10 安装/维修闭环 | 阻塞 | 需求与页面资源存在 | 缺服务端顺序状态机和强制证据集成测试。 |
| BF-11 钱包提现审核 | 部分具备 | 资金逻辑已有历史单测,后端门禁通过 | 本轮未连接远程 DB/Redis未执行并发、重复审批和打款回执 E2E。 |
| BF-12 组织隔离与轨迹访问 | 阻塞 | 鉴权框架和后台资源存在 | 无多组织远程数据、分页/导出/缓存串租户及敏感访问审计 E2E。 |
| BF-13 IoT 上行与 ACK | 阻塞 | 协议、Gateway、Topic 身份单测通过 | ACK 包号复用风险;无 MQTT Broker/真设备联调。 |
| BF-14 IoT Outbox 恢复 | 阻塞 | Outbox/Worker 投递代码存在 | 无双 Worker、崩溃窗口、重复投递、积压和死信测试。 |
| BF-15 审计与灾备 | 阻塞 | 部分事实有审计字段 | 未执行 PostgreSQL WAL 恢复、Redis 故障恢复和 RPO/RTO 测量。 |
## 3. AC-01AC-25 汇总
| 状态 | AC |
| --- | --- |
| 局部代码证据 | AC-02、AC-07、AC-08、AC-24、AC-25 |
| 关键实现或 E2E 阻塞 | AC-01、AC-03AC-06、AC-09AC-23 |
“局部代码证据”不代表验收通过。AC-02/AC-25 仍受 ACK 关联和 Broker 联调阻塞AC-07 仍受支付沙箱和商户身份检查阻塞AC-08 仍受远程并发验证阻塞AC-24 仍需数据库 Schema 全量核查。
## 4. 本轮实际验证
| 范围 | 结果 |
| --- | --- |
| API | `go test ./...``go vet ./...`、build 通过 |
| Worker | test/vet/build 通过,但无测试文件 |
| IoT Gateway | test/vet/build 通过 |
| IoT Server | test/vet/build 通过,含 Topic 身份回归测试 |
| platform_admin | type、contract、build 通过lint 有 111 warnings/12 infos |
| gas_admin、delivery_admin | type、lint、build 命令通过;存在非阻断 lint 告警 |
| site | build 通过4/4 托管测试通过 |
| Flutter Apps | 命令启动超时,未取得结果 |
| 远程 PostgreSQL/Redis | API YAML 已恢复远程配置,但本轮未执行集成流程 |
## 5. 远程执行前置清单
1. 确认 YAML 配置指向隔离库,并为 Redis 使用独立 DB/前缀。
2. 限制配置文件访问权限,不在命令、报告或日志中记录连接值。
3. 明确测试数据前缀和保留策略;禁止清库和删除资金/审计事实。
4. 启动支付沙箱、MQTT 模拟器和四后端进程,逐项记录 UI/API、数据库、Outbox、回执和审计证据。
5. 先解决 P0/P1 实现缺口,再执行完整 BF 门禁;否则测试结果只能是预期阻塞。