把功能要求写成验收项,核心是让每条要求都能被明确判断“通过”或“不通过”。做法是:先写清用户操作路径,再写清预期结果,最后写清检查方法和不通过时的表现。对新手来说,最实用的起点不是追求文档格式,而是把“我要一个登录功能”改写成“输入已注册邮箱和正确密码,点击登录后进入个人中心;输入错误密码时停留在登录页并显示错误提示”。
功能要求回答“要做什么”,验收项回答“做到什么程度算完成”。例如“网站要能搜索”是功能要求,验收项则应写成:在搜索框输入一个已存在的内容标题,点击搜索后,结果列表中出现该标题;输入不存在的词,页面显示无结果提示而不是报错。前者容易产生理解分歧,后者可以直接照着操作检查。
判断一条要求是否适合作为验收项,可以看它是否包含三个要素:操作入口、具体动作、可观察结果。缺少任何一个,执行时就容易变成口头确认。
“界面友好”“加载快”“兼容性好”这类词无法直接验收。替换方法是指定判断条件。例如把“加载快”写成:在常用浏览器中打开该页面,主要内容在可接受时间内出现,不出现长时间空白;把“兼容性好”写成:在电脑浏览器和手机浏览器分别打开,主要功能均可完成。这里不规定具体秒数,因为不同项目的可接受范围不同,但必须事先约定一个可观察的标准,否则验收时只能凭感觉争论。
如果对方只给了一句模糊要求,可以追问三个问题:在哪个页面操作?操作后应该看到什么?什么情况下算失败?这三个问题的答案,基本就能组成一条验收项。
写好的验收项不要只放在文档里。挑选其中三条,让没有参与开发的人照着操作一遍。如果对方能独立完成并给出通过或不通过的结论,说明写法可用;如果对方需要反复询问“点哪里”“看到什么才算对”,说明这条还需要补充入口、动作或预期结果。
对于假设示例:某网站要求“用户能提交留言”。可写成验收项——未登录用户填写昵称和内容后点击提交,页面显示提交成功,刷新后留言仍出现在列表中;内容为空时点击提交,页面停留在原处并提示内容不能为空。这个例子只用于说明写法,不代表任何真实项目的完成情况。
下一步,从现有功能要求中挑出最核心的一条,按“入口、动作、预期结果、异常表现”四段改写成验收项,再实际走一遍流程。能走通,就继续改写下一条;走不通,就先补清楚要求本身。