把功能要求写成验收项,核心做法是先把“要做什么”改写成“在什么条件下、执行什么操作、看到什么结果”。例如“要有联系表单”不是验收项;“访客填写姓名、邮箱和留言后点击提交,页面显示提交成功,后台能查到这条记录”才是。验收项必须可观察、可重复、可判定,而不是描述愿望。
功能要求回答“系统提供什么能力”,验收项回答“怎样证明这个能力真的可用”。前者可以是“支持文章分类”,后者要写成“在后台新建分类A,把一篇文章归入A,前台分类页只显示该分类文章,且分类名与后台一致”。
写验收项时,建议固定三个部分:前提、操作、预期结果。前提是账号、数据、环境或权限;操作是具体点击、输入或访问路径;预期结果是页面文字、数据变化、文件生成或错误提示。缺少任何一项,测试者就只能靠猜。
新手常遇到两种处理方案,可以按团队规模和交付方式选择。
判断标准很简单:如果只有你一个人改、改完自己看一眼就算完,自然语言清单够用;如果要交给别人验收,或者上线后还要反复检查同一批功能,就用表格。两种方案可以混用,先写清单,再把高风险功能转成表格。
“友好”“快速”“美观”“稳定”这类词不能直接当验收项。需要换成能观察的信号:
这里的关键不是追求术语,而是让另一个人照着做,能得到相同判断。如果两个人对同一条验收项得出不同结论,说明它还太模糊。
假设功能要求是“文章要能置顶”。可以按下面步骤改写:
这样一条验收项就能直接交给别人测试。测试结果只有通过、不通过、待确认三种,不需要再解释“差不多能用”。
执行验收时,不要只走顺利路径。至少检查四类情况:正常输入、缺失输入、错误输入、权限不足。例如表单只填一半、邮箱格式错误、重复提交、未登录访问,这些都能暴露功能要求里没写清楚的部分。
发现不通过时,记录现象而不是判断原因。比如“点击提交后页面空白”是现象;“服务器配置错误”是可能原因,需要进一步排查才能确认。把现象和可能原因分开写,后续修复才不会跑偏。
下一步,挑出你当前建站项目里最模糊的三条功能要求,各改写成一条包含前提、操作和预期结果的验收项,然后实际执行一遍。如果执行时还需要临时解释,就继续改到不需要解释为止。