教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> 办公文档> 解决方案 > 软件质量管理体系建设方案

软件质量管理体系建设方案

上传者:马万云
|
上传时间:2015-05-11
|
次下载

软件质量管理体系建设方案



批准: 审核:
作者简介:
软件企业质量经理、高级项目经理,联系方式__qq:317974257
方案说明:
参考了《cmmi3 级软件过程改进方法与规范》、《 ISO9001:2000 标准》。同时参考了业界同
行写的相关方案或文章,吸收了他们的优秀见解。


2

目 录
1.引言 ...................................................................................................................................................... 3
1.1 软件质量概述 ............................................................................................................................... 3
1.2 公司软件质量现状分析 ............................................................................................................... 3
1.3 软件质量管理的特点 ................................................................................................................... 4
1.4 软件质量责任分配 ....................................................................................................................... 6
2.软件质量管理体系建设总体方案 ...................................................................................................... 6
2.1 进一步推动软件质量管理体系建设的原则 ............................................................................... 6
2.2 软件质量管理体系完善需要解决的主要问题 ........................................................................... 8
2.3 配置管理—实施软件质量管理的重要步骤 ............................................................................... 8
2.4 进一步完善我们的测试管理体系 ............................................................................................. 10
2.4.1.软件测试的组织与管理规划 ................................................................................................ 10
2.4.2.测试管理体系过程控制 ........................................................................................................ 12
2.4.2.1 测试流程模型 ..................................................................................................................... 13
2.4.2.2 测试流程控制 ..................................................................................................................... 13
2.4.2.3 测试小结 ............................................................................................................................ 15
2.5 软件质量保证(SQA)的实施 ................................................................................................... 16
2.5.1.SQA 概述 ................................................................................................................................. 16
2.5.1.SQA 实施 ................................................................................................................................. 16
2.5.2.SQA 与SQC 区别与协作 ......................................................................................................... 17
2.6 全面软件质量管理 ..................................................................................................................... 18
2.6.1.全面软件质量管理 ................................................................................................................ 18
2.6.2.全面软件质量管理的方法---制定质量管理计划 .............................................................. 19
2.6.3.全面软件质量管理的方法---技术评审 .............................................................................. 19
3.结束语 ................................................................................................................................................ 19


3
1.引言
1.1 软件质量概述
随着信息技术的飞速发展,使软件产品应用到社会的各个领域,也造就了软
件行业激烈竞争的生存环境,随着软件规模及复杂性急剧加大,软件质量已经成
为人们共同关注的焦点。技术是软件企业的生命,而质量则是它的灵魂,软件企
业要在竞争中占有一席之地,软件质量保证是第一要素。由此,软件质量的重要
性是不言而喻的。
软件质量是指与软件产品满足规定的和隐含的需求的能力有关的特征和特
性的总和。通常来说,软件质量应该包含六方面的特性: 功能性、可靠性、易使
用性、效率、可维护性、可移植性。
软件质量管理包括:软件质量计划编制、软件质量保证和软件质量控制三个
过程域。质量计划就是为了实现质量目标的计划,它主要结合各个公司的质量方
针,产品描述以及质量标准和规则通过收益、成本分析和流程设计等工具制定出
来实施方略,其内容全面反应用户的要求,为质量小组成员有效工作提供了指南,
为项目小组成员以及项目相关人员了解在项目进行中如何实施质量保证和控制
提供依据,为确保项目质量得到保障提供坚实的基础。质量保证(Quality
Assurance ,QA)的目的是提供一种有效的人员组织形式和管理方法,通过客观
地检查和监控“过程质量”与“产品质量”,从而实现持续地改进质量。质量保
证是一种有计划的、贯穿于整个产品生命周期的质量管理方法。质量控制是对阶
段性的成果进行检测、验证,为质量保证提供参考依据,它是一个PDCA 循环过
程。
1.2 公司软件质量现状分析
公司的软件开发历经多个生产个环节,产生大量的中间产品,每个环节都有
可能带来产品质量问题;同时由于软件产品是逻辑体,不具备实体的可见性,因
而难以度量,质量也难以把控,因此如何有效地管理软件产品的质量一直是我们
面临的挑战。

