笔记-实施阶段监理-23.2 实施阶段监理的工作内容

23.2 实施阶段监理的工作内容

由于信息应用系统建设的特殊性,监理单位此阶段的重点并不再对具体工作的检查、测试上,而应该放在对承建单位的宏观监督方面

目前国内信息应用系统建设过程中,在此阶段常发生承建单位不按设计阶段制定的质量保证计划对编码工作进行约束检查,忽视开发过程的单元测试、集成测试工作等情况。上述情况会导致工程建设质量得不到保证,最终影响到工程的质量、进度与资金投入。

因此,监理单位在此阶段主要监督承建单位严格按照工程设计阶段所制定的进度计划、质量保证计划、系统设计进行开发工作,检查承建单位是否按照设计中制定的规范与计划进行编码与测试。在此过程中,监理单位主要通过代码走查方式检查编码规范的执行情况,检查单元测试、集成测试和确认测试是否按计划进行并有测试与修改记录、集成测试是否按计划进行并有测试与修改记录。在此过程中需要检查测试计划是否得到落实测试方案与规范是否合理,测试是否有详细记录并进行修改与回归测试,必要情况下可由监理单位对测试结果进行抽检。

对于开发过程实现阶段的监理,还需要注意承建单位版本控制方面的工作是否能够正常进行,是否有专人进行版本的总体控制,开发人员是否严格按照质保人员的要求进行具体版本控制,必要情况下需要对版本控制的工作进行抽检。但切忌由监理单位进行具体测试而取代开发方的内部测试,这种方法并不能保证工程的质量。

系统测试一般由专门委托的测试机构进行,需要对所有软硬件进行以功能为主的测试工作(必要情况下要附加性能测试),需要对测试情况进行记录并进行针对错误的修改与回归测试,在测试完成后要根据测试全过程的情况编写正式的系统测试报告。

23.2.1 软件编码监理

软件编码监理的主要目的是为了控制软件编码阶段的工程进度,监督软件编码的编程风格和质量,使得软件编码阶段的工作能可靠、高效地实现软件设计的目标,同时符合承建单位的软件过程规范的要求。

1. 软件编码监理的目标

(1)监督承建单位定义和综合软件编码任务,并在生产软件的过程中始终如一地执行这些任务。
(2)监督使得软件工作产品彼此间保持一致性。
(3)监督使得软件编码的工作进度与计划保持一致性
(4)监督使得软件编码的工作质量达到计划的要求。

2. 软件编码阶段监理的活动

1)监督承建单位将合适的软件编码工程方法和工具集成到项目定义的软件过程中

(1)依据项目定义的软件过程对软件编码任务进行综合
(2)选择软件编码可用的方法和工具,并将选择专用工具或方法的理由写成文档;

对备选方法和工具进行选择依据是:

  • 机构标准软件过程
  • 项目定义的软件过程
  • 现有的技术基础
  • 可得到的培训
  • 合同
  • 工具的能力
  • 使用的方便性和提供的服务

(3)选择和使用适合于软件编码的配置管理模型。配置管理模型可能是:

  • 入库出库模型
  • 组合模型
  • 事务处理模型
  • 更改处理模型

(4)将用于软件编码的软件产品和工具置于配置管理之下。

2)监督承建单位依据项目定义的软件过程,对软件编码进行开发、维护、建立文档和验证,以实现软件需求和软件设计

(1)参与软件编码的人员评审软件需求和软件设计,以确保影响编码的各种问题得到识别和解决。
(2)使用有效的编程方法编制软件代码。编程方法可能是:

  • 结构化编程
  • 代码重用

(3)根据一个计划制定代码单元的开发顺序,该计划考虑诸如关键性、难度、集成和测试问题;合适时,还要考虑客户和最终用户的需要。
(4)每个代码单元完成编码时,通过评审和单元测试
(5)将代码置于配置管理之下
(6)每当软件需求或软件设计更改时,适当地更改代码。

3)软件监理组跟踪和记录软件编码产品的功能性和质量

跟踪和记录的内容有:

(1)跟踪、累计的软件编码产品缺陷的数量、类型和严重程度
(2)软件编码产品工程活动的状态
(3)有关问题严重性和持续时间的报告
(4)用于分析每个更改建议的工作量及汇总统计量
(5)按类别(如界面、安全性、系统配置、性能和可用性)被纳入软件基线的更改数量

3. 软件编码阶段监理的方法

定期审查、抽查、评审:

(1)定期审查软件编码的工程活动和工程进度;
(2)根据实际需要对软件编码工程活动、工作进度进行审查;
(3)对软件编码工程活动和产品进行评审和(或)审核,并报告结果。这些评审和(或)审核至少应包括:

  • 软件编码工程任务的准备就绪和完成准则得到满足;
  • 软件编码符合规定的标准和需求;
  • 已完成所需的测试;
  • 检测出的问题和缺陷已建立文档,并被跟踪和处理;
  • 通过软件编码,对设计的跟踪得以实施;
  • 在软件产品提交前,依据软件基线验证了用来管理和维护软件的文档;

23.2.2 软件测试监理

目前国内信息应用系统建设过程中,在此阶段常发生未经过严格系统测试就匆忙上线试运行的情况,这往往会造成新系统的不稳定,在某些情况下会阻碍系统的正式上线运行。

