软件质量与质量保证课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件质量与质量保证课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 质量 质量保证 课件
- 资源描述:
-
1、08软件质量与质量保证软件质量与质量保证 2不论什么产品,质量都是极其重要。软件不论什么产品,质量都是极其重要。软件产品是逻辑产品,其特点是研发周期长,耗产品是逻辑产品,其特点是研发周期长,耗资巨大,必须特别注意保证质量。资巨大,必须特别注意保证质量。软件质量问题引发的事故已直接伤害到生软件质量问题引发的事故已直接伤害到生命和社会安全。命和社会安全。忽视质量必将付出更大的代价,受到更为忽视质量必将付出更大的代价,受到更为严厉的惩罚。严厉的惩罚。质量是唯一不能妥协的,没有质量的质量是唯一不能妥协的,没有质量的生产是一种破坏!生产是一种破坏!P.167 3提提 纲纲软件质量的定义软件质量的定义影响
2、软件质量的因素影响软件质量的因素软件质量保证策略软件质量保证策略软件质量保证活动软件质量保证活动软件评审软件评审软件质量保证的标准软件质量保证的标准结构化程序的测试结构化程序的测试面向对象的软件测试面向对象的软件测试测试计划与测试分析报告测试计划与测试分析报告软件维护软件维护 48.1 软件质量的定义P.167ANSI/IEEE(美国国家标准化组织(美国国家标准化组织/电电气和电子工程师协会)气和电子工程师协会)Std 729-1983定定义软件质量为义软件质量为:“与软件产品满足规定的和与软件产品满足规定的和隐含的需求的能力有关的特隐含的需求的能力有关的特征或特性的全体征或特性的全体”。58
3、.1 软件质量的定义P.167定义至少明确了如下要点:定义至少明确了如下要点:1)1)软件需求是度量软件质量的基础,不符合需求的软软件需求是度量软件质量的基础,不符合需求的软件就没有质量。件就没有质量。2)2)在各种标准中定义了一些开发准则,用来指导软件在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法开发软件。如果不遵守这些开发人员用工程化的方法开发软件。如果不遵守这些开发准则,软件质量就得不到保证。准则,软件质量就得不到保证。3)3)往往会有一些隐含的需求没有明确地提出来。往往会有一些隐含的需求没有明确地提出来。例如,软件应具备良好的可维护性。如果软件只例如,软件应具备良好的可
4、维护性。如果软件只满足那些精确定义了的需求而没有满足这些隐含满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证。的需求,软件质量也不能保证。6提提 纲纲软件质量的定义软件质量的定义影响软件质量的因素影响软件质量的因素软件质量保证策略软件质量保证策略软件质量保证活动软件质量保证活动软件评审软件评审软件质量保证的标准软件质量保证的标准结构化程序的测试结构化程序的测试面向对象的软件测试面向对象的软件测试测试计划与测试分析报告测试计划与测试分析报告软件维护软件维护 78.2 影响软件质量的因素P.167对软件开发项目提出的要求往往只强调系对软件开发项目提出的要求往往只强调系统必须完成
5、的功能、应该遵循的进度计划统必须完成的功能、应该遵循的进度计划、以及生产这个系统花费的成本,却很少、以及生产这个系统花费的成本,却很少注意在整个生命周期中软件系统应该具备注意在整个生命周期中软件系统应该具备的质量标准。的质量标准。这种做法的后果是使许多系统的维护费用这种做法的后果是使许多系统的维护费用很高,为了把系统移植到另外的环境中,很高,为了把系统移植到另外的环境中,或者使系统和其他系统配合使用,都必须或者使系统和其他系统配合使用,都必须付出很高昂的代价。付出很高昂的代价。88.2 影响软件质量的因素P.1671 影响软件质量的主要因素影响软件质量的主要因素虽然软件具有难于定量度量的软虽然
6、软件具有难于定量度量的软件属性,但是仍然能够提出许多重件属性,但是仍然能够提出许多重要的软件质量指标。要的软件质量指标。从管理角度对软件质量进行度量从管理角度对软件质量进行度量,可以把影响软件质量的主要因素,可以把影响软件质量的主要因素分成以下分成以下13类。类。98.2 影响软件质量的因素P.1671 影响软件质量的主要因素影响软件质量的主要因素1)1)正确性正确性2)2)健壮性健壮性3)3)效率效率4)4)安全性安全性5)5)可用性可用性6)6)风险风险7)7)可理解性可理解性8)8)可维修性可维修性9)9)适应性适应性10)10)可测试性可测试性11)11)可移植性可移植性12)12)可
7、再用性可再用性13)13)互运行性互运行性 108.2 影响软件质量的因素P.1672 软件质量评价应遵守的原则软件质量评价应遵守的原则1)1)应强调软件总体质量应强调软件总体质量(低成本高质量低成本高质量),而不应片,而不应片面强调软件正确性,忽略其可维护性与可靠性、面强调软件正确性,忽略其可维护性与可靠性、可用性与效率等。可用性与效率等。2)2)应在软件工程化生产的整个周期的各个阶段都应在软件工程化生产的整个周期的各个阶段都注意软件的质量,而不能只在软件最终产品验收注意软件的质量,而不能只在软件最终产品验收时注意质量。时注意质量。3)3)应制定软件质量标准,定量地评价软件质量,应制定软件质
8、量标准,定量地评价软件质量,使软件产品评价执行使软件产品评价执行“评测结合,以测为主评测结合,以测为主”的的科学方法。科学方法。11提提 纲纲软件质量的定义软件质量的定义影响软件质量的因素影响软件质量的因素软件质量保证策略软件质量保证策略软件质量保证活动软件质量保证活动软件评审软件评审软件质量保证的标准软件质量保证的标准结构化程序的测试结构化程序的测试面向对象的软件测试面向对象的软件测试测试计划与测试分析报告测试计划与测试分析报告软件维护软件维护 128.3 软件质量保证策略P.168 审查审查 复查和管理复审复查和管理复审 测试测试 13提提 纲纲软件质量的定义软件质量的定义影响软件质量的因
9、素影响软件质量的因素软件质量保证策略软件质量保证策略软件质量保证活动软件质量保证活动软件评审软件评审软件质量保证的标准软件质量保证的标准结构化程序的测试结构化程序的测试面向对象的软件测试面向对象的软件测试测试计划与测试分析报告测试计划与测试分析报告软件维护软件维护 148.4 软件质量保证活动P.169质量保证是复审、开发方法、配置控制质量保证是复审、开发方法、配置控制与程序测试的综合应用。与程序测试的综合应用。简单地说,软件的开发方法应该符合规简单地说,软件的开发方法应该符合规定的软件开发规范;定的软件开发规范;计划和开发时期各个阶段的工作都要进计划和开发时期各个阶段的工作都要进行复审;行复
10、审;每个阶段产生的文档都必须严格管理,每个阶段产生的文档都必须严格管理,以确保文档和程序的完整性与一致性;以确保文档和程序的完整性与一致性;158.4 软件质量保证活动P.169作为最后和最重要的一道防线,还作为最后和最重要的一道防线,还要坚持对程序进行各个层次的测试。要坚持对程序进行各个层次的测试。所有以上的各项活动内容,都需写所有以上的各项活动内容,都需写入质量保证计划,并由质量保证小组入质量保证计划,并由质量保证小组监督实施。监督实施。由此可见,质量保证既是技由此可见,质量保证既是技术活动,也是管理活动。术活动,也是管理活动。168.4 软件质量保证活动P.169图图8-1 8-1 质量
11、保证活动内容质量保证活动内容验证与确认验证与确认开发时期的开发时期的配置管理配置管理 17提提 纲纲软件质量的定义软件质量的定义影响软件质量的因素影响软件质量的因素软件质量保证策略软件质量保证策略软件质量保证活动软件质量保证活动软件评审软件评审软件质量保证的标准软件质量保证的标准结构化程序的测试结构化程序的测试面向对象的软件测试面向对象的软件测试测试计划与测试分析报告测试计划与测试分析报告软件维护软件维护 188.5 软件评审P.170在软件生存期每个阶段的工作中都可能引在软件生存期每个阶段的工作中都可能引入人为的错误。入人为的错误。当出现错误,如果不及时纠正,就会传播当出现错误,如果不及时纠
12、正,就会传播到开发的后续阶段中去,并在后续阶段中到开发的后续阶段中去,并在后续阶段中引出更多的错误。引出更多的错误。实践证明,提交给测试阶段的程序中包含实践证明,提交给测试阶段的程序中包含的错误越多,经过同样时间的测试后,程的错误越多,经过同样时间的测试后,程序中序中仍然潜伏仍然潜伏的错误也越多。的错误也越多。198.5 软件评审P.170所以必须在开发时期的每个阶段,特别是设所以必须在开发时期的每个阶段,特别是设计阶段结束时要进行严格的技术评审,尽量不计阶段结束时要进行严格的技术评审,尽量不让错误传播到下一个阶段。让错误传播到下一个阶段。评审是以提高软件质量为目的的技术活动。评审是以提高软件
13、质量为目的的技术活动。为此,首先要明确什么是软件的质量。为此,首先要明确什么是软件的质量。缺乏质量概念的技术评审只是一缺乏质量概念的技术评审只是一种拘于形式的为评审而评审的盲目种拘于形式的为评审而评审的盲目工作。工作。208.5 软件评审P.170通常,把质量定义为用户的满意通常,把质量定义为用户的满意程度。为使用户满意,有以下两个程度。为使用户满意,有以下两个必要条件。必要条件。1)1)设计的规格说明要符合用户的要求。设计的规格说明要符合用户的要求。2)2)程序要按照设计规格说明所规定的情程序要按照设计规格说明所规定的情况正确执行。况正确执行。218.5 软件评审P.170人们人们把上述第一
14、个条件称为设计把上述第一个条件称为设计质量,把第二个条件称为程序质量质量,把第二个条件称为程序质量。图图8-2 8-2 设计质量与程序质量设计质量与程序质量 228.5 软件评审P.171设计质量的评审对象是在需求分析阶段产生的软件需设计质量的评审对象是在需求分析阶段产生的软件需求规格说明、数据要求规格说明,在软件概要设计阶段求规格说明、数据要求规格说明,在软件概要设计阶段产生的软件概要设计说明等产生的软件概要设计说明等,归纳起来,需要从下述归纳起来,需要从下述12个方面进行评审。个方面进行评审。软件的规格说明软件的规格说明 可靠性可靠性 保密措施实现保密措施实现 操作特性实施操作特性实施 性
15、能实现性能实现 可修改性可修改性8.5.1 设计质量的评审内容设计质量的评审内容 可扩充性可扩充性 互换性互换性 可移植性可移植性 可测试性可测试性 复用性复用性 互连性互连性 238.5 软件评审P.175程序质量评审着眼于软件本身的结构、与运行程序质量评审着眼于软件本身的结构、与运行环境的接口、变更带来的影响而进行的评审活动环境的接口、变更带来的影响而进行的评审活动。通常它是从开发者的角度进行评审,直接与开通常它是从开发者的角度进行评审,直接与开发技术有关。发技术有关。软件的结构软件的结构与运行环境的接口与运行环境的接口8.5.2 程序程序质量的评审内容质量的评审内容 24提提 纲纲软件质
16、量的定义软件质量的定义影响软件质量的因素影响软件质量的因素软件质量保证策略软件质量保证策略软件质量保证活动软件质量保证活动软件评审软件评审软件质量保证的标准软件质量保证的标准结构化程序的测试结构化程序的测试面向对象的软件测试面向对象的软件测试测试计划与测试分析报告测试计划与测试分析报告软件维护软件维护 258.6 软件质量保证的标准P.177质量保证系统可以定义为用于实现质量管质量保证系统可以定义为用于实现质量管理的组织结构、责任、规程、过程和资源。理的组织结构、责任、规程、过程和资源。ISO 9000标准是以一种能够适用于任何行标准是以一种能够适用于任何行业的术语描述了质量保证的要素。业的术
17、语描述了质量保证的要素。为了登记成为为了登记成为ISO 9000中包含的质量保证中包含的质量保证系统模型,一个公司的质量系统和操作应该系统模型,一个公司的质量系统和操作应该被第三方审计者仔细检查,查看其与标准的被第三方审计者仔细检查,查看其与标准的符合性以及操作的有效性。符合性以及操作的有效性。268.6 软件质量保证的标准P.177成功登记之后,这一公司将收到成功登记之后,这一公司将收到由审计者所代表的登记实体颁发的由审计者所代表的登记实体颁发的证书。证书。此后每半年进行一次的检查性审此后每半年进行一次的检查性审计持续地保证该公司的质量系统与计持续地保证该公司的质量系统与标准相符。标准相符。
18、278.6 软件质量保证的标准P.177ISO对质量保证对质量保证系统的方法系统的方法ISO 9001标准标准 28提提 纲纲软件质量的定义软件质量的定义影响软件质量的因素影响软件质量的因素软件质量保证策略软件质量保证策略软件质量保证活动软件质量保证活动软件评审软件评审软件质量保证的标准软件质量保证的标准结构化程序的测试结构化程序的测试面向对象的软件测试面向对象的软件测试测试计划与测试分析报告测试计划与测试分析报告软件维护软件维护 298.7 结构化程序的测试P.178软件测试是软件开发过程的重要组成部软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是分,是用来确认一个程序
19、的品质或性能是否符合开发之前所提出的一些要求。否符合开发之前所提出的一些要求。软件测试就是在软件投入运行前,对软软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行软件测试是为了发现错误而执行程序的过程。程序的过程。308.7 结构化程序的测试P.178软件测试在软件生存期中横跨两个阶段软件测试在软件生存期中横跨两个阶段。通常在编写出每一个模块之后就对它做通常在编写出每一个模块之后就对它做必要的测试必要的测试(称为单元测试称为单元测试)。编码和单元测
20、试属于软件生存期中的同编码和单元测试属于软件生存期中的同一个阶段。一个阶段。在结束这个阶段后对软件系统还要进行在结束这个阶段后对软件系统还要进行各种综合测试,这是软件生存期的另一个各种综合测试,这是软件生存期的另一个独立阶段,即独立阶段,即测试阶段测试阶段。318.7 结构化程序的测试P.179 软件测试的目的软件测试的目的 软件质量软件质量测试人员的任务测试人员的任务8.7.1 软件测试的目的软件测试的目的 328.7 结构化程序的测试P.179从不同的角度出发,出现了两种不同的软从不同的角度出发,出现了两种不同的软件测试原则。件测试原则。从用户的角度出发,就是希望通过软件测从用户的角度出发
21、,就是希望通过软件测试能充分暴露软件中存在的问题和缺陷,从试能充分暴露软件中存在的问题和缺陷,从而考虑是否可以接受该产品;而考虑是否可以接受该产品;从开发者的角度出发,就是希望测试能表从开发者的角度出发,就是希望测试能表明软件产品不存在错误,已经正确地实现了明软件产品不存在错误,已经正确地实现了用户的需求。用户的需求。8.7.2 软件测试的原则软件测试的原则 338.7 结构化程序的测试P.179为了达到上述的原则,需要注意以下几点为了达到上述的原则,需要注意以下几点。1)应当尽早测试和不断地测试。应当尽早测试和不断地测试。2)程序员应该避免检查自己的程序,测试工作应该由程序员应该避免检查自己
22、的程序,测试工作应该由独立的专业的软件测试机构来完成。独立的专业的软件测试机构来完成。3)设计测试用例时应该考虑到合法的输入和不合法的设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况要制造极端状态和输入以及各种边界条件,特殊情况要制造极端状态和意外状态,例如,网络异常中断、电源断电等情况。意外状态,例如,网络异常中断、电源断电等情况。8.7.2 软件测试的原则软件测试的原则 348.7 结构化程序的测试P.1794)一定要注意测试中的错误集中发生现象,这与程序员的编一定要注意测试中的错误集中发生现象,这与程序员的编程水平和习惯有很大的关系。程水平和习惯有很大的关系。5
23、)对测试错误结果一定要有一个确认的过程,一般有对测试错误结果一定要有一个确认的过程,一般有A测试测试出来的错误,一定要有一个出来的错误,一定要有一个B来确认,严重的错误可以召开来确认,严重的错误可以召开评审会进行讨论和分析。评审会进行讨论和分析。6)制订严格的测试计划,并把测试时间安排得尽量宽松,不制订严格的测试计划,并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试。要希望在极短的时间内完成一个高水平的测试。7)回归测试的关联性一定要引起充分的注意,避免修改一个回归测试的关联性一定要引起充分的注意,避免修改一个错误而引起更多的错误出现。错误而引起更多的错误出现。8)妥善保
24、存测试过程文档有重要意义,因为测试的重现性往妥善保存测试过程文档有重要意义,因为测试的重现性往往要靠测试文档。往要靠测试文档。8.7.2 软件测试的原则软件测试的原则 358.7 结构化程序的测试P.180软件测试并不等同程序测试。软件测试应该贯穿于软软件测试并不等同程序测试。软件测试应该贯穿于软件定义与开发的整个期间。件定义与开发的整个期间。因此需求分析、概要设计、详细设计以及程序编码等因此需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应该是软件格说明、详细设计规
25、格说明以及源程序,都应该是软件测试的对象。测试的对象。在对需求理解与表达的正确性、设计与表达的在对需求理解与表达的正确性、设计与表达的正确性、实现的正确性以及运行的正确性的验证正确性、实现的正确性以及运行的正确性的验证中,任何一个环节发生了问题都可能在软件测试中,任何一个环节发生了问题都可能在软件测试中表现出来。中表现出来。8.7.3 软件测试的软件测试的对象对象 368.7 结构化程序的测试P.180软件测试是一个极为复杂的过程。一个软件测试是一个极为复杂的过程。一个规范化的软件测试过程通常包括以下基本规范化的软件测试过程通常包括以下基本的测试活动。的测试活动。1)1)拟定软件测试计划。拟定
展开阅读全文