`
u011250455
  • 浏览: 9281 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

• 质量计划和缺陷估计 • 质量管理的流程化方法

 
阅读更多

n缺陷的预测

质量、成本和进度是决定一个项目成败的关键因素。虽然国际软件质量标准中有说明,但是由于软件拥有很多质量特性,因此也很难定义软件质量的内容。在实践中,质量管理往往跟缺陷相关,因此我们使用交付后的缺陷密度,即:交付后软件的每个单位规模的缺陷数作为软件质量的定义。该定义是实际上的行业通用标准。该定义表明一个软件项目的目标就是尽可能的降低交付后的产品的缺陷数。但是,如何定义缺陷呢?通常我们可以将软件的缺陷理解为导致开发出的软件与客户的要求或需求不一致的因素。

对于高质量的软件来说,最终的产品应该尽量少缺陷,而软件开发是一种人为的活动,不可避免的会注入各种缺陷,因此,对于交付的高质量软件来说,积极的去除缺陷很有必要。排除缺陷贯穿质量控制的评审活动和测试活动中。质量控制不同于质量管理。因此质量控制关注找到并排除缺陷,质量保证的主要的目的是确保软件开发的流程和标准被遵守执行。

软件质量控制对任何项目都很重要。详细可以参考CMMI3级中关于软件测试的实践。关注点为确保质量控制活动合理执行。我们称这种战略为“流程化质量控制方法”。量化进行质量计划和质量是CMMI4级关注点。我们首先讨论质量管理的概念和方法,然后描述质量计划的方法应用。


n软件质量和缺陷

在讨论质量管理的技术之前,首先要理解缺陷注入和缺陷排除的过程。缺陷在软件开发的整个阶段都会注入,也就是说,在将从获取客户需求到开发出满足客户需求的软件产品的过程中,缺陷是随时都可能产生的。这些阶段主要是需求阶段,概要设计阶段,详细设计阶段和编码阶段。

基于上述原因,在交付产品前的排除缺陷就显得极为迫切。

项目的过程包括发现缺陷以及由此引发的排除缺陷的很多活动,虽然两者不同,但是我们讲利用排除缺陷来综合考虑项目。缺陷发现的时间越晚,排除缺陷的成本就越高。因此一个成熟的过程一定包括每个阶段质量控制活动。缺陷排除的活动包含需求评审,设计评审,代码评审,单元测试,集成测试,系统测试和验收测试(虽然计划文档的评审也帮助提高软件质量,但这里不包含对计划文档的评审)。过程的缺陷注入和排除如下图所示。

质量管理的任务是计划合理的质量控制活动,并适当的执行和控制这些活动,使得在产品交付之前能发现的缺陷达到最多。

n质量管理的流程化方法

我们知道,通过评审和测试可以发现缺陷。在质量管理流程化方法中,需要建立评审和测试活动的流程和工作指南。在执行识别缺陷的活动中要按照规范的方法执行,比如:系统测试流程通常包括制定测试计划,在计划中列出了所有的需要测试的测试用例,执行测试计划评审,然后执行测试计划。我们这么做的依据是:缺陷识别方法规范-该规范规定在一些活动点上通过执行过程来发现缺陷。CMMI3级应该有这样一个合理的质量管理的流程化方法。

仅仅执行一系列规程并不能提供判断缺陷排除效果或最终代码质量的基础。另外这个方法高度依赖于流程的质量以及流程执行的质量。比如:如果认真编写了测试计划,并认真评审了该计划,那么完成测试后的软件会比没有做测试计划和评审的软件质量更高。一个关键问题是该流程方法并不能为项目经理提供量化方法来评估软件的质量-判断软件质量唯一可见的评判标准就是是否执行了质量控制活动。一个好的质量管理方法应该在项目的早期提供一些警示或提醒,早期预警使得有时间进行干预,避免,将风险降到最低。为了达到这个目标,有必要预测出项目的不同阶段的缺陷密度。这样就可以通过控制项目执行阶段的缺陷密度来保证最后的产品满足既定的目标。

这种方法使得质量管理酷似管理工作量和进度:首先设定交付软件的质量目标,从目标出发,估计项目不同阶段的参数值,建立里程碑。如果达到估计值,最终的产品很可能满足最终目标的水平。在项目执行过程中,收集实际的缺陷密度,并通过与估计值的比较来决定该项目是否正常运行,或者需要一些改进行动来确保最终的软件产品能达到期望的水平。

另一个软件质量的概念是缺陷排除率,我们定义缺陷排除率(DRE)为: DRE=质量控制活动中发现的缺陷数/质量控制活动前产品的所有错误*100%

因为是项目结束的时候才能计算出某个质量控制活动或某个阶段的缺陷排除率,所以缺陷排除率不适用于质量管理,它无法对项目执行过程中的产品质量进行控制。

n通过预测缺陷实现量化质量管理

设定的质量目标是软件交付后的缺陷密度。一旦设定质量目标,估计出不同阶段的缺陷水平,确保满足估计值以达到质量目标。流程管理就是将预测缺陷水平变为实际缺陷水平比较基准,以评估开发过程是否朝着实现质量目标的方向推进。

该方法的效率取决于一个关键因素:我们预测项目不同阶段的缺陷的准确度。预测缺陷的一个方法是利用缺陷排除率和缺陷注入率。如果能知道或估计出每个阶段的缺陷注入率和质量控制活动的缺陷排除率,那么通过项目的规模就可以估计出每个阶段质量控制活动后的缺陷水平。该预测可用于量化质量管理。

上述方法建立在可预测项目的缺陷注入率的基础之上。历史数据的缺陷注入率可以用来估计当前项目的缺陷注入率。当然,也可能出现大的偏差。如果实际值超出了范围,项目经理要足够的重视,可以通过分析其他因素来确定是否是项目管理出现了问题而导致了这个结果,如有必要,需要采取矫正措施。另外工作量是一个很好的指标来帮助解决这类问题,通过监控工作量趋势来了解实际和估计的工作量来了解实际和估计的缺陷水平。


分享到:
评论

相关推荐

    软件质量管理计划模板.pdf

    6. 文档:质量管理计划需要详细记录所有与质量相关的活动,包括测试结果、缺陷跟踪报告、质量审计报告等。 7. 角色和责任:明确项目团队中各个角色在质量管理中的具体责任和权力,比如项目经理、开发人员、测试...

    软件质量管理制度管理办法

    - SQA制定的标准与规范需被严格执行,研发和工程部门需配合执行并提交配置管理计划及实施进展。 - SQA人员与研发和工程总监进行沟通,共同参与软件过程跟踪、审查及里程碑评审。 - 对于发现的问题,SQA人员应及时...

    大型购物中心仓库管理系统》质量计划

    ### 一、质量管理计划的目的与作用 大型购物中心仓库管理系统的质量计划旨在确保整个项目周期内,通过明确的分工和流程规范,实现系统的高质量交付。它明确了质量保证组织的职责、流程和注意事项,旨在使质量管理...

    软件质量保证与管理课件.rar

    课程中可能涉及的具体知识点包括ISO 9000质量管理体系、CMMI模型、六西格玛方法、TQM全面质量管理以及各种质量工具和框架的使用,例如缺陷追踪系统、自动化测试工具等。 总之,《软件质量保证与管理》课程旨在传授...

    软件质量保证计划书模板

    这可能涉及到自动化测试工具、缺陷跟踪系统、配置管理系统等,以及遵循的标准流程和手册。 ### 配置管理与供应商控制 配置管理是SQA计划中另一个关键领域,涉及软件构建、版本控制、变更管理和基线维护等。同时,...

    缺陷管理流程图(缺陷管理工具介绍)

    "缺陷管理流程图(缺陷管理工具介绍)" 提供了详尽的测试流程,帮助我们理解如何高效地跟踪、报告和解决软件中的问题。在这个流程中,通常包括以下几个步骤: 1. **缺陷发现**:这是测试阶段的第一步,测试人员通过...

    质量管理模拟试题及答案

    - **详细解析**:质量审计的目标通常包括评估项目活动是否符合质量标准和程序,识别改进机会,以及确保项目团队遵守质量管理计划。通过定期的质量审计,可以确保项目的质量水平保持稳定,并不断改进。

    IT质量管理体系.pdf

    IT质量管理体系是指在信息技术领域内,针对信息技术产品和服务的质量进行管理的一套规范和方法。该体系的建立对于确保信息系统的可靠性、安全性、稳定性和用户满意度具有重要作用。以下是对《IT质量管理体系.pdf》...

    软件质量保证和管理(ppt).rar

    国际标准化组织的ISO 9001标准提供了一套通用的质量管理体系框架,指导企业建立、实施和改进质量管理系统。而能力成熟度模型集成(Capability Maturity Model Integration, CMMI)则为软件开发组织提供了提高过程...

    软件项目的缺陷分析和质量管理

    在软件开发过程中,缺陷分析和质量管理是至关重要的环节,它们直接影响到软件产品的稳定性和用户满意度。下面我们将深入探讨这两个主题。 首先,让我们聚焦于“缺陷分析”。缺陷,也被称为bug,是软件中导致程序...

    全面软件质量管理 ppt

    全面软件质量管理是软件开发中不可或缺的一环,它要求我们在整个软件生命周期中关注质量属性,通过合理的计划、评审、测试和持续改进,确保软件不仅功能完善,而且具备优秀的用户体验、安全性和适应性,从而最大化...

    电子课件-软件质量保证和管理 

    七、质量管理计划 1. 明确质量目标,定义质量标准和度量指标。 2. 规划质量活动,分配资源,设定时间表。 3. 制定缺陷管理流程,包括缺陷报告、跟踪和关闭。 总结,这份电子课件提供了全面的SQA和PPQA理论知识,...

    华为研发质量管理

    3. **质量管理体系**:质量管理体系(QMS)是一套系统化的管理方法,旨在持续提高组织提供符合客户需求及适用法律法规要求的产品和服务的能力。ISO9001是国际上广泛认可的质量管理体系标准之一。 4. **质量管理哲学**...

    项目质量管理论文及资料

    6. **敏捷质量管理**:在敏捷开发环境中,质量管理往往融入日常的迭代和冲刺中,通过持续集成、自动化测试和频繁的反馈循环来确保质量。 7. **进度管理与质量管理的关系**:项目进度和质量通常是相互关联的。过度...

    克劳士比质量系列一:质量免费——确定质量的艺术

    3. **流程标准化**:通过标准化操作流程,ITT减少了变异性,提高了生产效率和一致性。 4. **持续改进机制**:ITT建立了持续改进的文化,鼓励员工提出改进建议,并实施有效的反馈循环,不断优化业务流程。 #### ...

    SAP 质量管理 中文

    - **质量检验**:QM模块支持自动化检验流程,包括批量处理、结果记录、缺陷记录以及检验的最终完成。 - **主数据管理**:QM模块中包含了强大的主数据管理功能,如版本控制、历史管理等,确保数据的准确性和一致性。 ...

    软件质量管理课件-软件质量工程

    这包括确定适用的质量标准、制定质量目标、建立质量指标(如缺陷率、测试覆盖率等)以及制定相应的质量计划。 2. **质量保证**:这部分内容着重于确保所有过程和活动都符合质量标准。这包括审计、审查、培训和文档...

    软件项目质量管理ppt

    【质量计划】是指在项目启动阶段确定质量标准、流程和策略的过程。这涉及到识别关键的质量要求,制定衡量质量的指标,并将其转化为具体的操作计划。在软件项目中,质量计划可能包括需求分析、设计评审、编码标准、...

    信息化运行维护项目质量保证计划(模板).docx

    《信息化运行维护项目质量保证计划》是确保信息技术项目顺利实施并提供优质服务的重要文档。这份计划旨在为项目的运行和维护阶段设定一套系统性的质量管理框架,确保交付的服务满足预先设定的需求和标准。以下是对该...

Global site tag (gtag.js) - Google Analytics