4
虽然我公司在研发电力行业信息化相关软件方面取得很大成绩,但是其软件
能力成熟度与国内同行业知名企业相比,还有一定的差距。我公司研发的软件产
品,除了产业规模偏小、自主创新能力不足之外,在易用性、可靠性、可移植性、
可维护性、可扩展性及系统集成等方面也存在着一定的质量问题,导致“用户抱
怨较多、产品投产后缺陷纠正过多、公司售后服务投入过大”的不利局面,制约
了我公司在电力软件行业的持续快速健康发展。究其原因,可能是以下几种原因
造成的:(1)对软件工程标准化重视不够。(2)软件质量管理体系不健全,实施效
果不佳。(3)企业对测试工作投入不足,测试管理和测试环境有待完善,测试技
术有待提升。
1.3 软件质量管理的特点
要解决软件的质量问题,同时保证开发的成本和项目的进度控制、解决研发
中的诸多不规范问题,关键是要建立起完善的软件质量管理体系,把软件开发过
程合理地监控起来,管理起来,进而达到提高产品的质量,控制产品开发的进度
和成本的目的。分析软件质量管理的特点,主要有以下几点:
1、软件质量管理是贯穿软件研发的全过程,而不能仅局限于软件本身
软件质量不仅仅是一些测试数据、统计数据、客户满意度调查反馈表等等,
衡量一个软件质量的好坏,应该首先考虑完成该软件生产的整个过程是否达到了
一定的质量要求。在软件开发实践中,软件质量控制可以依靠流程管理(如需求
管理、缺陷管理、配置管理、软件发布等),严格按照软件工程执行, 确保软件
的功能性、可靠性、易使用性、效率、可维护性、可移植性。
2、对技术文档的评审是控制软件质量的有效方式
研发过程中的很多技术文档作为产品的组成部分,也需要像对产品一样进行
检验,而对技术文档的评审就构成了产品检验的重要方式。技术评审主要有以下
好处:通过消除工作成果的缺陷而提高产品的质量;技术评审可以在任何开发阶
段执行,不必等到软件可以运行之际,越早消除缺陷就越能降低开发成本;开发
人员能够及时地得到同行专家的帮助和指导,无疑会加深对工作成果的理解,更
好地预防缺陷,一定程度上提高了开发效率。
3、运用技术手段保证质量

5
利用多种工具软件进行质量保证的各种工作,如用Svn 软件进行配置管理、
文档管理和软件变更控制。采用先进的系统分析方法和软件设计方法(OOA、OOD、
软件复用等)来促进软件质量的提高。
4、应用质量管理思想满足顾客需求
 缺陷预防
分析已经产生的缺陷并采用相应的措施以避免这类缺陷重复出现, 找出并
确定引起缺陷的通常原因。不公如此,还要规划缺陷预防活动, 对引起缺陷的通
常原因划分优先级并系统地予以消除。
紧紧抓住用户需求
充分地满足客户的需求,不管是付钱的顾客,还是软件的使用者,都要尽可
能地满足。 采用快速原型法,尽快演示(Demo)给用户并及时获取用户的反馈,
根据用户的反馈不断修改软件,而不是全部完工后再最后交给用户。否则,要改
的地方可能很多。甚至推翻重来。 充分设计之后再编码,防止因考虑不周而造
成返工。
 牢牢控制对缺陷的修改
通过诸如TD 之类的强大的软件缺陷管理平台,记录、跟踪和控制软件缺陷
的修复。
 对软件进行充分的系统测试
在软件通过集成测试后,还需要进行充分的、完整的系统测试和回归测试,
直至所有的缺陷关闭为止。
 把握软件放行的尺度
商业目标决定质量目标。提高软件质量的最终目的是为了赢利,而不是创造
完美无缺的产品。因此对于普通商业软件而言,并不是“质量越高越好”,而是
恰好让广大用户满意,并且将提高质量所付出的代价控制在预算之内。 软件零
缺陷几乎是不可能的,对遗留的缺陷要进行充分分析,只要能满足用户需求,软
件遗留的缺陷可以在今后升级版本中解决。

6
1.4 软件质量责任分配
我们公司已经建立了初步的研发管理体系,项目开发具备一定的规范化,在
研发流程上采用ISO9001:2000 的标准进行。我们公司目前每个项目除配备了项
目开发所需角色外,还专门配备了配置管理组、测试组和质量保证组(目前此角
色由项目管理部的监理来履行此项职责,但尚未真正开展活动)确保软件质量管
理的实施,下面针对这三种角色进行说明:
2.软件质量管理体系建设总体方案
软件的质量的重要性日益凸现,国内大型软件企业不断在 CMMI 上投入大量
资源提高软件能力成熟度,而中小软件企业也纷纷积极行动起来,不断改进软件
质量。目前我公司实施软件质量管理在过去一段时间效果不是太好,分析其原因,
可能有以下几点:
1、公司过去面对的是项目多,项目杂的复杂情况。因此无暇在软件质量的
方面投入过多的资源。
2、公司是项目型软件企业,主要以承接客户的委托开发项目为主,它主要
的关注焦点是在项目的合同期内,在项目成本许可的条件下,交付出客户满意的
开发项目。而软件质量并没有成为大家关注的焦点,暂时也不会影响公司的生存。
3、在实施的过程中,易发生质量控制人员和研发人员的矛盾,降低实施的
有效性;
因此针对我公司质量管理实践的现状,我们不能操之过急,急于求成,应该
对质量管理体系的建设进行有计划有步骤的稳步规划和推进,特别需要根据客观
情况,制定一定的实施原则,才可能有效地推动公司软件质量管理工作。
2.1 进一步推动软件质量管理体系建设的原则
1、首先作检验型质量管理,再延伸至过程型质量管理
所谓的检验型质控,是指在产品在某个阶段结束的时候,通过有效的评审和
测试验证其是否达到了预期的质量需求,主要的步骤有需求评审、概要设计评审、
详细设计评审、代码走查或评审、测试、测试评审等过程。而过程型质控是针对

