把功能要求写成验收项的核心做法是:每条要求都写成“谁在什么条件下做什么操作,系统给出什么可观察结果”,并补上不通过时的判定标准。这样多人协作时,开发、设计和客户都能拿同一份文字判断做没做完,而不是靠口头印象反复返工。
功能要求回答“要做什么”,验收项回答“做到什么程度算完成”。例如“要有留言功能”只是要求,无法验收;改成“访客填写姓名、电话、留言内容后点击提交,页面显示提交成功提示,后台留言列表出现这条记录”,才具备可检查的结果。
适用前提是需求已经大致确定,参与方包括需求提出人、开发、测试和最终使用方。如果需求本身还在反复变化,先把变化点单独列出来,不要急着写成验收项,否则改一次就要重写一遍。
推荐每条验收项包含四个成分:角色、前提、操作、可观察结果。可以套用这个句式:
作为[角色],在[前提条件]下,执行[操作],应当看到[结果]。
假设一个企业站需要“产品询价”功能,可以写成:作为访客,在产品详情页填写手机号和需求说明后点击提交,页面显示“提交成功”,同时后台询价列表中新增一条记录,包含该手机号和需求说明。这是示例,不是真实项目结果。
“友好”“美观”“快速”“兼容”这类词无法直接验收,需要拆成检查项。常见替换方式:
判断标准要写清通过和不通过。比如“不出现横向滚动条”可以通过和不超过一屏宽度的截图对比来判断;如果出现横向滚动,就记为不通过。
把验收项放进一张表或清单,每条给唯一编号,并标注状态:待开发、待验收、已通过、需修改。每次评审只讨论状态不是“已通过”的条目,避免同一句话被不同人理解成不同结果。
实际执行可以按这个顺序:
验收信号是:不同人按同一份清单操作,对同一条目得出相同结论;如果两个人对同一条结果判断不一致,说明这条验收项还需要补充前提或判定标准。
优先复核涉及表单提交、权限、内容发布、数据删除和对外展示的条目,因为这些最容易在多人协作中漏掉。检查时确认:提交后是否有明确反馈;不同角色看到的内容是否符合预期;删除或修改后列表和前台是否同步变化;异常输入是否有提示而不是空白页。
下一步,挑出当前争议最多的一条功能要求,按“角色、前提、操作、可观察结果”改写成一条验收项,再让开发和需求提出人分别判断能否通过。如果双方结论一致,就可以把这条作为模板,继续处理其余要求。