软件项目验收不是走过场是一场以合同和技术协议为根据的符合性审查。
一、验收前必确定的前置条件
任何一方提出验收前逐项核对:
开发工作已完成,所有功能开发、单元测试、集成测试已完成,并通过开发方内部测试。
部署环境就绪,已部署到约定的验收环境(最好和生产环境配置一致),并完成初始化。
合同交付物备齐,除可执行程序外,需求文档、设计文档、操作手册、维护手册、源代码(如约定)等全部备好。
培训和知识培训完成,系统管理员和重点用户已完成操作培训。
二、验收的依据
验收不是看着测,必须拿着下面三份文件逐条比对:
合同及技术协议附件,约定了功能、性能、交付物清单、验收标准,任何口头承诺都不算。
需求规格说明书 ,定义了每一个功能的详细行为,必须是双方签字确定的版本。
需求变更通知单,开发过程中的所有有效变更。不在变更单里的新增功能可暂不入此次验收。
三、验收执行六步
1. 制定验收计划和标准
由建设方牵头,和开发方共同编制《验收计划》,确定验收范围、标准、方法、环境、时间表、人员分工。
将验收通过的标准量化,如功能通过率100%,未解决的一级/严重缺陷为0,二级/一般缺陷小于等于如果干项等。
2. 组建验收团队
业务组用户,负责操作真实业务场景,证实易用性和业务思路完整性。
建设方技术代表,负责检查代码、架构、部署文档等技术交付。
独立检测机构,负责客观的性能、安全、功能符合性测试并出具带CMA/CNAS章的报告。
3. 执行验收测试
验收不是测一遍就完事,要分层进行:
第一层:文档和交付物审查:核对合同要求的文档是不是齐全、内容是不是和实际系统一致,操作手册是不是可按步骤完成所有任务。
第二层:功能符合性测试:根据SRS,由业务组逐条执行测试用例,证实功能是不是准确实现。必须包含异常场景和流程分支,不应只走正确流程。
第三层:非功能验收测试:
性能/压力测试:按合同约定的并发用户数、响应时间、吞吐量标准,用生产环境一样或等比例缩放的环境施压。
安全测试:至少做一次漏洞扫描和渗透测试,证实账户权限、数据加密、敏感信息保护。
可靠性/兼容性:测试长时间运行稳定性,以及约定的浏览器、操作系统、移动设备兼容性。
4. 缺陷管理和回归测试
所有发现的问题录入缺陷管理工具,按等级划分,设定修改期限。
开发方修复后,建设方或第三方必须在完全相同的测试环境和场景下进行回归测试,并记录。
5. 编制并审检查收报告
报告必须根据原始测试记录,内容至少包含:
测试环境信息、测试工具、测试根据
测试用例执行统计(通过/失败/阻塞的数量及比例)
缺陷汇总和处理状态(已修复、遗留、拒绝)
对遗留缺陷的逐条风险考虑和建议
有数据支撑的验收结果
6. 召开验收评审会
由建设方组织,双方甚至三方(如引入第三方)共同参加。
当场宣读验收报告,逐项确定,并形成三种结果之一:
通过:满足全部验收标准,签署《验收报告》。
有条件通过:主体无问题,存在少量不影响主流程的遗留问题。需附《遗留问题备忘录》,确定修复责任人和时限,可先签署验收并发起支付。
不通过:存在严重缺陷或大量未达标项,限期整改后,重新组织验收。