笔记-验收阶段监理-24.2 验收阶段监理工作
这章节实在要背诵,太重要了。
24.2 验收阶段监理工作
24.2.1 验收阶段监理工作的重点
监理单位应按照项目合同查看承建单位提供的各种审核报告和测试报告内容是否齐全,再根据平时对承建单位工作情况的了解,可以初步判断开发方是否已经进行了足够的正式测试。
验收可以分为两个大的部分:软件配置审核和验收测试。其大致顺序可分为:文档审核,源代码审核,配置脚本审核,测试程序或脚本审核和可执行程序测试。
验收阶段的每一个相对独立的部分,都应该有目标(本步骤的目的)、启动标准(着手本步骤必须满足的条件)、活动(构成本步骤的具体活动)、完成标准(完成本步骤要满足的条件)和度量(应该收集的产品与过程数据)。
24.2.2 验收组织
1. 组织机构及人员组成 ▲▲▲
业主单位与监理单位协调成立专门的验收委员会,作为验收的组织机构。委员会一般不少于5人(单数)组成,设主任1人,委员若千人;并成立验收测试组和配置审核组,委员可分别参与这两个组的工作。另外还需要侧试员、配置审核员和记录员若干人。
验收委员会由业主单位代表、监理单位代表、承建单位代表以及邀请的技术专家组成员组成。
2. 验收委员会的任务及权限
1)验收委员会的任务
验收委员会主持整个软件验收工作,包括下列任务:
(1)判定所验收的软件是否符合“合同”的要求。
(2)审定验收环境,软件验收环境应与业主单位的实际运行环境一致,验收环境按“合同”或“验收方案”规定,或由三方协商,验收委员会审定。
(3)审定验收测试计划,验收委员会对软件验收测试组制订的验收测试计划进行审定,以保证测试计划能满足验收要求。
(4)组织验收测试和配置审核,进行验收评审,并形成验收报告。
2)验收委员会的权限
(1)有权要求业主单位、监理单位及承建单位对开发过程中的有关问题进行说明。
(2)决定系统是否通过验收。
3. 验收地点和条件
软件验收地点应符合合同或验收方案规定。若在承建单位进行,承建单位应提供验收计划中要求的设备、资源和各种条件;若在业主单位进行,则业主单位必须提供相应的设备、资源和各种条件,并预先通知承建单位提供其应提供的设备和支持软件。
4. 验收记录及报告
验收工作的全过程必须详细记录,记录验收过程中验收委员会提出的所有问题与建议,以及业主单位、监理单位及承建单位的解答和验收委员会对被验收软件的评价。
24.2.3 验收的基本原则
1. 基本原则
(1)验收测试和配置审核是验收评审前必须完成的两项主要检查工作,由验收委员会主持。
(2)测试组在认真审查需求规格说明、确认测试和系统测试的计划与分析结论的基础上制订验收测试计划。
(3)配置审核组在需求规格说明、确认测试、系统测试等过程中形成的产品的变更管理及审核工作的基础上开展审计。
(4)原有测试和审核结果凡可用的就利用,不必重做该项测试或审核。同时可根据业主单位的要求临时增加一些测试和审核内容。
(5)测试组在完成验收测试的同时,完成功能配置审核,即验证软件功能和接口与“合同”的一致性。
(6)配置审核组完成物理配置审核,检查程序和文档的一致性、文档和文档的一致性、交付的产品与“合同”要求的一致性及符合有关标准的情况。
2. 验收测试和配置审核步骤
(1)制订验收测试计划、配置审核计划,做好验收测试、配置审核准备。
(2)验收委员会审定测试计划、配置审核计划和测试准备、配置审核准备情况。
(3)进行验收测试、配置审核,建立完整的测试、配置审核记录。
(4)编写测试报告、配置审核报告。
(5)验收委员会评审。
3. 验收测试和配置审核内容
(1)检查“合同”或“验收标准”要求的所有功能。
(2)检查“合同”或“验收标准”要求的所有质量特性。
(3)检查开发各个阶段的文档、评审结论是否齐全规范。
(4)验证功能和接口与需求规格说明的一致性;检查程序和文档的一致性、文档和文档的一致性、交付的产品与“合同”或“验收标准”要求的一致性及符合有关标准的情况。
(5) 由双方商定所进行的一些特殊测试和配置审核。
24.2.4 配置审核
1. 审查
承建单位应当在验收前提供相应软件配置内容,监理单位应对其进行审查,审查的内容主要包括以下几个部分。
(1)可执行程序、源程序、配置脚本、测试程序或脚本。
(2)主要的开发类文档:需求说明书、概要设计说明书、详细设计说明书、数据库设计说明书、测试计划、测试报告、程序维护手册、程序员开发手册、用户操作手册和项目总结报告。
(3)主要的管理类文档:项目计划书、质量控制计划、配置管理计划、用户培训计划、质量总结报告、评审报告、会议记录和开发进度月报。
在开发类文档中,容易被忽视的文档有《程序维护手册》和《程序员开发手册》。
《程序维护手册》的主要内容包括:系统说明(包括程序说明)和操作环境、维护过程、源代码清单等,编写目的是为将来的维护丈修改和再次开发工作提供有用的技术信息。
《程序员开发手册》的主要内容包括:系统目标、开发环境使用说明、测试环境使用说明、编码规范及相应的流程等,实际上就是程序员的培训手册。
不同大小的项目,都必须具备上述的文档内容,只是可以根据实际情况进行重新组织。
2. 审核
通常,正式的审核过程分为五个步骤:计划、预备会议(可选)、准备阶段、审核会议和问题追踪。预备会议是对审核内容进行介绍并讨论。准备阶段就是各责任人事先审核并记录发现的问题。审核会议是最终确定工作产品中包含的错误和缺陷。
审核要达到的基本目标是:根据共同制定的审核表,尽可能地发现被审核内容中存在的问题,并最终得到解决。在根据相应的审核表进行文档审核和源代码审核时,还要注意文档与源代码的一致性。
在实际的验收测试执行过程中,常常会发现文档审核是最难的工作,一方面由于市场需求等方面的压力使这项工作常常被弱化或推迟,造成持续时间变长,加大文档审核的难度:另一方面,文档审核中不易把握的地方非常多,每个项目都有一些特别的地方,而且也很难找到可用的参考资料。
24.2.5 验收测试
在文档审核、源代码审核、配置脚本审核、测试程序或脚本审核都顺利完成,就可以进行验收测试的最后一个步骤:可执行程序的测试,它包括功能、性能等方面的测试,每种测试也都包括目标、启动标准、活动、完成标准和度量五个部分。
1.测试的前提条件
在真正进行用户验收测试之前一般应该己经完成了以下工作(也可以根据实际情况有选择地采用或增加):
(1)软件开发已经完成,并全部解决了己知的软件缺陷。
(2)验收测试计划已经过评审并批准,并且置于文档控制之下。
(3)对软件需求说明书的审查已经完成。
(4)对概要设计、详细设计的审查己经完成。
(5)对所有关键模块的代码审查已经完成。
(6)对单元、集成、系统测试计划和报告的审查已经完成。
(7)所有的测试脚本己完成,并至少执行过一次,且通过评审。
(8)使用配置管理工具且代码置于配置控制之下。
(9)软件问题处理流程已经就绪。
(10)已经制定、评审并批准验收测试完成标准。
2.测试工作实施
具体的测试内容通常可以包括:安装(或升级)、启动与关机、功能测试(如正例、重要算法、边界、时序、反例、错误处理)、性能测试(如正常的负载、容量变化)、压力测试(如临界的负载、容量变化)、配置测试、平台测试、安全性测试、恢复测试(如在出现掉电、硬件故障或切换、网络故障等情况时,系统是否能够正常运行)、可靠性测试等。
性能测试和压力测试一般情况下是在一起进行,通常还需要辅助工具的支持。在进行性能测试和压力测试时,测试范围必须限定在那些使用频度高的和时间要求苛刻的软件功能子集中。由于承建单位已经事先进行过性能测试和压力测试,因此可以直接使用承建单位的辅助工具。也可以通过购买或自己开发来获得辅助工具。具体的测试方法可以参考相关的软件工程书籍。
如果执行了所有的测试案例、测试程序或脚本,验收测试中发现的所有软件问题都已解决,而且所有的软件配置均已更新和审核,可以反映出软件在验收测试中所发生的变化,验收测试就完成了。
24.2.6 验收评审
1. 评审会
在完成验收测试和配置审核的基础上,召开评审会,进行综合评价。
2.验收准则
(1)软件产品符合“合同”或“验收标准”规定的全部功能和质量要求;
(2)不同安全性关键等级的软件均通过《软件测试细则》文档所要求的各项测试;
(3)文档齐全,符合“合同”或“验收标准”要求及有关标准的规定;
(4)文档和文档一致,程序和文档相符;
(5)对被验收软件的可执行代码,在验收测试中查出的错误总数,依错误严重性不超过业主单位事先约定的限定值;
(6)配置审核时查出的交付文档中的错误总数不超过业主单位事先约定的限定值。
3.评审结论
评审会在综合评价验收测试和配置审计结果的基础上,根据验收准则,给出验收结论。
验收结论分为两种:
(1)通过。表示同意通过验收的委员人数超过按事先约定人数(重要系统由全体验收委员协商一致同意;一般系统需有三分之二以上的委员同意)。
(2)不通过。表示同意通过验收的委员人数达不到通过的要求。
24.2.7 验收报告
在软件验收评审后,必须填写软件验收报告(见图24.2),详尽地记录验收的各项内容、评价与验收结论,验收委员会全体成员应在验收报告上签字。根据验收委员会表决情况,由验收委员会主任在软件验收报告上签署意见。
24.2.8 验收未通过的处理
承建单位应根据验收评审意见尽快修正有关问题,重新进行验收或者转入合同争议处理程序。
24.2.9 系统移交和系统保障监理
1.系统移交和系统保障的重点
1)系统移交的监理
系统验收通过便可进行系统移交,此阶段的监理重点是确保文档及软件的完整、版本一致。
2)系统保障的监理
系统保障的监理工作重点是确保承建单位按照合同和业主要求及时高效地提供系统保障服务。
2.系统移交和系统保障监理的措施
1)系统移交的监理措施
(1)审查承建单位的项目资料清单。
(2)协助业主和承建单位交接项目资料。
(3)确保软件文档和软件的一致性。
(4)开发软件做好备份,保管在安全地方,文件材料归档。
2)系统保障期的监理措施
(1)督导承建单位按“合同”规定及时进行系统保障,抽查系统保障的执行情况。
(2)对项目业主方提出的质量问题进行记录。
(3)督促承建单位进行修复和维护。
(4)对承建单位进行修复的内容进行确认。