7
软件研发过程的不断改进,来提高软件的质量。在中小软件企业中提倡首先作检
验型质控,再作过程型质控是基于下面的几点考虑:
首先,检验型质控(评审、测试)是解决显性问题的最有效方法。通过检验
型质控,使软件质量得到较快提高,增强质量人员和公司领导对公司质量管理工
作的信心,为过渡到过程型质量控制奠定坚实的基础。
其次,目前普遍存在的软件研发人员质量意识薄弱,须通过有效的检验型质
控为研发人员进行初级的质量意识教育。 当我们的检验型质控发展到一定的阶
段,真正起到了作用后,再开始进行过程型质控的工作,使质量的深层次问题不
断得到解决。
2、过程型质量管理要循续渐进,尊重客观规律,避免拔苗助长
过程型质控是对研发工作流程的改动,这种改动对项目组成员来说改动了他
过去多年形成的一些习惯,并且改动会增加项目组的工作量,这种改动或多或少
地会遭受到项目组成员有意无意的抵制。因此,在制定过程型质控方案的时候要
判断好优先级,从最需要改动的过程着手,一步一步地做。避免急于求成,使工
作得不到研发人员的理解和支持。
3、 软件质量管理是一种服务,需要经验丰富的质量管理人才才能够胜任
质量管理实际上是对项目的一种质量服务,目的是对项目人员在质量上的
一种帮助,帮助其发现问题、提供解决方法。因此作为质量控制人员的能力需求
上是比较高的。 同时,质量控制人员通过提供这种服务,能够拉近和研发人员
的距离,研发人员能够更加接受过程型质控的改动,使质控工作的矛盾更小。 因
此,建议从事质量管理的人员应该是从事较长时间项目研发、项目管理的人员,
只有一个资历深的质量管理人员才能够真正地对项目研发提供一种高质量的服
务。
4、 加强相关人员的培训是工作中的重中之重
培训工作应该包括两个方面的内容: 一方面,在实施过程型质控过程中制
定的过程、标准需要通过培训的方式来让所有的人员都理解并接受。另一方面,
需要通过培训的方式提高研发人员的质量意识。只有质量意识提高了,才能大大
减少质量管理人员的工作量。

8
2.2 软件质量管理体系完善需要解决的主要问题
1、 识别和建立软件研发的过程
通用的软件的研发过程一般归结为:项目立项-需求分析-概要设计-详细
设计-编码-测试-运行维护。我们公司在研发流程上采用ISO9000 的标准进行,
已经具备一定的规范性。我们可以应用ISO12207 信息技术-软件生存周期过程,
对照 CMMI 软件能力成熟度模型框架,结合软件企业的具体情况,进行过程建模
优化,这是建立一个适宜的软件质量管理体系的前提。
2、 明确管理职责、调整组织结构
第一步就是要进行软件质量管理情况诊断,根据企业的实际情况和依据
ISO9001 标准的要求,进行软件质理管理组织架构重构。
第二步就是有明确岗位分工与职责,特别要明确与软件质量管理有关的岗位
和职责,为建立软件质量管理体系打下基础,以适应建立软件质量管理体系的需
要。
由于公司在近几年一直再做软件质量管理的基础工作,因此这项工作具备一
定的基础,例如:构建了较稳定的配置管理体系、测试管理体系也在不断的改进
之中。我们目前的最主要问题是在于缺乏一个有效的质量保证组织。
3、 建立文件化工作程序。
再好的管理方法如果没有写成文件化的程序,也是空谈。建立文件化程序就
是为了将软件质量管理体系固化下来,相关的过程和操作都要做到有章可循。建
立文件化程序的过程实际上是对流程的一次全面整理的过程。
4、 解决好软件配置管理和软件变更控制。
由于软件需求的不确定性,软件设计的变更是不可避免的。建立基线是加强
变更控制的前提。在设计发生变更时软件的配置也必须随之改变,所以将软件配
置管理作为一个关键过程纳入软件质量管理体系是一项重要的任务。
2.3 配置管理—实施软件质量管理的重要步骤
软件配置管理简称SCM(Software Configuration Management 的缩写),
是在项目开发中,标识、控制和管理软件变更的一种管理。配置管理的目标

9
是记录软件产品的演化过程,确保项目组成员在软件生命周期中各个阶段都
能得到精确的产品配置。其最终目标是实现软件产品在其生命周期全过程中
的一致性、完整性和可追溯性,使产品极大程度地与用户需求吻合。其主要
工作和研究内容和包括:标识配置项、定义基线、建立配置库和基线库、控
制配置项和基线的变更、做好配置项和基线的定期备份和异地备份、定期进
行配置审计、及时报告配置状态。
在软件质量体系的诸多支持活动中,配置管理处在支持活动的中心位
置,它有机地把其它支持活动结合起来,形成一个有机整体,相互促进,相
互影响,有力地保证了软件质量体系的实施。从现在软件企业的发展战略
来说,如何在技术日新月异、人员流动频繁的情况下建立本公司的知识库
及经验库,把个人的知识及经验转变成公司的知识和经验,这对于提高工
作效率,缩短产品周期,加强公司的竞争力具有至关重要的作用。同时良
好的配置管理有利于规范管理,量化工作量考核,规范测试,加强协调和
沟通。采用科学的配置管理思想,辅之以先进的配置管理工具,已经成为
必不可少的手段。
配置管理工作是一个默默无闻,不受人关注,但是极为重要的工作。这
二年来,我们尽心尽责地配合所有项目组,为各个项目制定配置管理计划,
建立配置管理系统,并且制定了配置管理制度和配置管理流程,构建了功能
强大,安全有效,可操作性强的SVN(subversion)配置管理平台。通过不断
的实践摸索,积累了较为丰富的配置管理经验,随时可以为各项目组提供精
确的良好的配置管理。通过建立完整的代码对象库、业务经验库,将会给项
目组以及软件测试的工作带来很大的便利,同时将会最大程度上降低了由于
人员流失所造成的损失。由于有了配置管理平台,目前研发部软件代码和文
档都得到了良好的管理,也使软件开发人员以及软件测试人员能够很好的协
同合作开发产品,从整个公司层面来说也是一个不断地为公司积累业务经验
和技术财富的过程。通过努力,目前项目管理部已经建立了较为完整的软件
配置管理体系,并且初步制定了配置管理制度和配置管理流程,构建配置管
理信息化支撑平台,项目管理部将进一步加强配置管理工作,进一步完善软
件配置管理体系。

10
2.4 进一步完善我们的测试管理体系
我们公司采用的传统的软件测试流程一般是先在软件开发过程中进行少量
的单元测试,然后在整个软件开发结束阶段,集中进行大量的测试,包括功能和
性能的集成测试和系统测试。在实际工作当中,随着开发的软件项目越来越复杂,
传统的软件测试流程已经不能适应工作的需求。针对传统软件测试模式的弊端,
根据我们和研发部门相关人员的讨论,认为软件测试不能只发生在软件代码已经
编写完毕之后,而应该在软件生命周期每一阶段中都应包含测试,从而检验本阶
段的成果是否接近预期的目标,尽可能早的发现错误并加以修正。这就是软件软
件工程界的一种新的观点:“尽早测试”, 所谓尽早测试是指在整个软件开发
生命周期中通过各种软件工程技术尽量早的完成各种软件测试任务的一种思想。
软件的整个测试生命周期是与软件的开发生命周期基本平齐的过程,即当需求分
析基本明确后我们就应该基于需求分析的结果和整个项目计划来进行软件的测
试计划;伴随着分析设计过程同时应该完成测试用例的设计;当软件的第一个发
布出来后,测试人员要马上基于它进行测试脚本的实现。
2.4.1.软件测试的组织与管理规划
1、测试的过程及组织
当设计工作完成以后,就应该着手测试的准备工作了,一般来讲,由一位对
整个系统设计熟悉的设计人员编写测试大纲,明确测试的内容和测试通过的准
则,设计完整合理的测试用例,以便系统实现后进行全面测试。
在开发组将所开发的程序经验证后,提交测试组,由测试负责人组织测试,
测试一般可按下列方式组织:
(1)首先,测试人员要仔细阅读有关资料,包括规格说明、设计文档、使用
说明书及在设计过程中形成的测试大纲、测试内容及测试的通过准则,全面熟悉
系统,编写测试计划,设计测试用例,作好测试前的准备工作。
(2)为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测
试、集成测试、确认测试和系统测试。
(3)代码会审

