软件的质量保证

时间:2022-09-07 11:29:06

软件的质量保证

摘 要:以软件质量为核心,软件工程改进的思想为基础,结合CMM和全面质量管理的思想,建立了一个软件过程改进框架,对软件工程过程进行持续改进。

关键词:软件质量;软件质量保证体系;软件测试与维护

中图分类号:

软件质量是贯穿软件生存期的一个极为重要的问题,是软件开发过程中所使用的各种开发技术和验证方法的最终体现。因此在软件生存期中要特别重视质量的保证,以生产出高质量的软件产品。软件质量保证的目标是开发出可接受的软件产品。这里所谓的可接受应是用户理解意义上的可接受,或者说应达到用户提出的质量要求。所以软件质量保证的任务自然就是保证软件质量。那么我们首先需要知道软件质量所包含的内容,才能明确软件质量保证的职责、内容、活动,从而进一步完善软件质量保证体系。

1 软件的质量包含

2 软件质量保证体系(SQA)的主要职责

我们总结出软件质量保证体系(SQA)的主要职责有以下三点:(1)向管理者提供正确的信息,以使软件开发正确地执行;(2)收集质量数据,确定和管理风险,促进和协助流程改进;(3)充当测试工作的监督者,测试工作是否按照既定的流程(测试计划、测试案例、测试执行)进行。

软件质量保证的主要内容包括:保障制度体系、促使过程改进、指导项目实施、评审项目活动、审核工作产品、协助问题解决、提供决策参考和进行缺陷预防。目前我们的软件质量保证体系是杂乱无章,有时甚至是混乱的,几乎没有定义过程的规则和步骤。软件保证工作完全依赖个人努力和杰出的专业人才,取决于超常的管理人员和杰出有效的软件开发人员。表现和成果都源于或者决定于个人的能力和他们先前的经验、知识以及他们的进取心和积极程度。一旦遇到软件质量危机就放弃原计划过程,反复编码和测试。这是非常危险的,直接阻碍了软件质量保证的有效进行。为了保证软件质量,我们需进行有条理有目的的软件质量保证工作。科学的软件质量保证过程一般包含以下几项活动:(1)首先,建立SQA组;(2)其次,选择和确定SQA活动,即选择SQA组所要进行的质量保证活动,这些SQA活动将作为SQA计划的输入;(3)然后,制定和维护SQA计划,这个计划明确了SQA活动与整个软件开发生命周期中各个阶段的关系;(4)SQA计划、对相关人员进行培训、选择与整个软件工程环境相适应的质量保证工具;最终,不断完善质量保证活动中存在的不足,改进项目的质量保证过程。

在软件质量保证的过程中,六西格玛是目前产业界应用最广泛的基于统计的保证策略。20世纪80年代在摩托罗拉公司最先普及,六格西玛策略“是严格且规范的方法学,它运用数据和统计分析,通过识别和消除制造以及服务相关过程中的缺陷来测量和改进企业的运转状况”。“六格西玛”一词来源于6个标准偏差――每百万个操作发生3.4个偏差(缺陷),它意味着非常高的质量标准。六格西玛方法有三个主要的核心步骤:

定义:通过与客户交流的方法来定义客户需求、可交付的产品及项目目标。

测量:测量现有的过程及其产品,以确定当前的质量状况(收集缺陷度量信息)。

分析:分析缺陷度量信息,并挑选出重要的少数原因。

如果某个现有软件过程是适当的,只是需要改进,六格西玛还需要另外两个核心步骤:

改进:通过消除缺陷根本原因的方式来改进过程。

控制:控制过程以保证以后的工作不会再引入缺陷原因。

以上3个步骤和另外两个附加步骤有时叫做DMAIC(定义、测量、分析、改进和控制)方法。

3 软件测试与软件维护

软件测试与软件维护是整个软件质量保证体系中重要的两个组成部分。软件测试的目标是确保创建的测试计划能够满足所有系统规格说明书的要求;确保经过测试和返工后软件与规格说明书保持一致。软件测试是软件质量保证工作中不可或缺的重要活动,软件测试与软件质量保证是软件质量工程中两个不同的层面工作。软件测试是对过程的产物开发出的软件进行剖析,找出软件运行时出现的问题,记录出错数据,从而达到保证软件质量的目的。可以说软件测试是软件质量保证的最关键的一项措施。建立独立的软件测试,选择好的测试方案,不但能有效地控制软件的风险、提高软件的质量,而且能有效地降低软件的质量成本。软件维护的目标是确保对已建立的变更控制过程进行检测,包括将变更集成到软件的产品版本中的过程;确保对代码的修改遵循编码标准,并且要对其进行评审,不要破坏整个代码结构。软件运行过程中难免出现问题,这不能完全归咎于软件质量,维护也是保证软件质量的一项措施。为了保证软件质量,我们需要对软件进行维护,在维护过程中发现不足,不断完善软件。

随着软件产业的发展,软件质量控制和软件质量评价越来越成为软件质量研究中的重要课题。软件的开发和使用的历史已经留给了我们很多由于软件缺陷而导致的巨大财力、物力损失的经验教训。这些经验教训迫使我们的工程师们必须采取强有力的措施来检测未发现的隐藏的软件缺陷。软件过程质量保证使每个工作者在一种开放式的环境中工作,吸取业界的成熟经验少走很多弯路,使工作有成效,让领导足够重视和坚定的支持,进而有效地确保软件项目的质量。

参考文献:

[1](美)Watts S.Humphrey.软件过程管理[M].北京:清华大学出版社,2002.

[2]波特,著.尤克滨,译.软件过程改进简明实践[M].北京:机械工业出版社.

[3]赵池龙.实用软件工程[M].北京:电子工业出版社.

[4](美)Paul C.Jorgensen.韩柯,译.软件测试[M].Software Testing A Craftsman's Approach(Second Edition)[M].北京:机械工业出版社(软件工程技术从书).

作者简介:刘敏(1982.11.13-),女,四川泸县人,图文信息中心,科员,助教,学士学位,研究方向:高职与软件工程。

作者单位:四川化工职业技术学院,四川泸州 646000

上一篇:探究通信营销市场竞争与服务质量提升 下一篇:“做学教合一”在计算机教学中的应用