因此监理单位在此阶段主要检查承建单位是否按照设计中制定的规范与计划进行测试。但切忌由监理单位进行单元、集成或确认测试而取代开发方的内部测试,这种方法并不能保证工程的质量。

1. 软件测试监理的目标

(1)监督和控制承建单位的软件测试过程,确保软件测试按照承建单位的测试文档规范和业主的软件要求实施
(2)软件测试反映出记录着软件产品的真实情况;
(3)软件测试的各个阶段按计划步骤实施;
(4)对于软件测试反映出的问题能有效地按回归测试规范进行处理
(5)最后得到符合软件任务书(或合同)要求的软件产品集;
(6)软件测试的进度与计划保持一致性。

2. 软件测试阶段监理的活动

测试方法、文档管理、监督确认测试、监督系统测试、追踪测试结果。

1)监督承建单位将合适的软件测试工程方法和工具集成到项目定义的软件过程中

(1)依据项目定义的软件过程对软件测试任务进行综合;
(2)选择软件测试可用的方法和工具,并将选择专用工具或方法的理由写成文档;

对备选方法和工具进行选择的依据是:

  • 机构标准软件过程
  • 项目定义的软件过程
  • 现有的技术基础
  • 可得到的培训
  • 合同需求
  • 工具的能力
  • 使用的方便性和提供的服务

(3)选择和使用适合于软件测试的配置管理模型。配置管理模型可能是:

  • 入库出库模型
  • 组合模型
  • 事务处理模型
  • 更改处理模型

(4)将用于测试软件产品的工具置于配置管理之下。

2)监督承建单位依据项目定义的软件过程,对软件测试进行开发、维护、建立文档和验证,以满足软件测试计划要求

软件测试有静态测试、单元测试、集成测试、确认测试和系统测试组成。

(1)可与客户和最终用户一同参与开发和评审测试准则。
(2)使用有效方法测试软件。
(3)基于下列因素确定测试的充分性:

  • 测试级别。测试级别有单元测试、集成测试、确认测试和系统测试。
  • 选择的测试策略。测试策略有功能测试(黑盒测试)、结构测试(白盒测试)和 统计测试。
  • 欲达到的测试覆盖。测试覆盖方法有语句覆盖、路径覆盖、分支覆盖和运行剖 面覆盖。

(4)对每个级别的软件测试,建立和使用测试准备就绪准则。确定测试准备就绪准则包括:

  • 软件单元在进入集成测试前己成功地完成了代码的静态测试和单元测试
  • 在进入系统测试前,软件己成功地完成了确认测试;
  • 在软件进入系统测试前,已对测试准备就绪进行评审;

(5)每当被测试软件或软件环境发生变化时,则在各有关的测试级别上适当进行回归测试
(6)对于测试计划、测试规程和测试用例,准备使用前通过评审
(7)管理和控制测试计划、测试说明、测试规程和测试用例
(8)每当软件需求、软件设计或被测试代码更改时,适当地更改测试计划、测试说明、测试规程和测试用例

3)监督承建单位依据项目定义的软件过程、计划和实施软件的确认测试

(1)基于软件开发计划,制定确认测试计划并写成文档
(2)负责软件需求、软件设计、系统测试及验收测试的人员,评审确认测试用例、 测试说明和测试规程。
(3)依据指定的软件需求文档和软件设计文档的指定版本,进行软件确认测试

4)计划和实施软件系统测试,实施系统测试以保证软件满足软件需求

(1)尽早分配测试软件的资源,以做好充分的测试准备。所需的测试准备活动包括:

  • 准备测试文档
  • 准备测试资源
  • 开发测试程序
  • 开发模拟程序

(2)编制系统测试的计划文档。如果合适,该测试计划由业主单位进行评审和认可。此测试计划包括:

  • 全面测试和验证的方法
  • 测试职责
  • 测试工具、测试设备和测试支持需求
  • 验收准则

(3)由一个独立于软件开发者的测试小组来计划和准备所需的测试用例和测试规程。
(4)在测试开始前,对测试用例建立文档,并经评审和认可。
(5)依据已纳入基线的软件及其软件任务书(或合同)和软件需求文档,实施软件测试。
(6)对测试中发现的问题建立文档,并跟踪到关闭
(7)建立测试结果文档,并以此作为判断软件是否满足需求的基础。
(8)管理和控制测试结果。

5)软件监理组跟踪和记录软件测试的结果

跟踪和记录的内容有:

(1)跟踪、累计的软件产品缺陷的数量、类型和严重程度
(2)软件测试工程活动的状态
(3)有关问题严重性和持续时间的报告。
(4)用于分析每个更改建议的工作量及汇总统计量
(5)按类别(如界面、安全性、系统配置、性能和可用性)被纳入软件基线的更改数量。

3. 软件测试阶段监理的方法

定期检查、必要抽查、评审

(1)定期审查软件测试的工程活动和工作进度。
(2)根据实际需要对软件测试工程活动进行跟踪、审查和评估
(3)对软件测试工程活动和产品进行评审和(或)审核,并报告结果。这些评审和(或)审核至少应包括:

  • 软件测试工程任务的准备就绪和完成准则得到满足。
  • 软件测试符合规定的标准和需求
  • 已完成所需的测试
  • 检测出的问题和缺陷已建立文档,并被跟踪和处理。
  • 通过软件测试,软件产品符合软件需求的要求
  • 在软件产品提交前,依据软件基线验证了用来管理和维护软件的文档。
--------------本文结束 感谢您的阅读--------------