11
代码会审是由一组人通过阅读、讨论和争议对程序进行静态分析的过程。会
审小组在充分阅读待审程序文本、控制流程图及有关要求、规范等文件基础上,
召开代码会审会,程序员逐句讲解程序的逻辑,并展开热烈的讨论甚至争议,以
揭示错误的关键所在。实践表明,程序员在讲解过程中能发现许多自己原来没有
发现的错误,而讨论和争议则进一步促使了问题的暴露。
(4)单元测试
单元测试集中在检查软件设计的最小单位—模块上,通过测试发现实现该模
块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。
(5)集成测试
集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与
接口有关的问题。如数据穿过接口时可能丢失;一个模块与另一个模块可能有由
于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个
别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错
误等。
(6)系统测试
软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。
包括恢复测试、安全测试、强度测试和性能测试等。
经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣
告结束,经验收后,将软件提交用户。
2、测试的人员组织
为了保证软件的开发质量,软件测试应贯穿于软件定义与开发的整个过程。
因此,对分析、设计和实现等各阶段所得到的结果,包括需求规格说明、设计规
格说明及源程序都应进行软件测试。基于此,测试人员的组织也应是分阶段的。
(1)软件的设计和实现都是基于需求分析规格说明进行的。
需求分析规格说明是否完整、正确、清晰是软件开发成败的关键。为了保证
需求定义的质量,应对其进行严格的审查。
(2)设计评审
软件设计是将软件需求转换成软件表示的过程。主要描绘出系统结构、详细
的处理过程和数据库模式。按照需求的规格说明对系统结构的合理性、处理过程

12
的正确性进行评价,同时利用关系数据库的规范化理论对数据库模式进行审查。
(3)程序的测试
是指软件测试。是整个软件开发过程中交付用户使用前的最后阶段,是软件
质量保证的关键。软件测试在软件生存周期中横跨两个阶段:通常在编写出每一
个模块之后,就对它进行必要的测试(称为单元测试)。编码与单元测试属于软
件生存周期中的同一阶段。该阶段的测试工作,由编程组内部人员进行交叉测试
(避免编程人员测试自己的程序)。这一阶段结束后,进入软件生存周期的测试
阶段,对软件系统进行各种综合的测试。测试工作由专门的测试组完成,负责整
个测试的计划、组织工作。测试组的其他成员由具有一定的分析、设计和编程经
验的专业人员组成,人数根据具体情况可多可少。
3、软件测试文件
软件测试文件描述要执行的软件测试及测试的结果。由于软件测试是一个很
复杂的过程,同时也是设计软件开发其他一些阶段的工作,对于保证软件的质量
和它的运行有着重要意义,必须把对它们的要求、过程及测试结果以正式的文件
形式定义清楚。测试文件的编写是测试工作规范化的一个组成部分。
测试文件不只在测试阶段才考虑,它在软件开发的需求分析阶段就开始着
手,因为测试文件与用户有着密切的关系。在设计阶段的一些设计方案也应在测
试文件中得到反映,以利于设计的检验。测试文件对于测试阶段工作的指导与评
价作用更是非常明显的。需要特别指出的是,在已开发的软件投入运行的维护阶
段,常常还要进行再测试或回归测试,这时仍须用到测试文件。
2.4.2.测试管理体系过程控制
为了保证测试管理体系能够正确并且无误的实施与执行,我们设计了一套测
试管理体系流程,用来控制测试管理体系执行。

13
2.4.2.1 测试流程模型

2.4.2.2 测试流程控制
1、需求分析
需求分析(Requirment Analyzing)应该说是软件测试的一个重要环节,测
试开发人员对这一环节的理解程度如何将直接影响到接下来有关测试工作的开
展。一般而言,需求分析包括软件功能需求分析、测试环境需求分析、测试资源
需求分析等。其中最基本的是软件功能需求分析,测一款软件首先要知道软件能
实现哪些功能以及是怎样实现的。测试需求分析的依据有软件需求文档、软件规
格书以及开发人员的设计文档等。

2、测试计划
需求分析
软件设计
验收测试设计
系统测试设计
验收测试执行
系统测试执行
集成测试
设计
集成测试执行
系统测试过程
集成测试过程
单元测试过程
软件编码和单元测试
图1-1 V 模型

14
测试计划(Test Plan)一般由测试负责人来编写。测试计划的依据主要是
项目开发计划和测试需求分析结果而制定。
3、测试设计
测试设计主要包括测试用例编写和测试场景设计两方面。一份好的测试用例
对测试有很好的指导作用,能够发现很多软件问题。测试场景设计主要也就是测
试环境问题了。
4、测试环境搭建
不同软件产品对测试环境有着不同的要求。如C/S 及B/S 架构相关的软件产
品,那么对不同操作系统,如Windows 系列、unix、linux 等,这些测试环境都
是必须的。而对于一些嵌入式软件,如手机软件,如果我们想测试一下有关功能
模块的耗电情况,手机待机时间等,那么我们可能就需要搭建相应的电流测试环
境了。当然测试中对于如手机网络等环境都有所要求。测试环境很重要,符合要
求的测试环境能够帮助我们准确的测出软件问题,并且做出正确的判断。
5、测试执行
测试执行过程又可以分为以下阶段:
单元测试→集成测试→系统测试→验收测试,其中每个阶段还有回归测试
等。
6、测试记录
缺陷记录总的说来包括两方面:提交缺陷和缺陷描述。一般而言,缺陷都是
谁测试谁提交,当然有些公司可能为了保证所提交缺陷的质量,还会在提交前进
行缺陷评估,以确保所提交的缺陷的准确性。
7、缺陷管理
缺陷管理方面,很多公司都采取缺陷管理工具来进行管理,常见缺陷管理工
具有Test Director、Bugfree 等。
8、软件评估
这里评估指软件经过一轮又一轮测试后,确认软件无重大问题或者问题很少
的情况下,对准备发给客户的软件进行评估,以确定是否能够发行给客户或投放
市场。

