先把“能运行”写成可重复检查的标准
定制程序验收不只是看开发方演示成功一次。双方应保留确认过的需求清单和测试样例,把每项功能写成“输入什么、操作什么、应得到什么结果”。下面是一份准备清单,不代表每个项目默认包含全部服务,最终以项目约定为准。
交付文件:不要只收到一个压缩包
核对安装包或程序文件、版本说明、使用说明、配置示例和约定的其他材料。需要源码时,应提前确认源码是否交付、可使用范围、依赖及其许可;源码交付不等于可以任意转售第三方组件。配置示例使用占位符,不把生产密码或 API 密钥写进公开文档。
运行环境:在实际使用的电脑或服务器检查
记录操作系统、运行时版本、所需依赖、网络条件和权限要求。在双方约定的目标环境完成安装、启动、首次配置与重新启动测试。网页工具还应检查实际使用的手机或电脑尺寸。若交付只包含安装包,不应默认已经包含服务器部署、域名、证书或长期运维。
功能测试:正常输入和异常输入都要检查
例如一个表格处理程序,可以使用脱敏样例确认:正常表格能按规则输出;缺少必填列能说明缺少什么;空文件有清楚提示;重复行按约定处理;重复执行不会产生意外的重复结果。把期望与实际结果逐项记录,避免用“基本没问题”代替验收结论。
数据与账号:确认保存位置和交接方式
说明程序生成的文件或数据库保存在哪里、是否需要备份、谁负责恢复,以及日志中是否会出现敏感信息。用于部署的账号按实际工作分配权限,项目结束后撤销不再需要的权限。不要把完整客户库、支付信息或正式账号密码放到公开验收截图中。
问题清单:区分缺陷与新增需求
未达到已经确认的要求,记录复现步骤、样例、软件版本和错误提示,按项目约定处理;新增功能则另行确认范围、费用和时间。约定修复后怎样复测、由谁确认,以及是否有后续支持安排,不把口头提出的新功能直接当成免费交付内容。
上线与维护:提前谈清第三方变化
确认备份、回滚和联系人。涉及外部网站、接口或第三方服务时,明确接口停用、规则改变和运行环境升级后的处理范围。持续维护、第三方收费和软件订阅期限分别说明;“已经验收”不代表未来所有变化都已包含在同一次开发费用中。