您的位置:软件测试 > 软件项目管理 > 开发管理 >
软件缺陷度量与软件过程管理方法研究
作者:网络转载 发布时间:[ 2013/5/15 15:02:39 ] 推荐标签:

摘 要: 软件能力成熟度模型第4级中要求在项目中定量管理,建立组织级过程性能,构成完整的量化管理,采用统计或其它定量方法管理软件过程,并通过对过程中出现的方法,技术等问题进行因果分析和寻找解决方案[1]。在仔细研究了现有的缺陷度量分类方法和分析指标后,提出了一个基于缺陷度量与分析的软件过程改进模型。应用该模型可以设计缺陷数据管理系统。

关键词: 软件缺陷;缺陷度量;软件过程

1 引言

软件产品的生产过程决定了所开发出的软件的质量,提高软件质量是软件生产过程中各项活动的共同目标,因此,必须对软件的生产过程进行有效的质量控制与管理[2]。软件缺陷是软件在生命周期各个阶段存在的一种不满足给定需求属性的问题[3]。目前发布的软件中,都存在着这样或那样的缺陷,某些缺陷可能成为软件的致命隐患,而导致应用软件或操作系统崩溃,所以软件开发公司和个人必须都积极采取有效的方法,尽可能的减少缺陷。

在软件开发过程中实施缺陷的度量与分析,对于提高软件开发和测试效率,预防缺陷发生,保证软件产品质量有着十分重要的作用。缺陷分析是将软件开发各个阶段产生的缺陷信息进行分类和汇总统计,计算分析指标,编写分析报告的活动。通过软件缺陷分析可以发现各种类型缺陷发生的概率,掌握缺陷集中的区域、明确缺陷发展趋势、挖掘缺陷产生的根本原因,便于有针对性地提出遏制缺陷发生的措施、降低缺陷数量[3]。缺陷分析报告中的统计数据及分析指标既是对当前软件质量状况的评估,也是判定软件是否能按期发布或交付使用的重要依据。实施缺陷分析的前提是需要一个符合项目要求的缺陷数据管理系统,通过采集完整的缺陷数据信息,进行缺陷数据分析,来改进软件过程质量并实施缺陷预防措施。

2 问题描述

 目前多数中小型软件项目的开发对于缺陷信息的控制和管理处一种混乱的状态中,对测试前期的设计和开发阶段的缺陷数据统计和分析的重视程度严重不足。基本上是在进入测试阶段后才开始报告出大量的缺陷,进行缺陷的修正,再测试,再修正这样一个无序的过程。由于缺乏缺陷数据的统计与分析,及缺陷的预防机制,使得软件项目开发周期变得难以控制。

根据缺陷分类方法的目的,观察角度和复杂度的不同,已经出现了几种软件缺陷的分类方法。例如,比较流行的IBM公司制定的缺陷正交分类方法ODC(Orthogonal Defects Classification)。该方法提供了一种从缺陷中提取关键信息的测量范例,适用于评价软件开发过程,提出过程改进方案,其缺点在于分类复杂,难以把握缺陷分类的标准。Thayer软件错误分类方法通过错误性质划分缺陷,适用于指导开发人员消除缺陷。美国电气和电子工程师协会IEEE(Institute of Electrical and E-lectronics Engineers)制定的软件异常分类标准提供了一个统一的方法对软件和文档中发现的异常进行详细的分类,具有较高的权威性,不足之处在于没有考虑软件工程的过程缺陷,分类过程复杂[5]。软件生产是以过程为主线的,各种活动都围绕过程进行,各种工具和方法的使用都和过程紧密联系,过程由一系列的活动组成,这些活动由开发者使用工具、方法和技术完成。过程之间是相互联系的。过程结果会影响到相关的以该过程结果为基础的过程。将分类方法建立在过程基础上可以更好地理解缺陷形成的过程,把握缺陷的本质,从根本上预防缺陷。

现在市场上的已经开发了几种缺陷管理系统工具,例如Mercury公司的Quality Center,IBM公司的Rational系列管理工具,微软公司的VSTS等。类似的商用的缺陷管理系统的特性基本上都大同小异,对于缺陷属性的分类方法没有一个统一的标准,现有的缺陷管理工具在缺陷数据的分析方面普遍比较薄弱,通常只是提供一些缺陷属性数量的简单统计功能,用户不得不借助一些其它的统计分析软件或自行开发缺陷数据分析组件来进行缺陷数据的分析。在实际软件开发过程中,对于缺陷数据的分析还没有给予足够的重视。

本文基于上述思考,提出了一个基于缺陷度量与分析的软件过程改进模型,如图1。该模型可根据需要设计缺陷属性度量分类标准。在软件开发过程中通过缺陷管理系统采集缺陷数据,运用缺陷分析方法实施缺陷分析,把握缺陷发展趋势,对软件项目开发过程进行综合评价。实施缺陷预防方案,提高软件产品的开发质量。通过缺陷分析结果的反馈,改进缺陷度量分类标准和分析目标,提高缺陷分析结果的准确性。本文重点研究了缺陷分类方法和缺陷数据的分析方法,并结合某项目中的缺陷数据实例进行了分析。

3 缺陷分类方法研究

3.1 缺陷分类的目的和原则

缺陷分类的目的是通过实施软件缺陷管理,采集完整的缺陷数据信息。通过缺陷数据分析软件缺陷产生的原因,改进软件过程,预防软件缺陷,提高软件质量,改善组织的软件能力成熟度。

缺陷分类方法应满足以下要求:准确地对发现的缺陷类型进行分类;缺陷分类类型之间应无重叠,并尽可能多的覆盖开发过程中出现的分类;分类要与软件生命周期有机结合,从软件过程的角度对软件缺陷进行分类。

3.2 缺陷度量属性分类

实施度量分析的目的是为了发现软件过程中的问题,并制定过程改进的计划和目标。过程度量分析的关键是对实际工作量、项目进度、项目实际情况与计划或预计成本的偏离程度过程中存在的缺陷以及在项目中已解决的缺陷进行分析和统计。

在引言中曾提到,软件缺陷的范围很广,不仅仅指在测试过程中发现的缺陷,而是指在整个软件生命周期中发现的所有缺陷。一个缺陷需要记录许多相关的度量属性,如何划分这些度量属性也是缺陷分类研究领域的一个热点。传统的软件缺陷分类方法主要目标是消除软件缺陷,评价软件的性能和可靠性,不能满足改进软件过程的需要。所以需要设计一个较完整的缺陷分类方法,在软件生命周期各个阶段中按照缺陷产生的过程来分类。本文中将缺陷度量属性设计为描述属性、统计属性和控制属性三类。

上一页123下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd