方法指南

可复现的重放,从明确契约开始

记录输入、状态转移、不变量和信息可得性的实用方法。

约 6 分钟

可复现不仅是固定随机种子

确定性程序可以无限次复现同一个错误状态。有效的重放记录应从程序实现的规则开始:数据格式、序列范围、事件语义、初始状态,以及每个输出的确切含义。

区分协议事实与实验假设。规范中的改单规则属于前者,假设每笔订单都是单位数量属于后者。两者都可能有用,但读者不应依靠猜测区分。

保留一份精简实验记录

experiment: event-order-001
input: three synthetic SET messages
sequence_scope: one channel, one session
initial_state: quantity = 0
update_rule: SET overwrites quantity
source_order_expected: 7
receive_order_expected: 4
network_access: none

记录应随代码保留。对较大输入,还应保留校验值、解析器版本和数据许可或访问条件。机器可读记录可以呈现后续变化,避免同一文件名悄然指向不同数据。

检验不变量,而不仅是最终值

最终校验值可以表明存在差异,却未必定位原因。逐事件检查更易发现问题:例如撤单前订单应存在、存续订单剩余数量应为正、订单级加总应与相同纳入范围的聚合状态一致。

不变量必须符合行情协议。消息可能代表更正、恢复更新或会话转换。因简化假设而拒绝它,不等于数据源错误。测试样本应明确表示特殊转移。

记录信息何时可得

离线重建可能借助后续消息解释早先事件。这用于诊断可以合理,但在当时决策时未必可得。应标明输出属于事后状态、行情观察状态还是实时可用特征。

如果时间戳在消费者尚未观察到的处理阶段赋值,仅比较时间戳并不充分。可得性属于观察模型,应接受检验。诊断标签需要与决策规则使用的输入分开。

审阅材料应包括什么

  • 具有来源说明与稳定标识的输入样本。
  • 明确假设与不支持的消息类型。
  • 逐事件预期轨迹与最小运行命令。
  • 失败状态、恢复规则与信息可得性检查。
  • 说明实验不能建立哪些结论。

这是建议采用的审阅方法,不代表某个生产系统已经通过审计。公开实验为该流程提供了一个刻意简化的教学样本。

查看事件顺序实验
返回研究目录继续查看实验

搜索网站

    方向键选择 · Enter 打开 · Esc 关闭Ctrl / ⌘ K

    浏览器设置

    隐私与显示

    设置适用于当前网站与浏览器,可随时通过页脚重新调整。

    必要设置

    在当前设备记住本次选择。

    始终启用

    未安装广告或受众分析工具。拒绝可选存储不影响阅读或联系。

    Cookie 与存储详情