客户验收(Customer Acceptance, CA)是指客户依据合同对产品进行审查和测试,确保产品满足客户需求。
客户验收过程域是SPP模型的重要组成部分。本规范阐述了客户验收的规程,该规程的“目标”、“角色与职责”、“启动准则”、“输入”、“主要步骤”、“输出”、“完成准则”和“度量”均已定义。
本规范适用于国内IT企业的软件研发项目。建议用户根据自身情况(如商业目标、研发实力等)适当地修改本规范,然后推广使用。
一、介绍
客户对产品的验收主要有两种方式:
成果审查。验收人员审查开发方应当交付的成果,如代码、文档等等。确保这些成果是完整的并且是正确的。
验收测试。验收人员对待交付的产品进行全面的测试,确保产品功能、质量符合需求。
验收测试的内容、方法与系统测试几乎是相同的。两者主要区别在于执行人员不同。验收测试人员来自于客户方,而系统测试人员则来自于开发方。客户验收流程如图1-1所示。
客户验收过程域产生的主要文档有:
《客户验收计划》,模板见[SPP-TEMP-CA-PLAN]。
《验收测试用例》,模板见[SPP-TEMP-TEST-CASE]。
《客户验收报告》,模板见[SPP-TEMP-CA-REPORT]。
补充说明:“客户验收”是针对合同项目而言的,对于非合同项目,请参见Beta测试[SPP-PROC-BETA]。
二、客户验收规程
2.1 目的
客户依据合同对产品进行审查和测试,确保产品满足客户需求。
2.2 角色与职责
客户方组建一个验收小组,并指定验收负责人。
开发方的项目经理和其他成员为客户验收工作提供协助。开发方应当及时解决客户方发现的问题。
2.3 启动准则
系统测试已经完成。
开发方对客户进行了必要的培训,参见培训管理规范[SPP-PROC-TM]。
2.4 输入
产品需求文档
产品使用指南
有关合同
2.5 主要步骤
[Step1] 验收准备
开发方和客户方共同制定《客户验收计划》,主要包括“成果审查计划”和“验收测试计划”。双方的负责人审批该计划。
开发方和客户方共同设计“验收测试用例”。
开发方将待验收的工作成果准备好,并将必要的材料提前交给验收小组。
[Step2] 成果审查与验收测试
成果审查。验收人员根据计划审查开发方应当交付的成果,如代码、文档等等。确保这些成果是完整的并且是正确的。验收人员将审查结果记录在《客户验收报告》之中。
验收测试。验收人员依据计划和测试用例,对待交付的产品进行全面的测试,确保产品符合需求。验收人员将测试结果记录在《客户验收报告》之中。
[Step3] 问题处理
如果验收人员在审查与测试时发现工作成果存在问题,则开发方应当视问题的严重性与客户协商,给出合适的处理措施。
如果工作成果存在严重的缺陷,则退回给开发方。开发方应当给出纠正缺陷的措施,双方协商第二次验收的时间。如果给客户方带来损失,应当依据合同对开发方作出相应的处罚。
如果工作成果存在一些轻微的缺陷,则开发方应当给出纠正缺陷的措施,双方协商是否需要第二次验收。
[Step4] 交付与签字
当待验收的所有工作成果都通过了审查和测试后,开发方将其交付给客户方。双方的责任人签字认可。
2.6 输出
《客户验收报告》
2.7 结束准则
所有应交付的工作成果都已经通过了客户方的审查与验收。
《客户验收报告》已经产生,双方的责任人已经签字认可。
2.8 度量
项目经理统计客户验收期间双方投入的工作量。
三、 实施建议
在客户验收之前,开发方对验收人员进行必要的产品培训。
开发方可以将系统测试用例给验收人员参考,以减少设计测试用例的时间。
开发方人员应当热情地协助验收人员。对验收人员发现的软件缺陷马上予以纠正;对于复杂的问题应当立即请示有关领导,不可拖延。在验收期间不可与客户争吵,给客户留下很好的印象。
对验收过程中产生的所有有价值的文档进行配置管理。
四、客户验收报告
1. 基本信息
2. 成果审查报告
3.验收测试报告
4.问题处理
提示:如果客户方方发现工作成果中存在缺陷,双方应当视问题的严重性给出合适的处理措施。(1)如果工作成果存在严重的缺陷,则退回给开发方。开发方应当给出纠正缺陷,双方协商第二次验收的时间。开发方应当赔偿给客户方造成的损失。(2)如果工作成果存在一些轻微的缺陷,则开发方应当给出纠正缺陷的措施,双方协商是否需要第二次验收。
5.交付签字
提示:
(1)当待验收的所有工作成果都通过了审查和测试后,开发方将其交付给客户方。
(2)双方的责任人签字认可。