把功能要求写成验收项,核心是让每条要求都能被第三方独立判断“通过”或“不通过”。做法是:先写清用户动作,再写清系统应给出的可观察结果,最后写清判断依据。黄山网站制作中常见的“页面要美观”“后台要好用”这类描述,不能作为验收项,因为它们没有可观察的通过标准。
很多需求文档会写“支持在线留言”“支持产品展示”“后台可管理内容”。这些是功能名称,不是验收项。功能名称只说明要做什么,没有说明做到什么程度算完成。开发方按自己的理解实现,验收方按自己的预期检查,分歧往往在交付时才暴露。
验收项要回答三个问题:谁在什么条件下操作、操作后能看到什么、用什么方式确认结果。缺少任何一项,验收时就容易变成主观争论。
以黄山网站制作中常见的“在线留言”为例,可以按以下步骤处理:
改写后的验收项可以是:“访客填写全部必填项并提交后,页面显示成功提示,后台留言列表在刷新后出现该条记录,姓名、联系方式、留言内容与输入一致。”这条要求可以被不同的人重复验证,结果一致。
如果某项要求暂时无法写出可观察结果,说明需求本身还没想清楚,应先补充定义,而不是先写一个模糊的验收项。
资源有限时,不必一次把所有功能都写成完整验收项。优先处理三类:
判断顺序可以用一个简单问题:如果这项功能上线后出错,用户会不会立刻受影响、且无法通过后台简单修正?答案为是,就优先写成可验收的条目。
假设黄山网站制作中需要“产品图片上传”功能,验收项可以写成:
后台产品编辑页选择一张 JPG 图片上传,保存后前台产品详情页显示该图片,图片不变形、不缺失;上传超过约定大小的文件时,页面提示文件过大且不保存。
检查时,由非开发人员准备一张符合要求的图片和一张超限图片,分别操作一次,记录实际结果。两项都符合,该项通过;任一项不符合,记录具体现象并退回修改。适用条件是双方已就图片格式和大小上限达成一致;如果上限尚未确定,应先确定数值再写验收项。
把功能要求写成验收项,不是为了增加文档篇幅,而是为了在交付时减少“我觉得可以了”和“这不算完成”之间的拉扯。下一步可以挑出当前项目中最容易产生分歧的一条功能要求,按“触发条件、预期结果、边界异常、判断方式”四栏改写,再拿给开发方和验收方分别确认一遍。