软件质量测试第七章软件质量和质量保证

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第七章软件质量和质量保证沈阳师范大学软件学院1软件工程系孟磊netmenglei@126.com本章内容7.1软件质量7.2软件度量7.3软件能力成熟度模型7.4软件质量保证沈阳师范大学软件学院2本节内容7.1软件质量7.1.1软件质量的含义7.1.2软件质量模型沈阳师范大学软件学院37.1.1软件质量的含义7.1.1软件质量的含义首先来看一些关于质量的定义。1990年,Juran和Gryna把质量定义为“适于使用”。1999年,Crosby将质量定义为“符合需求”。在GB/T6583-ISO8404(1994版)中,将质量定义为“反映实体满足明确和隐含需要的能力的特性的总和”,这里的实体是“可以单独描述和研究的事物”,如产品、活动、过程、组织的体系等。在ISO9000:2000中,将质量定义为“一组固有特性满足要求的程度”。至于软件质量,很容易从上述质量的定义中作扩展。IEEE对软件质量的定义如下。软件质量是:系统、部件或过程满足顾客或者用户需要或期望的程度。系统、部件或过程满足规定需求的程度。沈阳师范大学软件学院47.1.2软件质量模型7.1.2软件质量模型为了避免软件质量评价的盲目性,需要制定软件质量模型,从多方面、客观地、定量地对软件质量进行度量和评价。比较常见的三个软件质量模型是McCall模型、Boehm模型和ISO9126。沈阳师范大学软件学院57.1.2软件质量模型7.1.2软件质量模型McCall模型是McCall和他同事在1999年提出的,如图所示。沈阳师范大学软件学院6McCall质量模型将软件质量分为3个重要的方面:操作特性(产品运行)承受可改变能力(产品修订)新环境适应能力(产品变迁)图McCall质量模型7.1.2软件质量模型7.1.2软件质量模型沈阳师范大学软件学院7•Boehm模型是Boehm和他的同事在1778年提出的,如图10-2所示。•Boehm质量模型是一个分层的模型,除了包含用户的期望和需要,它还包含了McCall模型所没有的硬件质量特性。•Boehm质量模型关注不同类型的用户需要。第一类用户是初始用户,第二类用户是要将软件移植到其他软硬件系统中使用的用户,第三类用户是系统维护人员。也可以说,Boehm质量模型反映了不同类型的用户对软件质量的理解。图Boehm质量模型7.1.2软件质量模型7.1.2软件质量模型沈阳师范大学软件学院8•1991年,ISO颁布了ISO9126-1991标准《软件产品评价—质量特性及其使用指南》。我国也于1996年颁布了同样的软件产品质量评价标准GB/T16260-1996。ISO9126模型如图10-3所示。•ISO9126模型定义了6个影响软件质量的质量特性,而每个质量特性又可通过若干子特性来测量,每个子特性在评价时要进行定义并实施若干度量。•ISO9126质量模型使得软件最大限度地满足用户的明确的和潜在的需求,且从用户、开发人员、管理者等各类人员的角度全方位地考虑软件质量。图ISO7126质量模型本节内容7.2软件度量7.2.1软件度量概述7.2.2软件度量的目标7.2.3软件度量的三个方面沈阳师范大学软件学院97.2.1软件度量概述7.2.1.1软件度量的含义度量是指在现实的世界中把数字或符号指定给实体的某一属性,以便以这种方式来根据已明确的规则来描述它们。度量关注的是获取关于实体属性的信息。那么什么是软件度量呢?软件度量(SoftwareMeasurement)是对软件开发项目、过程及其产品进行数据定义、收集以及分析的持续性量化过程,目的在于对项目质量、过程质量及产品质量进行理解、预测、评估、控制和改善。沈阳师范大学软件学院107.2.1软件度量概述7.2.1.2软件度量的意义在软件开发中,软件度量的根本目的是为了软件管理的需要,利用度量来改进软件过程,以提高软件开发效率和软件质量。通过软件度量,使人们能够可预测、可重复、准确地控制软件开发过程和软件产品。度量使得对软件质量的评价从定性走向了定量,避免了软件质量评价的模糊性。沈阳师范大学软件学院117.2.1软件度量概述7.2.1.3软件度量的现状在软件界,软件度量目前的情况并不尽如人意,如下一些现象是时常存在的。设计和开发软件产品的时候,并未制定出度量的目标。未能对构成软件项目实际费用的各个不同部分进行有效的度量。由于缺乏清晰的度量目标,使得开发人员不能使开发的产品质量的各方面特性都合格,因此不能使用术语向潜在的用户说明软件产品具有很高的质量。由于缺乏对软件的度量,看不到清晰的实效,因而人们对所使用的软件开发技术没有足够的信心。沈阳师范大学软件学院127.2.3软件度量的三个方面7.2.3.1软件度量的三个方面软件度量贯穿于软件开发的整个生命周期。软件度量包括3个方面:项目度量产品度量过程度量沈阳师范大学软件学院137.2.3软件度量的三个方面7.2.3.1具体情况如表所示沈阳师范大学软件学院14度量维度侧重点具体内容项目度量理解和控制当前项目的情况和状态。规模、成本、工作量、进度、生产力、风险、顾客满意度产品度量理解和控制当前产品的质量产品的功能性、可靠性、易使用性、效率、可维护性、可移植性过程度量理解和控制当前情况和状态,对过程进行改进和预测能力成熟度、管理、生命周期、生产率、缺陷植入率实训一:软件质量保证计划沈阳师范大学软件学院15本节内容7.3软件能力成熟度模型7.3.1软件能力成熟度模型概述7.3.2软件能力成熟度模型的建立和评估沈阳师范大学软件学院167.3.1软件能力成熟度模型概述7.3.1.1起源卡内基·梅隆大学软件工程研究所CMU/SEI(CarnegieMellonUniversity/SoftwareEngineeringInstitute)于1989年研究发布了软件过程成熟度框架,并提供了软件过程评估和软件能力评价两种评估方法和软件成熟度模型。4年之后,SEI将软件过程成熟度框架进化为软件能力成熟度模型(theCapabilityMaturityModelForSoftware,简称SW-CMM),并发布了最早的SW-CMM1.0版。经过两年的试用,1993年SEI正式发布了SW-CMM1.1版,这是目前使用最为广泛的版本。沈阳师范大学软件学院177.3.1软件能力成熟度模型概述7.3.1.2软件能力成熟度模型中的重要概念过程(Process):CMM中引用了IEEE对过程的定义,即过程是“为达到目的而执行的所有步骤的系列”。软件过程(SoftwareProcess):人们用于开发和维护软件及其相关产品的一系列活动、方法、实践和革新。软件和其相关产品是指项目计划、需求文档、设计文档、代码、测试用例、用户手册等。软件过程能力(SoftwareProcessCapability):在遵循一个软件过程后能得到的预期结果的范围。它可用来预测一个机构在承接一个软件项目后,所能得到的最可能的结果。软件过程性能(SoftwareProcessPerformance):在遵循一个软件过程后所得到的实际结果。软件过程成熟度(SoftwareProcessMaturity):一个具体的软件过程被明确定义、管理、评价、控制和产生实效的程度。所谓成熟度,包含着能力的一种增长潜力,同时也表明了软件机构实施软件过程的实际水平。沈阳师范大学软件学院187.3.1软件能力成熟度模型概述7.3.1.3软件能力成熟度模型的作用企业实施CMM模型可为企业带来如下好处:指导软件机构提高软件开发管理能力。降低软件承包商和采购者的风险。评估软件承包商的软件开发管理能力。帮助软件企业识别开发和维护软件的有效过程和关键实践。帮助软件企业识别为达到CMM更高成熟等级所必须的关键实践。增加软件企业的国际竞争能力。沈阳师范大学软件学院197.3.1软件能力成熟度模型概述7.3.1.4软件能力成熟度模型的5个等级CMM将软件过程的成熟度分为5个等级,如图所示沈阳师范大学软件学院207.3.1软件能力成熟度模型概述7.3.1.4软件能力成熟度模型的5个等级在CMM中,等级越高,软件开发生产精度则越高,每单位工程的生产周期也越短。在CMM的5个等级中,除了初始级,其他4个等级均有若干个指导软件机构改进软件过程的要点,称为关键过程域(KeyProcessArea,简称KPA)。所谓关键过程域是指一系列相互关联的操作活动,这些活动反映了一个软件机构改进过程时必须集中精力改进的几个方面。只有一个软件机构的所有项目都达到某个关键过程域的目标,该软件机构的以该关键过程域为特征的过程能力才是规范化了的。沈阳师范大学软件学院217.3.1软件能力成熟度模型概述7.3.1.4软件能力成熟度模型的5个等级在CMM中一共有18个关键过程域,分布在2~5级中。任何一个成熟度级别的关键过程域集都是本级描述的关键过程域集和所有下级的关键过程域集的并集。如第3级的关键过程域就应有13个不同的域,其中7个是第3级自己包含的,6个属于第2级,而第4级应有15个域。沈阳师范大学软件学院227.3.1软件能力成熟度模型概述7.3.1.5关键实践和共同特征为达到某个成熟度级别的关键过程域的目标,必须实施若干关键实践。关键实践(KeyPractice)是指对关键过程域起重要作用的方针、规程、措施、活动以及相关基础设施的建立。关键实践涉及5个方面,分别为执行约定、执行能力、执行的活动、测量和分析、验证实施,被称作5个共同特征(CommonFeatures)。每个关键过程域所包含的关键实践均按这5个共同特征进行组织。沈阳师范大学软件学院237.3.1软件能力成熟度模型概述7.3.1.6可用图来概括CMM的逻辑结构沈阳师范大学软件学院247.3.2软件能力成熟度模型的建立和评估7.3.2.1CMM的实施步骤企业实施CMM,可从如下几个步骤进行:①提高思想认识,了解必要性和迫切性;②确定合理的目标;③进行CMM培训和咨询工作;④成立工作组;⑤制定和完善软件过程;⑥内部评审;⑦初期评估;⑧正式评估;⑨根据评估的结果改进软件过程。沈阳师范大学软件学院257.3.2软件能力成熟度模型的建立和评估7.3.2.2CMM的评估方法CMM的评估方法为CBA-IPI(CMM-BasedAppraisalforInternalProcessImprovement,基于CMM的内部过程改进评估)。CMM评估包括5个等级,共计18个关键过程域,52个目标,300多个关键实践。每一个CMM等级评估周期约需12-30个月。每一级别的评估由CMU/SEI授权的主任评估师领导一个评审小组进行。评估过程包括员工培训、问卷填写和统计、文档审查、数据分析、与企业的高层领导讨论和撰写评估报告等。沈阳师范大学软件学院267.3.2软件能力成熟度模型的建立和评估7.3.2.3实施CMM应把握的原则任何软件开发单位在提升自己的CMM等级时,只能由所处的层次向紧邻的上一层次进化,不可越级。通过CMM某个等级的评估并不是软件企业最终的目的,显然,最终目的应是通过CMM评估来改进企业的软件过程,提升软件开发的能力。沈阳师范大学软件学院27本节内容7.4软件质量保证7.4.1软件质量保证概述7.4.2软件质量保证的工作内容7.4.3软件质量保证的实施沈阳师范大学软件学院287.4.1软件质量保证概述7.4.1.1软件质量保证软件质量保证,即SQA(SoftwareQualityAssurance),是CMM第2级中的一个关键过程域,它是贯穿整个软件过程的第三方独立审查活动,出现在大多数关键过程域的检查与验证的公共特性中。沈阳师范大学软件学院297.4.1软件质量保证概述7.4.1.1软件质量保证的目的SQA的目的是向管理者提供对软件过程进行全面监控的手段,包括评审和审计软件产品和活动,验证它们是否符合相应的规程和标准,同时给项目管理者提供这些评审和审计的结果,以反映产品和过程质量,提高项目透明度。沈阳师范大学软件学院307.4

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功