把功能要求写成验收项,核心做法是:每一条要求都改写成“操作路径 + 可观察结果 + 判定标准”三要素齐全的句子,让另一个人不问你也能判断通过还是不通过。在已有页面或项目上改进时,先盘点现有功能清单,再逐条补上判定标准,而不是重新写一份需求文档。
“联系表单要能正常提交”是要求,不是验收项,因为“正常”没有判定边界。验收项要写成:在联系页填写姓名、邮箱、留言后点击提交,页面显示成功提示,同时后台能在表单记录列表中看到这条内容,且字段值与填写内容一致。
两者的差别在于可复现性。要求描述意图,验收项描述一次具体操作和它的可见结果。凡是出现“友好”“流畅”“合理”“尽快”这类词,都说明还没写成验收项。
建议按下面的顺序改写,每一步都落到纸面上:
三要素缺一个,验收时就会变成口头争论。尤其是判定标准,它决定这条验收项是“通过/不通过”的二值判断,还是需要主观打分。
下面按功能类型给出可套用的结构。示例中的字段名和数值是假设,用于说明写法,实际项目按自己的配置替换。
验收项示例:在联系页只填写邮箱、不填姓名,点击提交,页面停留在当前页并显示姓名必填提示;补齐姓名后再次提交,显示成功提示,后台表单记录新增一条,邮箱值与填写值一致。
适用条件:表单字段和校验规则已经确定。如果校验规则还没定,先定规则再写验收项,否则写出来的标准会随实现变化。
验收项示例:用订阅者角色账号登录,访问后台文章编辑地址,应被拒绝或跳转,不出现编辑界面;用编辑角色账号登录同一地址,应能打开编辑界面。
判断结果:前者通过说明权限限制生效,不通过说明角色能力配置过宽。这类验收项必须写清“用哪个角色、访问哪个具体地址”,否则无法复现。
验收项示例:在文章列表页设置每页显示 10 篇,当已发布文章为 23 篇时,第一页显示 10 篇、第二页显示 10 篇、第三页显示 3 篇,且第三页不出现空白占位或重复文章。
适用条件:文章数量是可控的测试数据。如果站点文章数量经常变动,就把验收项改成“每页数量等于设定值,最后一页数量等于总数除以每页数量的余数”。
验收项示例:在未登录状态访问仅限登录用户查看的页面,应跳转到登录页,登录成功后回到原页面,而不是回到首页。
判断结果:回到原页面算通过,回到首页算不通过。这类验收项要明确写出“跳转到哪里”和“登录后回到哪里”两个终点。
不需要推翻现有页面,按下面顺序逐条核对即可:
完成一轮改写后,把验收项交给没有参与开发的人执行一次。他能独立走完操作并给出通过或不通过的结论,说明写法合格;他需要反复问你“这里应该是什么样”,说明该条还没写完。
从现有功能清单里挑出最常出问题的一条,按“操作路径 + 可观察结果 + 判定标准”改写成验收项,实际执行一遍,记录下哪些地方仍然需要口头补充。这些需要补充的地方,就是下一条要补全的验收项。