15
软件评估小组一般由项目管理人员、项目负责人、营销人员、部门经理等组
成,也可能是由客户指定的第三方人员组成。
9、测试总结
每个版本有每个版本的测试总结,每个阶段有每个阶段的测试总结,当项目
完成RTM 后,一般要对整个项目做个回顾总结,看有哪些做的不足的地方,有哪
些经验可以对今后的测试工作做借鉴使用,等等。测试总结无严格格式、字数限
制。应该说,测试总结还是很总要的。
10.测试维护
由于测试的不完全性,当软件正式发布后,客户在使用过程中,难免遇到一些
问题,有的甚至是严重性的问题,这就需要修改有关问题,修改后需要再次对软
件进行测试、评估、发行。
2.4.2.3 测试小结
软件测试本身是一个复杂的过程。因此,早在需求分析和设计阶段,测试小
组的测试人员就应该对各种说明书进行仔细分析,提取有关的测试信息,编写了
测试计划和测试规程。适时采用各种软件测试方法对软件进行测试,在测试过程
中,把发现的错误及时反馈给开发人员,确保测试人员与开发人员的及时沟通。
对开发人员修正过的软件,还要分析修改部分对整个系统的影响,有针对性地对
受影响的部分进行重新测试。测试人员在测试的同时还完成了各种测试文件的编
写工作。
作为保证系统软件质量的一种重要手段,软件测试是必不可少的,但是仅仅
依靠测试来保证软件质量是不够的,还需要有良好的软件质量管理体系。软件质
量管理的一条主要途径就是建立质量保证小组,这个小组要参与软件开发和确认
的各个阶段,并承担以下任务:
(1)保证对系统需求说明书、设计文本、软件代码和测试步骤的严格控制,
确保被测软件与设计需求、文本的高级要求说明一致;(2)代码化之前复审软件设
计;(3)参与设计和开发活动的技术审查和复审;(4)进行复审以保证软件与标准
和规程一致;(5)记录软件的问题和不一致之处并监控正确的操作;(6)复审并核
准合格的测试计划和测试规程;(7)监控测试操作。

16
2.5 软件质量保证(SQA)的实施
2.5.1.SQA 概述
SQA(软件质量保证)是 CMMI 一个重要关键过程域,它是贯穿于整个软件过程
的第三方独立审查活动,在CMMI 的过程中充当重要角色。目前,我们公司的SQA
的职责由项目管理部监理履行。 目的是向项目管理者提供对软件过程进行全面
监控的手段,包括评审和审计软件产品和活动,验证它们是否符合相应的规程和
标准,同时给项目管理者提供这些评审和审计的结果。 SQA 组织的责任是审计软
件开发活动的质量并鉴别活动中出现的偏差。
2.5.1.SQA 实施
软件质量保证的目标是以独立审查的方式监控软件研发的全过程,给开发人
员和项目管理人员提供反映软件质量的信息和数据,辅助研发组得到高质量的软
件产品,其主要职责内容包括以下三个方面:
● 通过监控软件的开发过程来保证软件的质量;
● 保证生产出的软件和软件开发过程符合相应的标准与规程;
● 保证软件产品、软件过程中存在的不符合问题得到处理,必要时将问题反
映给项目管高层。
● 确保项目组制定的计划、标准和规程适合项目组需要,同时满足评审需

● 向开发人员提供反馈
相应地,软件质量保证的主要活动有以下几个方面:
●SQA 审计与评审
SQA 审计包括对软件工作产品、软件工具和设备的审计,评价这几项内容是
否符合组织规定的标准。SQA 评审的主要任务是保证软件工程组的活动与预定义
的软件过程一致,确保软件过程在软件产品的生产中得到遵循。客观评价过程和

