把功能要求写成验收项,核心是让每条要求都能被“做出来、看得见、判得清”。做法是:先写用户要完成什么,再写操作路径,最后写可观察的结果和判定标准。嘉兴网站开发的项目里,如果只写“支持会员登录”“后台能管理内容”,开发完成后双方很容易各说各话;写成验收项后,测试的人按步骤走一遍,就能得出通过或不通过的结论。
假设你要做一个企业展示站,其中一条功能要求是“访客可以提交咨询”。这还不算验收项,因为它没说明填什么、提交后发生什么、怎样算成功。可以拆成下面这样:
这四条就是可验收的。每条都包含触发条件、操作和可观察结果。开发人员知道要做到什么程度,测试人员也知道怎么判断。假设项目由非技术人员验收,可以只保留第1、3条,把提示文案和状态标记放进后续迭代。
任何功能要求都可以按同一套结构展开,写成验收项时逐项检查:
常见错误是只写结果不写路径,例如“用户可以修改密码”。验收时无法判断:从哪里改、要不要验证原密码、新密码有什么规则、改完是否强制重新登录。把这些补上,验收项才成立。
时间和人手有限时,不要平均用力。可以按下面的顺序安排:
判断某条是否属于“最先处理”,可以问一句:如果它不通过,用户还能不能完成主要目的。不能,就提前;能,就往后放。这个方法不依赖具体工具,也不依赖项目大小。
执行验收时,给每条验收项留三列:预期结果、实际结果、判定。判定只写通过、不通过、待确认三种,不写“差不多”“基本可以”。不通过时记录复现步骤和截图,不要只写“有问题”。
对于有多个解释的现象,先区分“可能原因”和“已经定位的原因”。例如提交后没有收到通知邮件,可能原因包括邮件服务配置、收件箱拦截、触发条件未满足;只有在检查发送日志或换收件箱测试后,才能写成已定位原因。验收记录里保留这个区分,后续排查会省很多时间。
如果某条验收项在约定范围内无法测试,例如依赖第三方接口且对方未提供测试环境,应把它标为“待确认”,并写明确认方式和负责人,不要默认通过。
拿出当前功能清单,挑出三条最影响主流程的要求,按“角色—入口与前置条件—操作与输入—可观察结果”改写成验收项,再按上面的优先级排一次序。改完先自己走一遍,走不通的地方就是还需要补充的地方。