P289 · 任务流程

把模糊任务改成可验证目标

Reformulate tasks as observable goals

说明成功时能观察到什么,并在每个关键步骤核验。

编辑审核

以下示例与示意结果由本站编写,用于说明方法,不是模型实测结果。

使用场景

用户要求修复改密码后旧会话仍有效的问题。教学应用契约规定:同一账号旧会话在密码修改后应被拒绝,新登录仍能访问;旧会话访问状态原为 200,目标为 401。目标必须按该契约检查,不能泛泛说“改善认证”。

具体做法

把请求改写为能观测的输入、动作和结果,指定检查身份与版本。先用旧会话复现,再修改失效路径,检查旧会话被拒绝、新登录正常以及相关回归。每个重要阶段绑定证据,未达到目标就保留未完成,不用改动数量代替行为判据。

反例

广泛重构认证,修改几个名称后说安全性改善;不检查改密码前后的同一旧会话或新登录。

改进写法

以教学契约为目标:保留一个合成账号的旧会话,修改密码后访问应由 200 变 401,新登录仍返回 200。先观察原失败,再修复相应失效逻辑,运行同一会话判断和新登录回归,记录对应版本与实际输出。只完成本次行为,不从重构量推断所有认证安全。

为什么这样改

可观察目标使完成与活动描述分开。使用同一旧会话以及正常路径检查,能判断是否解决了报告症状,而不是仅让某个不相关断言通过。

如何验证

教学验收需比较同一身份的旧会话拒绝与新登录成功。错误地检查另一个账号、仅查看响应文本或忽略新会话失败,都不足以支持修复。

结果只有实际执行后才记通过;本篇不操作真实账号或密码。

适用边界

会话失效政策由应用契约决定,本例不声明所有服务都采用相同规则。判据须检查真正要求的身份与关系;只看总数或分数不能证明对象次序或对应行为。

原文与版本

如何收录这些方法