17
工作产品:对于所实施的过程和相关工作产品以及服务对适用的过程描述、标准
和规程的遵循情况进行客观评价。
● SQA 报告
SQA 人员应记录工作的结果,并写入到报告之中,发布给相关的人员。SQA 报
告的发布应遵循3 条基本原则:SQA 和高级管理者之间应有直接沟通的渠道、SQA
报告必须发布给软件工程组但不必发布给项目管理人员、在可能的情况下向关心
软件质量的人发布SQA 报告。
● 处理不符合问题
这是 SQA 的一个重要的任务,SQA 人员要对工作过程中发现的不符合问题进
行处理,及时向有关人员及高级管理者反映。在处理问题的过程中要遵循两个原
则:其一,对符合标准过程的活动,SQA 人员应该积极地报告活动的进展情况以及
这些活动在符合标准方面的效果;其二,对不符合标准过程的活动,SQA 要报告其
不符合性以及它对产品的影响,同时提出改进建议。
软件质量保证任务的实现需要考虑几方面的问题。首先,要考虑 SQA 人员的
素质。SQA 人员的责任是审查软件设计、开发人员的活动,验证他们是否将选定
的标准、方法和规程应用到活动中去,因此,SQA 工作的有效执行需要SQA 人员掌
握专业的技术,例如质量控制知识、统计学知识等。其次,SQA 人员的经验对任务
的实现同样重要。应该选择那些经验丰富的人来做 SQA,同时为 SQA 人员进行专
门的培训,以使他们能够胜任这项工作。第三,组织应当建立文档化的开发标准和
规程,使 SQA 人员在工作时有一个依据、判断的标准,如果没有这些标准,SQA 人
员就无法准确地判断开发活动中的问题,容易引发不必要的争论。第四,公司管理
应该重视软件质量保证活动。应该对SQA 人员发现的问题进行及时处理,不能使
质理保证流于形式而难于发挥作用。
2.5.2.SQA 与SQC 区别与协作
SQA,即:软件质量保证,负责软件开发流程的质量,企业内相对应的角色
为:软件质量保证人员,我们公司对应的是项目监理。SQC,即:软件质量控制,
只负责软件开发过程中各个阶段产出的工件的质量,产出的工件可能是相关的文

18
档、代码和可执行程序等,企业内相对应的角色为:软件测试工程师。但要注意,
在各个阶段SQC 的对应人员不一定都为测试人员,如在需求阶段,产生的成果为
《需求规格说明书》,对该文档的主要质量控制手段为评审,这时候在此阶段担
任SQC 职责的就是评审小组的成员。
SQA 和SQC 虽然主要的工作都是为了保证软件的质量,但是着重点不同。 SQA
通过控制过程来保证软件产品的质量,而SQC 是通过控制每个阶段的“结果”来
保证软件产品的质量。
在软件研发的过程中,要想提高软件质量,不仅需要持续不断的进行测试,
检验产品的质量,在“结果”中保证质量;同时也要改进我们的开发方式,优化
我们的开发流程,在“过程”中保证软件的质量。所以两者是相辅相成的关系,
缺一不可,SQA 和SQC 必须相互协作,相互配合,在“过程”和“结果”都正确
的基础上,有效改善软件产品的质量。同时SQC(测试)人员在工作过程中会产
生出大量的过程数据,SQA 人员通过对这些数据的统计分析,发现软件质量问题
所在,进而反馈到流程的改进活动中,再通过SQC 人员搜集的大量数据来验证流
程改进的有效性,最终达到软件质量的持续改进。
2.6 全面软件质量管理
2.6.1.全面软件质量管理
质量不仅仅是质量人员的事情,每个成员都有维护质量的责任。每个成员都
有责任、也有权利提出改进建议,并将合理的建议付诸实施。在软件开发中出现
的质量问题,可能是由以下原因造成的:
1.管理者缺乏质量观念,未将质量放在足够重要的地位。
2.缺乏全面质量管理、人人都是质量保证者和责任人的观念。
3.缺乏决不把不合格中间产品带入下一阶段的观念。
4.没有良好的激励机制。
5.没有认识到提高质量对公司的生存发展的重要性,缺乏主人翁责任感。

19
因此软件质量是全员负责。任何与软件开发、管理工作相关的人员都对质量产生
影响,都要对质量负责。所以人们不要把质量问题全部推给质量人员或测试人员。
2.6.2.全面软件质量管理的方法---制定质量管理计划
质量管理计划就是为了实现质量目标的计划。而质量目标则是由商业目标决
定的。开发软件产品的最终目的是为了赚钱,所以人们为提高软件质量所付出的
代价是有有限的,项目负责人当然希望代价越低越好。质量管理计划是全面质量
管理的行动纲领。
谁制定质量管理计划?由项目核心成员和质量人员共同协商制定,主要由质量人
员起草,由项目经理或项目管理层审批即可。
2.6.3.全面软件质量管理的方法---技术评审
技术评审(Technical Review, TR)的目的是尽早地发现工作成果中的缺陷,
并帮助开发人员及时消除缺陷,从而有效地提高产品的质量。技术评审方法已经

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

下载文档

热门试卷

