Skip to content

Latest commit

 

History

History
56 lines (34 loc) · 3.35 KB

53.md

File metadata and controls

56 lines (34 loc) · 3.35 KB

53 · 商品结果不可信

由 pnpm docs:lessons 生成;内容源 src/data/advanced.json,合同源 scripts/generate-advanced.mjs。含教师参考答案。前置:18、19、20、36。

目标与原理

联合请求、执行顺序和存储判断。为一次操作建立输入、请求、提交和持久化的时间线;同时检查正确性和刷新后的状态。

请求完成不等于允许提交

用递增序号绑定当前查询,较早请求可以较晚完成。

持久化也有契约

记录 schemaVersion、筛选与结果的关系;刷新不能信任旧结构。

先独立提交,再看重放

第一次检查后解锁证据模型,避免先看到根因再找佐证。

交互演示

提交后重放请求和状态变化。改变本课输入条件并预测结果;对照请求、状态或约束的关系;切换最小修复并复位,核对改变的范围。综合题先提交判断再解锁因果模型,所有模型不计完成。

商城实战

连续搜索后显示了上一次商品;刷新又恢复旧筛选。先记录预期与实际,不预设工具。

  1. 记录搜索词、目标商品和刷新前后状态;先不要看答案。
  2. 运行故障,执行一次快速搜索与恢复;保留实际请求及页面状态。
  3. 自主选择工具,追踪输入到最终显示的顺序与持久化值。
  4. 提交初步判断后,回原理步骤重放因果链,检查遗漏。
  5. 只应用一个对应对照,保持查询和数量一致,重新执行。
  6. 用新查询、重载恢复和购物车验证;记录排除的假设。

独立挑战与参考答案

在新配置提交证据链与回归结果。新输入与两种故障随机;可能再次抽到同种,不保证轮流。

配置 根因 实际证据 针对性验证
配置1 过期搜索响应覆盖了当前查询 两个真实搜索请求先新后旧完成,页面却提交旧序号 只提交最新请求并保存当前筛选,重复快速搜索与恢复
配置2 旧版本筛选记录未经迁移就恢复 本会话 Storage 的 schemaVersion=1,恢复后分类不符合当前输入 迁移或拒绝旧结构,只清理本会话键并复测恢复
干扰项 只根据表面现象修改无关条件 没有保留条件与输入的一次截图 同时改变设备、数据与逻辑,只保留成功结果

三级提示

  1. 先复现 连续搜索后显示了上一次商品;刷新又恢复旧筛选。先记录预期与实际,不预设工具。
  2. 对照实际证据:两个真实搜索请求先新后旧完成,页面却提交旧序号;或 本会话 Storage 的 schemaVersion=1,恢复后分类不符合当前输入
  3. 一次只改变对应原因:只提交最新请求并保存当前筛选,重复快速搜索与恢复;或 迁移或拒绝旧结构,只清理本会话键并复测恢复

验收、边界与恢复

实际请求和独立会话 Storage;页面恢复按钮重读存储,真正刷新另行手工验证。 保持输入、数量、环境一致;完成故障与正常对照,选择一致证据;三轮引导和两配置挑战分别取证,原生步骤与本地结果分列。停止后清理本会话资源,再恢复浏览器设置。

共同合同 · 本批验收 · 官方参考。