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