2016年四川省内江市中考化学试卷
广西钦州市高新区2017届高三11月月考政治试卷
浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
广西钦州市钦州港区2017届高三11月月考政治试卷
广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
广西钦州市高新区2016-2017学年高二11月月考政治试卷
广西钦州市高新区2016-2017学年高一11月月考政治试卷
山东省滨州市三校2017届第一学期阶段测试初三英语试题
四川省成都七中2017届高三一诊模拟考试文科综合试卷
2017届普通高等学校招生全国统一考试模拟试题(附答案)
重庆市永川中学高2017级上期12月月考语文试题
江西宜春三中2017届高三第一学期第二次月考文科综合试题
内蒙古赤峰二中2017届高三上学期第三次月考英语试题
2017年六年级(上)数学期末考试卷
2017人教版小学英语三年级上期末笔试题
江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
四川省简阳市阳安中学2016年12月高二月考英语试卷
四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
安徽省滁州中学2016—2017学年度第一学期12月月考​高三英语试卷
山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷

网友关注

《勾股定理的应用》答辩题目及解析
高中生物教师资格证《原核细胞和真核细胞》答辩题目及解析
《俄罗斯舞曲》答辩问题与解析
高中英语 Module 2 The puzzle of Mona Lisa答辩
《化学方程式的配平》答辩题目及解析
高中历史教师资格证面试《世纪之交的世界格局 》答辩问题及解析
初中信息技术教师资格证面试《TCP/IP协议》答辩题目与解析
《黄河大合唱》答辩问题与解析
初中语文《木兰诗》答辩问题及解析
《脚背正面踢球》答辩问题与解析
初中语文教师资格证面试:《次北固山下》答辩
小学美术《兵马俑》 答辩题目与解析
《寡人之于国也》答辩问题和参考答案
《自由与规则不可分》答辩
《农业区位因素》答辩问题及解析
高中信息技术教师资格证面试《计算机网络的组成》答辩问题与解析
高中历史教师资格证面试:《战国百家争鸣 》答辩问题及解析
《反手推拨球技术》答辩问题与解析
初中体育教师资格证面试《武术运动—健身拳》答辩题目与解析
初中地理教师资格证“亚细亚”和“欧罗巴” 答辩问题及解析
《瞬间的表情》答辩题目与解析
初中历史《“一国两制”的伟大构想及其实践》答辩问题及解析
初中美术《马蒂斯的红色房间》 答辩题目与解析
《达姆达姆》答辩问题与解析
初中生物教师资格证《神经系统的组成》答辩题目及答案
高中英语人教版必修二Unit1 Cultural Relics英语答辩
高中语文教师资格证面试:《梦游天姥吟留别》答辩
初中体育教师资格证面试:《游泳》答辩问题及解析
《其他植物激素》答辩题目及答案
初中英语 现在完成时答辩题目

网友关注视频

沪教版牛津小学英语(深圳用) 五年级下册 Unit 12
8.练习八_第一课时(特等奖)(苏教版三年级上册)_T142692
冀教版英语五年级下册第二课课程解读
沪教版牛津小学英语(深圳用) 五年级下册 Unit 7
19 爱护鸟类_第一课时(二等奖)(桂美版二年级下册)_T502436
【部编】人教版语文七年级下册《老山界》优质课教学视频+PPT课件+教案,安徽省
第五单元 民族艺术的瑰宝_16. 形形色色的民族乐器_第一课时(岭南版六年级上册)_T3751175
苏教版二年级下册数学《认识东、南、西、北》
冀教版英语四年级下册第二课
沪教版八年级下册数学练习册21.3(2)分式方程P15
沪教版牛津小学英语(深圳用) 四年级下册 Unit 4
飞翔英语—冀教版(三起)英语三年级下册Lesson 2 Cats and Dogs
七年级英语下册 上海牛津版 Unit9
二次函数求实际问题中的最值_第一课时(特等奖)(冀教版九年级下册)_T144339
第19课 我喜欢的鸟_第一课时(二等奖)(人美杨永善版二年级下册)_T644386
小学英语单词
外研版英语三起5年级下册(14版)Module3 Unit2
冀教版小学数学二年级下册第二单元《有余数除法的简单应用》
河南省名校课堂七年级下册英语第一课(2020年2月10日)
8 随形想象_第一课时(二等奖)(沪教版二年级上册)_T3786594
《小学数学二年级下册》第二单元测试题讲解
沪教版牛津小学英语(深圳用)五年级下册 Unit 1
【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
化学九年级下册全册同步 人教版 第22集 酸和碱的中和反应(一)
第12章 圆锥曲线_12.7 抛物线的标准方程_第一课时(特等奖)(沪教版高二下册)_T274713
苏科版数学八年级下册9.2《中心对称和中心对称图形》
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,广东省
沪教版牛津小学英语(深圳用) 四年级下册 Unit 2
冀教版小学英语五年级下册lesson2教学视频(2)
外研版英语三起6年级下册(14版)Module3 Unit2