本层判断标准

用另一个范围的账号打开同一条地址,页面上有没有出现不属于他的标题?

出现即失败,不用再看后面的项。这一条在合并前做一次,并把「谁在什么时候做」写进合并请求,不留给下一个接手的人。

关键路径清单

前置条件:服务按说明启动起来,两个范围各有账号、各有一条标题不同的记录,无依据的那句原句已经写在验收文档里。下面六条是最小集合,每条记下页面实际出现的原句——原句可变,判据不变。

路径期望失败的样子
未登录打开列表地址到登录页,或出现「请先登录」直接看到数据
本范围的列表只有本范围的标题出现另一个范围的标题
改地址去访问别人的那一条出现与「记录不存在」相同的一句,不出现对方的标题出现对方标题,或出现「无权访问」这种能区分存在与否的句子
检索一个材料里没有的问题出现验收文档里那句无依据的原句,不出现材料外的讲解说完无依据之后仍继续生成一段讲解
必填项留空直接提交按钮旁出现字段级的提示,页面不整页刷新报错整页 500,或只有控制台报错、页面毫无提示
提交一条后刷新新记录仍在列表里刷新后消失(只存在于前端状态)

第 3 条与接口测试里的越权用例是同一件事的两个入口:接口那一层证明服务端返回了两段相同的正文,这一条证明页面没有把它渲染成两句不同的话。两者不能互相代替。

长什么样子

一条走查记录是「账号 + 操作 + 页面原句」三样。原句可变,判据不变;只有截图证明不了会话范围。

一条走查记录

账号 B(他范围) → 打开 /items/1001(属于账号 A)
页面原句:「记录不存在」
期望原句:「记录不存在」 → 通过

要认的是这个形状:证据是页面出现的原句,不是人的印象。写「看了一眼没问题」或只贴一张截图,都不构成证据。

助手交出来的样子

账号 B(他范围) → 打开 /items/1001(属于账号 A)
页面原句:「无权访问此记录」      与「不存在」那句不同
记录里写:符合预期 ✓             写的是印象,不是原句

认它的办法:记录里必须抄页面原句。写「符合预期」或只贴一张截图,下一个人无法判断越权那句与不存在那句是不是同一句——而这两句不同,正是服务端那条逐字节相同的断言没被执行到的证据。

典型应用示例:换一个范围的账号打开同一条地址

场景:助手改的是列表页的渲染,服务端没动。接口测试全绿,看起来不需要人再看一遍。

有它 用另一个范围的账号打开同一条地址,页面上出现的是与「没有这条记录」相同的一句,不出现任何对方的标题。记录里写的是页面原句,不是「符合预期」——下一个人照着这份记录能一步一步复现。
没有它 只登录了自己的账号看了一眼。渲染层把「越权」与「不存在」写成了两句不同的提示,服务端那条逐字节相同的断言根本没被执行到——接口测试绿着,页面已经在泄露存在性。

基本注意点

判据落在证据上。「截图对比过了」不算证据,它证明不了会话范围。

项证据不通过的样子
关键路径 6 条每条一行记录:账号 + 操作 + 页面原句只有截图,没有原句
三个宽度三份记录,文件名含宽度与路径只看了桌面宽度
可访问性几项查询的返回值,或逐项勾选记录写「看了一眼没问题」
越权用另一个账号打开对方地址后的页面原句只登录了自己的账号
记录写进验收文档,署名与时间在文末合并请求里写「已测」三个字

没做的项写「未查」。本次没改文案,就写「页面:未查(本次没有改文案)」——这句比一个假的「已通过」有用得多,它告诉下一个人该补什么。原句与页面不一致时,先改文档或改页面让两者相同,再标通过。

三个宽度(375 / 768 / 1280)各看一次,文件名带宽度与路径;截图只用来证明布局,不用来证明会话范围——后者只能靠账号与原句。可访问性只看几条能一行查出来的下限:输入框有标签、图标按钮有名字、图片有替代文本、键盘能走完全部交互、错误提示不只靠颜色;这是下限,不是合规检查。记录写进验收文档并署名,本次没做的项写「未查」——它比一个假的「已通过」有用得多。