工业验证测试报告模板

用途: 路线图 Phase 2 各支持协议的联机验证归档模板。
门禁: 须满足 G-Industrial — 工业验证门禁
说明: 每协议一份报告;仿真器与现场设备须分别注明,不可混填为「已通过现场验证」。


1. 基本信息

字段 内容
报告编号 IND-________
协议 ☐ Modbus TCP ☐ Modbus RTU ☐ OPC UA ☐ Siemens S7 ☐ DL/T645 ☐ BACnet
EdgeX 版本 v________(Git commit:________
测试日期 开始:________ 结束:________
测试负责人 ________
环境类型 ☐ 现场设备 ☐ 高保真仿真器 ☐ 混合(注明各场景)

2. 测试环境

2.1 设备与固件

项目 说明
设备型号 / 仿真器  
固件 / 软件版本  
从站 / 节点数量  
采集点位规模(tag 数)  
扫描周期配置  

2.2 网络拓扑

(示意:网关 ──[以太网/RS485]── 设备/PLC;注明 VLAN、NAT、串口参数等)
项目 说明
网关硬件 / OS  
网络类型 ☐ 以太网 ☐ RS485 ☐ 其他:________
延迟 / 带宽基线  
故障注入方式 ☐ 拔线 ☐ 防火墙规则 ☐ tc/netem ☐ 设备侧重启 ☐ 其他

2.3 EdgeX 配置摘要

  • 通道 ID / 驱动配置路径:
  • 超时 / 重试 / CB 相关参数(如有覆盖):
  • diagnostics 采样间隔:

3. 测试场景清单

按协议风险选择 24h72h 长跑时长;其余场景为必测项。

# 场景 必测 计划时长 执行日期 结果 备注
S1 24h / 72h 长跑 ☐ 24h ☐ 72h   ☐ 通过 ☐ 失败 ☐ 跳过  
S2 网络断开恢复     ☐ 通过 ☐ 失败 拔线 / 防火墙 / 路由切换
S3 PLC / 设备重启     ☐ 通过 ☐ 失败 设备侧重启后自动恢复采集
S4 网络抖动     ☐ 通过 ☐ 失败 延迟波动、间歇丢包
S5 超时     ☐ 通过 ☐ 失败 响应超时与 CB 联动
S6 高丢包     ☐ 通过 ☐ 失败 极端网络下的隔离与恢复

场景通过定义(每项): 采集恢复、无 channel 级 Offline(除非预期)、同通道其他设备不受影响(共享链路协议)、无 panic / 死锁。量化阈值与 PASS/WARN/BLOCK 裁量见 G-Industrial — 发布判定标准


4. 指标记录

4.1 汇总指标(测试全程 / 稳态窗口)

指标 字段 / 来源 阈值(联机) 实测 是否达标
Scan Lag P95 scan_lag_p95_ms <150ms(PASS)   ☐ PASS ☐ WARN ☐ BLOCK
Scan Lag P99 diagnostics / 采样 记录值;>300ms 须说明  
Scan Drift 均值 scan_drift_avg_ms <80ms(PASS)  
任务失败率 tasks_failed/tasks_executed <0.1%(PASS)  
Miss Deadline scan_miss_deadline_total 稳态 =0  
恢复时间 场景 S2–S6 各次 S2≤60s;S3≤120s;超 2× 为 BLOCK  
CB Open 次数 driver_circuit_open_total 可解释、可恢复  
Heap drift 60s / 1h / 长跑窗口 <8%(PASS)  
GC pause max gc_pause_max_ms <30ms(PASS)  
Goroutine 数量趋势 runtime.NumGoroutine 采样 无持续增长  

4.2 分场景指标(可选附表)

场景 Lag P95 Lag P99 失败率 恢复时间 CB 行为摘要
S1 长跑        
S2 断网恢复          
S3 设备重启          
S4 网络抖动          
S5 超时          
S6 高丢包          

4.3 diagnostics 采样命令(示例)

# ScanEngine SLA 快照
curl -s http://<host>:8082/api/diagnostics/scan-engine | jq '{
  lag_p95: .scan_lag_p95_ms,
  drift: .scan_drift_avg_ms,
  miss: .scan_miss_deadline_total,
  cb_open: .driver_circuit_open_total,
  warnings: .sla_warnings
}'

# Goroutine / 内存(长跑期间定期执行)
curl -s http://<host>:8082/api/diagnostics/scan-engine | jq '{goroutines: .goroutine_count, heap: .heap_inuse_bytes}'

5. 问题与偏差

ID 场景 现象 根因(初判) 是否阻塞发布 跟踪项
        ☐ 是 ☐ 否  

6. G-Industrial 门禁判定

对照 RELEASE_GATE — G-Industrial 发布判定标准

6.1 检查项

检查项 标准 本报告结论
协议覆盖 本协议联机/仿真验证完整;长跑时长符合协议分级(24h/72h) ☐ 满足 ☐ 不满足
异常场景 S2–S6 全部通过(单项 FAIL → 本协议 BLOCK) ☐ 满足 ☐ 不满足
长时联机 S1 达到协议要求时长且稳态指标达标 ☐ 满足 ☐ 不满足
量化指标 §4 硬指标无 BLOCK 项(Lag P95、失败率、miss deadline、恢复时间等) ☐ 满足 ☐ 不满足
三件套 设计 + 代码 + 本报告 已归档 ☐ 满足 ☐ 不满足

6.2 裁量级别

级别 触发条件(摘要) 勾选
PASS S1–S6 全过;§4 指标均为 PASS;无阻塞级偏差
WARN 无 BLOCK;存在可解释偏差(如仅仿真、Lag WARN 档、单次恢复略超上限)且 §5 已跟踪
BLOCK 任必测场景 FAIL;panic/死锁/跨设备污染;指标 BLOCK 档;CB 不可恢复

本协议 G-Industrial 结论:PASS ☐ WARN(注明:________) ☐ BLOCK

§6.2 为 BLOCK 时,§7 不得选择「准予纳入 Release 工业验证范围」。


7. 总体结论

  • 综合结论: ☐ 准予纳入 Release 工业验证范围 ☐ 需复测 ☐ 不予通过
  • 版本发布矩阵对照:RELEASE_GATE — 版本发布判定矩阵(G-Industrial 全部协议 PASS/WARN 签核 → 可纳入 Release)
  • 与 Mock / 单测差异摘要:
  • 发版前建议(如有):

8. 签核

角色 姓名 日期 签名
测试执行      
开发负责人      
产品 / 发布负责人      

附录 — 相关文档

文档 用途
分阶段路线图 — Phase 2 协议范围与必测场景
版本发布门禁 — G-Industrial 发布判定标准
ScanEngine SLA 评估 指标阈值与 Phase 对照
Modbus 联机验证报告(示例) 仿真器联机报告样例

复制本模板为 docs/testing/<协议>_industrial_report_<日期>.md 填写后归档。