论文部分内容阅读
[摘 要]归纳总结软件测试在项目中的类型,并阐述出现这些项目的原因和特点。依据这些特点本文给出了在软件测试中CMM的关键作用域和实施过程。并用一个实际的案例来证明在软件测试项目中CMM模型的成功应用。
[关键词]软件工程、CMM、软件测试
中图分类号:TP311.52 文献标识码:A 文章编号:1009-914X(2015)35-0389-01
1 前言
软件能力成熟度模型是在1991年8月由SEI发布的,经过将近20多年的众多软件行业专家的实践,现在已经成为认可的组织进行软件改善和软件过程评估的一种有效的指导。CMM的5个级别其中一个是可重复级,它提供了建立有效的软件项目管理的框架[1]。而可重复级主要关注的是项目级的开发过程,所以,本文主要进行探讨CMM的可重复级在软件测试中的应用。
2 软件测试
2.1 软件测试的种类
在软件工程中,软件测试只是软件项目中的一个阶段,但是因为软件开发方法的发展和国际化的趋势使得软件测试也在不断的发展,出现了单独的软件测试项目。这些主要分成三类。
第一类:因在开发一个大型的项目时,一个子项目需要多个单位和组织进行合作开发,或者承包给第三方软件测试和外包给其他独立的软件测试部门进行测试的项目。
第二类:在开发过程中需要一些外部的接口资源,并对其接口资源进行的测试。
第三类:在开发的过程中需要用到一些工具,涉及到项目的安全性从而对该工具进行的测试。
软件测试是在整个开发过程中的一个重要的环节,会利用到大量的人力,物力和财力,而随着整个IT行业的发展,在测试的过程中会用到很多新的测试技术和方法。
2.2 CMM的作用
在整个软件开发和过程改进的过程中,因为软件测试项目的特点,在测试过程中变得更加容易规范化,再经过CMM技术来对整个过程进行改进,可以提高工作过程中的效率,减少在工作中出现的失误,降低整个软件过程的成本。
在大多数企业中,通过利用CMM评估,可以使企业在市场竞争中增加很多的项目砝码,当然,利用CMM模型不是在整个改进过程中唯一的方案,但是在国际上还是认可的,所以,多数企业都利用CMM认证,来提高企业在市场的竞争力。
3 CMM可重复级在软件测试的应用
在CMM中的可重复级包含了需求管理、软件项目计划、跟踪与监督、质量保证、配置管理、合同管理等关键过程域。在其中,每个关键过程域利用很多个关键实践来进行描述“做什么”,“如何做”,这些必须由项目负责人组织去解决。
CMM可重复级主要活动分别是:制定关键过程域的方针和一些生命周期指南;建立相对应的关键过程域的软件活动定义和制度;细化在关键过程域中各种软件活动的规程;选择和制度相关的模板、标准、规范;实施软件过程;在开发的过程中出现问题进行调整,直到满足需求。
3.1 生命周期指南
在整个软件开发过程中,生命周期指南规定了公司使用的软件生命周期模型,对在开发项目中,给出了制定项目计划时根据项目自身的特点而采用不同的开发方式的依据[3]。在测试过程中,因为软件测试项目的特点,在很多情况下瀑布模型就能满足需求。
3.2 需求管理
在需求管理中,有2个目标和12个关键实践[1]。在整个开发过程中,需求管理贯穿整个项目的生命周期,是一项比较复杂的活动。在软件测试项目中,这些关键实践就相对来说比较简单,在一般项目中,在测试阶段需求的变更不会出现较大的变动,只考慮输入,输出,测试方不能随意的更改需求和代码,这就给测试带来比较稳定的验证各个需求项。
3.3 软件项目计划
项目计划是项目组织为完成项目目标,对项目实施工作进行的各项活动做出周密安排,而进行的系统的工作安排。在项目计划中,包含了3个目标和25个关键实践。在测试项目中,软件项目计划的制定是相对来说比较容易,但在项目进度、任务、工作量如果不确定的话,就容易让子计划造成困难。这些主要在软件开发过程中进度的经常变动从而引起计划的变更。
3.4 软件项目监控与跟踪
在软件开发过程中,项目监控与跟踪有3个目标和24个关键实践[1]。在实施和跟踪的过程中,主要采用的方式是记录当天的工作量和工作日志;要及时与项目经理进行沟通,获取项目进度和存在的问题并进行客观的评价进行解决;每周进行周例会的召开;定期向高层进行汇报项目进展情况;收集数据,提交项目周报,月报。
3.5 软件质量保证和软件配置管理
软件配置管理是指通过执行版本控制、变更控制等规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性。配置管理是对工作成果的一种有效保护。在软件配置管理中有4个目标和21个关键实践[3]。
软件质量保证是建立一套有计划,有系统的方法,来向管理层保证并拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。软件质量保证的目的是使软件过程对于管理人员来说是可见的。它通过对软件产品和活动进行评审和审计来验证软件是合乎标准的。软件质量保证组在项目开始时就一起参与建立计划、标准和过程。在软件质量保证中有4个目标和17个关键实践[4]。
4 案例实施
在案例中,以重庆金算盘有限公司开发的项目(简称A项目)为例,阐述CMM可重复级在软件测试项目中的应用。
A项目是与光大银行合作的软件测试项目,改项目采用一种基于需求规格说明书的功能来进行测试和验证,依据美国DO178-B标准,经过为期3个月的培训、过程改进、评审、评估,该项目在2007年通过了CMM可重复级的评估。
从A项目评估和整个过程改进的过程,属于前面说的第一类的项目,主要实施步骤如下:
(1) 项目组成员全部参加培训,明确了CMM的基本概念、目的、实施方法。明确了文档制定和过程改进计划模板。
(2) 制订了能够满足CMM可重复级评估的要求和文档,并通过了内部评审。
(3) 对提供的模板进行修改,制定相对应的过程和规范文档。
(4) 对在过程改进中,实施制订的文档和模板。
(5) 在项目实施过程中,对一些需要修改的文档进行修订,并通过评审。
(6) 在实施过程中,进一步对过程改进进行评估、改进。
经过对该项目进行CMM可重复级的认证,使得在需求管理在开发过程中得到很好的控制,对测试项目能更加提高工资效率。
5 结束语
在软件工程过程中,软件测试作为软件工程的一个子过程,但在实际中,却存在三类软件测试项目的事实。通过实践和研究表明:软件测试项目是可以成功实施CMM模型。
在整个开发过程模型中,瀑布模型是比较严格的一种模型,而软件测试项目生命周期模型一般是建立在瀑布模型的基础上,并对每个阶段进行具体的定义、评估。
参考文献
[1] Mark C Paulk.The Capability Maturity Modle:Guidelines for Improving the Software Process[M].Addison-Wesley,2011.
[2] Humphrey Watts S.软件过程管理[M].北京:清华大学出版社,2012.
[3] 王勇,张发勇.CMM软件配置管理的理论与实践[J].计算机工程与应用,2013;40.
[4] 朱少民.软件项目管理.人民邮电出版社,2014.
作者简介
唐滔,男,1976.06,广西桂林,汉,讲师,计算机应用技术。
[关键词]软件工程、CMM、软件测试
中图分类号:TP311.52 文献标识码:A 文章编号:1009-914X(2015)35-0389-01
1 前言
软件能力成熟度模型是在1991年8月由SEI发布的,经过将近20多年的众多软件行业专家的实践,现在已经成为认可的组织进行软件改善和软件过程评估的一种有效的指导。CMM的5个级别其中一个是可重复级,它提供了建立有效的软件项目管理的框架[1]。而可重复级主要关注的是项目级的开发过程,所以,本文主要进行探讨CMM的可重复级在软件测试中的应用。
2 软件测试
2.1 软件测试的种类
在软件工程中,软件测试只是软件项目中的一个阶段,但是因为软件开发方法的发展和国际化的趋势使得软件测试也在不断的发展,出现了单独的软件测试项目。这些主要分成三类。
第一类:因在开发一个大型的项目时,一个子项目需要多个单位和组织进行合作开发,或者承包给第三方软件测试和外包给其他独立的软件测试部门进行测试的项目。
第二类:在开发过程中需要一些外部的接口资源,并对其接口资源进行的测试。
第三类:在开发的过程中需要用到一些工具,涉及到项目的安全性从而对该工具进行的测试。
软件测试是在整个开发过程中的一个重要的环节,会利用到大量的人力,物力和财力,而随着整个IT行业的发展,在测试的过程中会用到很多新的测试技术和方法。
2.2 CMM的作用
在整个软件开发和过程改进的过程中,因为软件测试项目的特点,在测试过程中变得更加容易规范化,再经过CMM技术来对整个过程进行改进,可以提高工作过程中的效率,减少在工作中出现的失误,降低整个软件过程的成本。
在大多数企业中,通过利用CMM评估,可以使企业在市场竞争中增加很多的项目砝码,当然,利用CMM模型不是在整个改进过程中唯一的方案,但是在国际上还是认可的,所以,多数企业都利用CMM认证,来提高企业在市场的竞争力。
3 CMM可重复级在软件测试的应用
在CMM中的可重复级包含了需求管理、软件项目计划、跟踪与监督、质量保证、配置管理、合同管理等关键过程域。在其中,每个关键过程域利用很多个关键实践来进行描述“做什么”,“如何做”,这些必须由项目负责人组织去解决。
CMM可重复级主要活动分别是:制定关键过程域的方针和一些生命周期指南;建立相对应的关键过程域的软件活动定义和制度;细化在关键过程域中各种软件活动的规程;选择和制度相关的模板、标准、规范;实施软件过程;在开发的过程中出现问题进行调整,直到满足需求。
3.1 生命周期指南
在整个软件开发过程中,生命周期指南规定了公司使用的软件生命周期模型,对在开发项目中,给出了制定项目计划时根据项目自身的特点而采用不同的开发方式的依据[3]。在测试过程中,因为软件测试项目的特点,在很多情况下瀑布模型就能满足需求。
3.2 需求管理
在需求管理中,有2个目标和12个关键实践[1]。在整个开发过程中,需求管理贯穿整个项目的生命周期,是一项比较复杂的活动。在软件测试项目中,这些关键实践就相对来说比较简单,在一般项目中,在测试阶段需求的变更不会出现较大的变动,只考慮输入,输出,测试方不能随意的更改需求和代码,这就给测试带来比较稳定的验证各个需求项。
3.3 软件项目计划
项目计划是项目组织为完成项目目标,对项目实施工作进行的各项活动做出周密安排,而进行的系统的工作安排。在项目计划中,包含了3个目标和25个关键实践。在测试项目中,软件项目计划的制定是相对来说比较容易,但在项目进度、任务、工作量如果不确定的话,就容易让子计划造成困难。这些主要在软件开发过程中进度的经常变动从而引起计划的变更。
3.4 软件项目监控与跟踪
在软件开发过程中,项目监控与跟踪有3个目标和24个关键实践[1]。在实施和跟踪的过程中,主要采用的方式是记录当天的工作量和工作日志;要及时与项目经理进行沟通,获取项目进度和存在的问题并进行客观的评价进行解决;每周进行周例会的召开;定期向高层进行汇报项目进展情况;收集数据,提交项目周报,月报。
3.5 软件质量保证和软件配置管理
软件配置管理是指通过执行版本控制、变更控制等规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性。配置管理是对工作成果的一种有效保护。在软件配置管理中有4个目标和21个关键实践[3]。
软件质量保证是建立一套有计划,有系统的方法,来向管理层保证并拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。软件质量保证的目的是使软件过程对于管理人员来说是可见的。它通过对软件产品和活动进行评审和审计来验证软件是合乎标准的。软件质量保证组在项目开始时就一起参与建立计划、标准和过程。在软件质量保证中有4个目标和17个关键实践[4]。
4 案例实施
在案例中,以重庆金算盘有限公司开发的项目(简称A项目)为例,阐述CMM可重复级在软件测试项目中的应用。
A项目是与光大银行合作的软件测试项目,改项目采用一种基于需求规格说明书的功能来进行测试和验证,依据美国DO178-B标准,经过为期3个月的培训、过程改进、评审、评估,该项目在2007年通过了CMM可重复级的评估。
从A项目评估和整个过程改进的过程,属于前面说的第一类的项目,主要实施步骤如下:
(1) 项目组成员全部参加培训,明确了CMM的基本概念、目的、实施方法。明确了文档制定和过程改进计划模板。
(2) 制订了能够满足CMM可重复级评估的要求和文档,并通过了内部评审。
(3) 对提供的模板进行修改,制定相对应的过程和规范文档。
(4) 对在过程改进中,实施制订的文档和模板。
(5) 在项目实施过程中,对一些需要修改的文档进行修订,并通过评审。
(6) 在实施过程中,进一步对过程改进进行评估、改进。
经过对该项目进行CMM可重复级的认证,使得在需求管理在开发过程中得到很好的控制,对测试项目能更加提高工资效率。
5 结束语
在软件工程过程中,软件测试作为软件工程的一个子过程,但在实际中,却存在三类软件测试项目的事实。通过实践和研究表明:软件测试项目是可以成功实施CMM模型。
在整个开发过程模型中,瀑布模型是比较严格的一种模型,而软件测试项目生命周期模型一般是建立在瀑布模型的基础上,并对每个阶段进行具体的定义、评估。
参考文献
[1] Mark C Paulk.The Capability Maturity Modle:Guidelines for Improving the Software Process[M].Addison-Wesley,2011.
[2] Humphrey Watts S.软件过程管理[M].北京:清华大学出版社,2012.
[3] 王勇,张发勇.CMM软件配置管理的理论与实践[J].计算机工程与应用,2013;40.
[4] 朱少民.软件项目管理.人民邮电出版社,2014.
作者简介
唐滔,男,1976.06,广西桂林,汉,讲师,计算机应用技术。