Chp1软件质量的概念.pptx
- 文档编号:14167686
- 上传时间:2023-06-21
- 格式:PPTX
- 页数:47
- 大小:156.36KB
Chp1软件质量的概念.pptx
《Chp1软件质量的概念.pptx》由会员分享,可在线阅读,更多相关《Chp1软件质量的概念.pptx(47页珍藏版)》请在冰点文库上搜索。
第第1章软件质量的概念章软件质量的概念1软件质量保证与测试软件质量保证与测试内容提要内容提要n软件质量的概念软件质量的概念n软件质量模型软件质量模型n软件缺陷软件缺陷2软件质量保证与测试软件质量保证与测试什么是软件质量?
什么是软件质量?
n质量大师质量大师PhilipB.Crosby关于质量指出:
关于质量指出:
质量管理的问题不在于人们不知道什么是质量,问题在于质量管理的问题不在于人们不知道什么是质量,问题在于人们认为他们自己知道什么。
人们认为他们自己知道什么。
n软件质量软件质量每个人在某种条件下都需要它,每个人都觉得自己理解它每个人在某种条件下都需要它,每个人都觉得自己理解它却又不愿意解释它。
每个人都认为实现它只需遵从自然趋势。
却又不愿意解释它。
每个人都认为实现它只需遵从自然趋势。
大多数人认为问题都是由他人引起的。
大多数人认为问题都是由他人引起的。
某些开发者认为软件质量是在编码之后才应该开始担心。
某些开发者认为软件质量是在编码之后才应该开始担心。
(错误(错误!
)3软件质量保证与测试软件质量保证与测试质量的概念质量的概念n词典对质量的定义是:
典型的或本质的特征;事词典对质量的定义是:
典型的或本质的特征;事物固有的或区别于其他事物的特征或本质;优良或物固有的或区别于其他事物的特征或本质;优良或出色的程度。
出色的程度。
n世界著名的质量管理专家朱兰(世界著名的质量管理专家朱兰(Juran)对“质量”)对“质量”给出的含义:
满足使用要求的基础是质量特征,产品的给出的含义:
满足使用要求的基础是质量特征,产品的任何特性(性质、属性等)、材料或满足使用要求的过任何特性(性质、属性等)、材料或满足使用要求的过程都是质量特征。
程都是质量特征。
nISO给出的质量定义:
产品或服务满足明示或暗示需求给出的质量定义:
产品或服务满足明示或暗示需求能力的特性和特征的集合。
能力的特性和特征的集合。
4软件质量保证与测试软件质量保证与测试质量的概念质量的概念n客户概念与质量息息相关。
质量和客户两者相对存在。
客户概念与质量息息相关。
质量和客户两者相对存在。
n站在不同层面或角度对质量有不同的理解站在不同层面或角度对质量有不同的理解n先验证观点:
质量是产品的一种可以认识但不可定义的性质先验证观点:
质量是产品的一种可以认识但不可定义的性质n基于价值观点:
质量依赖于顾客愿意付给产品报酬的数量基于价值观点:
质量依赖于顾客愿意付给产品报酬的数量n产品观点:
质量是联结产品固有性质的纽带产品观点:
质量是联结产品固有性质的纽带n生产者观点:
质量是产品性能符合规格要求的程度生产者观点:
质量是产品性能符合规格要求的程度n用户观点:
质量是满足使用目的的程度用户观点:
质量是满足使用目的的程度n内部用户和外部用户内部用户和外部用户外部用户:
产品的实际使用者,一般意义上的客户外部用户:
产品的实际使用者,一般意义上的客户内部用户:
生产环节中下一道工序的接受者内部用户:
生产环节中下一道工序的接受者5软件质量保证与测试软件质量保证与测试质量的概念质量的概念n从质量的定义和不同的理解中可以看到,质量是满足客从质量的定义和不同的理解中可以看到,质量是满足客户需求的特征。
(核心含义)户需求的特征。
(核心含义)n质量似乎不是客观的,因为没有什么科学仪器可以直接质量似乎不是客观的,因为没有什么科学仪器可以直接测出质量来;质量似乎也不是主观的,因为它不仅存在测出质量来;质量似乎也不是主观的,因为它不仅存在于人们的脑海中。
其实,质量应该是客观存在的,但是于人们的脑海中。
其实,质量应该是客观存在的,但是测度它的方法却是主观的。
测度它的方法却是主观的。
n软件质量与传统意义上的质量概念并无本质差别,只是软件质量与传统意义上的质量概念并无本质差别,只是针对软件的某些特性进行了调整。
针对软件的某些特性进行了调整。
6软件质量保证与测试软件质量保证与测试软件质量的内涵软件质量的内涵nSoftwareQualityAssuranceandMeasurement:
aWorldwidePerspective:
软件产品满:
软件产品满足明示或暗示需求能力的特性和特征的集合。
足明示或暗示需求能力的特性和特征的集合。
nStephenKan在在MetricsandModelsinSoftwareQualityEngineering在质量定义中客户的在质量定义中客户的角色必须明确指出,即:
满足客户的需求。
角色必须明确指出,即:
满足客户的需求。
7软件质量保证与测试软件质量保证与测试软件质量软件质量nFisher和和Light在在DefinitionsinSoftwareQualityManagement中的质量定义:
中的质量定义:
(表征表征)计算计算机系统卓越程度的所有属性的集合。
机系统卓越程度的所有属性的集合。
n在在DonaldReifer的的StateoftheArtinSoftwareQualityManagement一书,有如下定义:
软一书,有如下定义:
软件产品满足明示需求程度的一组属性的集合。
件产品满足明示需求程度的一组属性的集合。
8软件质量保证与测试软件质量保证与测试软件质量的概念软件质量的概念n定义很抽象,我们可以用“人的健康”来类比解释定义很抽象,我们可以用“人的健康”来类比解释软件质量。
软件质量。
n古时候人们以为长得结实、饭量大就是健康,这显古时候人们以为长得结实、饭量大就是健康,这显然是不科学的。
然是不科学的。
n现代人总是通过考察多方面的生理因素来判断是否现代人总是通过考察多方面的生理因素来判断是否健康,如测量身高、体重、心跳、血压、血液、体健康,如测量身高、体重、心跳、血压、血液、体温等。
如果上述因素都合格,那么表明这人是健康温等。
如果上述因素都合格,那么表明这人是健康的。
如果某个因素不合格,则表明此人在某个方面的。
如果某个因素不合格,则表明此人在某个方面不健康,医生会对症下药。
不健康,医生会对症下药。
9软件质量保证与测试软件质量保证与测试软件质量的概念软件质量的概念n通过类比,可以这样理解软件质量:
软件质量是通过类比,可以这样理解软件质量:
软件质量是许多质量属性的综合体现,各种质量属性反映了软许多质量属性的综合体现,各种质量属性反映了软件质量的方方面面。
人们通过改善软件的各种质量件质量的方方面面。
人们通过改善软件的各种质量属性,从而提高软件的整体质量(否则无从下手)。
属性,从而提高软件的整体质量(否则无从下手)。
10软件质量保证与测试软件质量保证与测试软件质量软件质量n软件质量(狭义):
软件质量(狭义):
n“无缺陷”无缺陷”n提供用户所需的功能提供用户所需的功能n能够正常工作能够正常工作n软件质量(以顾客为中心的定义):
软件质量(以顾客为中心的定义):
n质量是以顾客的需要为开始,以顾客满意为结束的。
质量是以顾客的需要为开始,以顾客满意为结束的。
n软件质量是软件产品满足使用要求的程度。
软件质量是软件产品满足使用要求的程度。
11软件质量保证与测试软件质量保证与测试软件质量软件质量“运行正确”的程序就是高质量的程序吗?
运行正确”的程序就是高质量的程序吗?
-正确性只是反映软件质量的一个因素而已。
正确性只是反映软件质量的一个因素而已。
12软件质量保证与测试软件质量保证与测试软件质量软件质量n人们对软件质量的看法和标准随着计算机硬件和软人们对软件质量的看法和标准随着计算机硬件和软件技术的不断发展而变化。
件技术的不断发展而变化。
n早期,计算机内存容量有限,执行速度不高早期,计算机内存容量有限,执行速度不高软件质量强调正确性、程序的效率软件质量强调正确性、程序的效率n随着计算机硬件发展,软件规模与复杂性增加随着计算机硬件发展,软件规模与复杂性增加软件质量强调可靠性、易理解性、可维护性和效率等软件质量强调可靠性、易理解性、可维护性和效率等,即由效率第一转向清晰第一,即由效率第一转向清晰第一13软件质量保证与测试软件质量保证与测试软件质量软件质量n较全面的软件质量评价体系,一般从以下方面考虑:
较全面的软件质量评价体系,一般从以下方面考虑:
n软件结构方面软件结构方面n内部结构清晰,易于阅读理解,便于修改和维护内部结构清晰,易于阅读理解,便于修改和维护n外部具有良好的人机界面,方便用户应用外部具有良好的人机界面,方便用户应用n功能与性能方面功能与性能方面n能够按照既定要求工作,能够排除非法输入和处理意外事能够按照既定要求工作,能够排除非法输入和处理意外事件件n开发标准与文档方面开发标准与文档方面n符合明确成文的开发标准,遵循一些软件开发准则符合明确成文的开发标准,遵循一些软件开发准则n文档资料齐全文档资料齐全(隐含的需求)(隐含的需求)14软件质量保证与测试软件质量保证与测试软件质量软件质量n不同的人从各自要求出发,对软件质量有不同的要不同的人从各自要求出发,对软件质量有不同的要求。
求。
n开发商开发商/管理人员管理人员n用户用户n维护人员维护人员n不同性质和用途的软件,可能有不同的质量要求不同性质和用途的软件,可能有不同的质量要求n实时控制软件实时控制软件n常规办公事务软件常规办公事务软件n符合一定标准,在计划的经费符合一定标准,在计划的经费和进度范围内实现所需功和进度范围内实现所需功能能要求使用方便,执行效率高要求使用方便,执行效率高要求文档资料清晰完整要求文档资料清晰完整可靠性可靠性易用性、可移植性易用性、可移植性15软件质量保证与测试软件质量保证与测试什么是软件质量什么是软件质量n软件质量是指软件符合的程度软件质量是指软件符合的程度n明确定义的功能和性能需求明确定义的功能和性能需求n明确规定的开发标准和准则明确规定的开发标准和准则n隐含要求的其他特性隐含要求的其他特性16软件质量保证与测试软件质量保证与测试软件质量软件质量n软件质量反映的三方面问题软件质量反映的三方面问题1.软件需求是度量软件质量的基础。
软件需求是度量软件质量的基础。
2.在各种标准中定义了一些开发准则,用来指导软件在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。
如果不遵守这些开发准人员用工程化的方法来开发软件。
如果不遵守这些开发准则,软件质量就难以得到保证。
则,软件质量就难以得到保证。
3.往往会有一些隐含的需求没有明确提出来。
如果软往往会有一些隐含的需求没有明确提出来。
如果软件只满足那些精确定义了的需求而没有满足这些隐含的需件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也难以得到保证。
求,软件质量也难以得到保证。
17软件质量保证与测试软件质量保证与测试什么是软件质量什么是软件质量n高质量的软件高质量的软件能够按照预期的时间和成本提交给用户,并能够按照能够按照预期的时间和成本提交给用户,并能够按照预期要求正确工作的软件预期要求正确工作的软件nScopeScopenTimeTimenCostCost18软件质量保证与测试软件质量保证与测试软件质量软件质量n重要的理念:
商业目标决定质量目标。
提高软件质重要的理念:
商业目标决定质量目标。
提高软件质量的最终目的是为了赢利,而不是创造完美无缺的量的最终目的是为了赢利,而不是创造完美无缺的产品。
因此对于普通商业软件而言,并不是“质量产品。
因此对于普通商业软件而言,并不是“质量越高越好”,而是恰好让广大用户满意,并且将提越高越好”,而是恰好让广大用户满意,并且将提高质量所付出的代价控制在预算之内。
高质量所付出的代价控制在预算之内。
19软件质量保证与测试软件质量保证与测试软件质量的不同视角软件质量的不同视角n用户主要感兴趣的是如何使用软件、软件性能和使用户主要感兴趣的是如何使用软件、软件性能和使用软件的效果。
用软件的效果。
n是否具有所需要的功能是否具有所需要的功能;n可靠程度如何可靠程度如何;n效率如何效率如何;n使用是否方便使用是否方便;n环境开放的程度如何(即对环境、平台的限制,与环境开放的程度如何(即对环境、平台的限制,与其他软件连接的限制)其他软件连接的限制)20软件质量保证与测试软件质量保证与测试软件质量的不同视角软件质量的不同视角n开发者更关心的是软件产品开发相关的一些属性,开发者更关心的是软件产品开发相关的一些属性,而非单纯的软件使应用。
而非单纯的软件使应用。
n软件是否易于维护软件是否易于维护n软件是否易于移植软件是否易于移植n软件组件等是否易于重用软件组件等是否易于重用n软件产品是否易于测试软件产品是否易于测试21软件质量保证与测试软件质量保证与测试软件质量模型软件质量模型n从软件质量的定义得知软件质量是通过一定的属性集来表从软件质量的定义得知软件质量是通过一定的属性集来表示其满足使用要求的程度,那么这些属性集包含的内容就示其满足使用要求的程度,那么这些属性集包含的内容就显得很重要了。
显得很重要了。
n软件的质量属性很多,如正确性、精确性,健壮性、可靠软件的质量属性很多,如正确性、精确性,健壮性、可靠性、容错性、性能、易用性、安全性、可扩展性、可复用性、容错性、性能、易用性、安全性、可扩展性、可复用性、兼容性、可移植性、可测试性、可维护性、灵活性等。
性、兼容性、可移植性、可测试性、可维护性、灵活性等。
n计算机界对软件质量的属性进行了较多的研究,得到了一计算机界对软件质量的属性进行了较多的研究,得到了一些有效的质量模型,包括些有效的质量模型,包括McCall模型、模型、Boehm模型、模型、ISO9126模型。
模型。
22软件质量保证与测试软件质量保证与测试McCall质量模型质量模型正确性正确性完整性完整性可靠性可靠性可用性可用性承受可承受可改变能改变能力力新环境适应能力操作特性可维护性可维护性灵活性灵活性可测试性可测试性可移植性可移植性可重用性可重用性可互操作性可互操作性效率效率23软件质量保证与测试软件质量保证与测试Boehm分层质量模型(分层质量模型(p.6)nBoehm模型始于软件的整体效用,从系统交付后涉及不同类模型始于软件的整体效用,从系统交付后涉及不同类型的用户考虑。
型的用户考虑。
n第一种用户是初始顾客,系统做了顾客期望的事,顾客第一种用户是初始顾客,系统做了顾客期望的事,顾客对系统非常满意;对系统非常满意;n第二种用户是要将软件移植到其他软硬件系统下使用的第二种用户是要将软件移植到其他软硬件系统下使用的客户;客户;n第三种用户是维护系统的程序员。
第三种用户是维护系统的程序员。
三种用户都希望系统是可靠有效的。
因此,三种用户都希望系统是可靠有效的。
因此,Boehm模型模型反映了对软件质量的全过程理解,即软件做了用户要它做的反映了对软件质量的全过程理解,即软件做了用户要它做的;有效地使用系统资源;易于用户学习和使用;易于测试和;有效地使用系统资源;易于用户学习和使用;易于测试和维护。
维护。
24软件质量保证与测试软件质量保证与测试ISO/IEC9126质量模型质量模型externalandinternalqualityfunctionalityreliabilitymaturityfaulttolerancerecoverabilityusabilityunderstandabilitylearnabilityoperabilityattractivenessefficiencytimebehaviourresourceutilisationmaintainabilityanalysabilitychangeabilitystabilitytestabilityportabilityadaptabilityinstallabilityco-existencereplaceabilitysuitabilityaccuracyinteroperabilitysecurityfunctionalitycompliancereliabilitycomplianceusabilitycomplianceefficiencycompliancemaintainabilitycomplianceportabilitycompliance外部和内部质量模型外部和内部质量模型25软件质量保证与测试软件质量保证与测试软件质量特性软件质量特性n功能性(正确性):
软件所实现的功能满足用户需求的程功能性(正确性):
软件所实现的功能满足用户需求的程度。
度。
n可靠性:
在规定的时间和条件下,维持其性能水准的程度可靠性:
在规定的时间和条件下,维持其性能水准的程度。
n易用性:
用户掌握软件操作所要付出的时间及努力程度。
易用性:
用户掌握软件操作所要付出的时间及努力程度。
n效率:
软件执行某项功能所需计算机资源(含时间)的有效率:
软件执行某项功能所需计算机资源(含时间)的有效程度。
效程度。
n易维护性:
当环境改变或软件发生错误时,执行修改或恢易维护性:
当环境改变或软件发生错误时,执行修改或恢复所做努力的程度。
复所做努力的程度。
26软件质量保证与测试软件质量保证与测试软件质量特性软件质量特性n易测试性:
对软件测试以保证其无错误和满足其规约的难易测试性:
对软件测试以保证其无错误和满足其规约的难以程度。
以程度。
n易移植性:
将一个程序从一个计算机系统或环境移到另一易移植性:
将一个程序从一个计算机系统或环境移到另一个计算机系统或环境的容易程度。
个计算机系统或环境的容易程度。
n完整性:
保护软件不被未经同意的存储和使用的能力。
完整性:
保护软件不被未经同意的存储和使用的能力。
n灵活性:
当软件操作环境改变或软件发生错误时,执行修灵活性:
当软件操作环境改变或软件发生错误时,执行修改或恢复所做努力的程度。
改或恢复所做努力的程度。
n易复用性:
复用一个软件或其部分的难以程度。
易复用性:
复用一个软件或其部分的难以程度。
n互用性:
将一个软件系统和其他软件系统组合在一起的难互用性:
将一个软件系统和其他软件系统组合在一起的难以程度。
以程度。
27软件质量保证与测试软件质量保证与测试使用中质量模型使用中质量模型28软件质量保证与测试软件质量保证与测试软件缺陷软件缺陷n软件在它的生命周期内各个阶段都可能发生问题,软件在它的生命周期内各个阶段都可能发生问题,发生问题的情况和形式是各不相同的,大家都习惯发生问题的情况和形式是各不相同的,大家都习惯使用“使用“bug软件缺陷”这个词描述这些问题软件缺陷”这个词描述这些问题,它包含一些偏差、谬误或错误,更多地表现在功,它包含一些偏差、谬误或错误,更多地表现在功能上的失败(能上的失败(failure)和实际需求的不一致,即)和实际需求的不一致,即矛盾(矛盾(inconsistency)。
因此,统一对软件缺陷)。
因此,统一对软件缺陷的认识,是测试项目成功的基础。
的认识,是测试项目成功的基础。
29软件质量保证与测试软件质量保证与测试软件缺陷软件缺陷IEEE标准标准729n从产品内部看,软件缺陷是软件产品开发或维护过从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题。
程中所存在的错误、毛病等各种问题。
n从外部看,软件缺陷是系统所需要实现的某种功能从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。
的失效或违背。
n软件缺陷是软件在生命周期各个阶段存在的不满足软件缺陷是软件在生命周期各个阶段存在的不满足给定需求属性的问题。
给定需求属性的问题。
30软件质量保证与测试软件质量保证与测试软件缺陷软件缺陷n对于软件缺陷的定义,通常有下列对于软件缺陷的定义,通常有下列5条描述条描述n软件未达到产品描述表明的功能。
软件未达到产品描述表明的功能。
n软件出现了产品描述指明不会出现的错误。
软件出现了产品描述指明不会出现的错误。
n软件功能超出产品描述指明范围。
软件功能超出产品描述指明范围。
n软件未达到产品描述虽未指出但应达到的目标。
软件未达到产品描述虽未指出但应达到的目标。
n软件测试人员认为软件难以理解、不易使用、运行软件测试人员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。
速度缓慢,或者最终用户认为不好。
31软件质量保证与测试软件质量保证与测试软件失败的术语描述软件失败的术语描述缺陷(缺陷(defect)defect)问题问题(problem)(problem)谬误谬误(fault)(fault)矛盾矛盾(inconsistency)(inconsistency)失败失败(failure)(failure)偏差偏差(variance)(variance)毛病毛病(incident)(incident)特殊特殊(feature)(feature)异常异常(anomaly)(anomaly)错误错误(error)(error)缺陷缺陷(bug)(bug)32软件质量保证与测试软件质量保证与测试软件失败的术语描述软件失败的术语描述n软件错误软件错误(error)在软件生存期内的不希望或者不可接受的人为错误。
在软件生存期内的不希望或者不可接受的人为错误。
n软件缺陷软件缺陷(defect)存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差,Bug是口语化的缺陷。
缺陷在没有被激活的状态下,软件可以正常运行,是口语化的缺陷。
缺陷在没有被激活的状态下,软件可以正常运行,但是一旦在某一触发条件下,缺陷被激活,软件内部就会出现故障。
但是一旦在某一触发条件下,缺陷被激活,软件内部就会出现故障。
n软件故障软件故障(fault)软件运行过程中出现的一种不希望或不可接受的内部状态。
此时,如果软件运行过程中出现的一种不希望或不可接受的内部状态。
此时,如果没有适当的处理措施的话,软件故障就会导致软件失效。
没有适当的处理措施的话,软件故障就会导致软件失效。
n软件失效软件失效(failure)软件运行时产生的一种不希望或不可接受的外部行为结果。
比如死机就软件运行时产生的一种不希望或不可接受的外部行为结果。
比如死机就是一种严重的软件失效。
软件失效是软件用户所能直接感受到的。
当软件出是一种严重的软件失效。
软件失效是软件用户所能直接感受到的。
当软件出现失效时,必然说明软件中存在缺陷。
现失效时,必然说明软件中存在缺陷。
33软件质量保证与测试软件质量保证与测试软件缺陷的特征软件缺陷的特征n“看不到”看不到”软件的特殊性决定了缺陷不易看到软件的特殊性决定了缺陷不易看到n“看到但是抓不到”看到但是抓不到”发现了缺陷,但不易找到问题发生的原因所在发现了缺陷,但不易找到问题发生的原因所在34软件质量保证与测试软件质量保证与测试软件测试是软件工程中的重要环节软件测试是软件工程中的重要环节n软件产品质量是企业的重要目标软件产品质量是企业的重要目标n软件缺陷不可能避免软件缺陷不可能避免n软件测试是发现缺陷的手段软件测试是发现缺陷的手段35软件质量保证与测试软件质量保证与测试软件缺陷被引入的时间软件缺陷被引入的时间n开发阶段开发阶段n规格说明书规格说明书n设计环节设计环节n编码编码n修复缺陷时也可能产生新的缺陷修复缺陷时也可能产生新的缺陷修改代码后一定要进行回归测试!
修改代码后一定要进行回归测试!
36软件质量保证与测试软件质量保证与测试典型的软件缺陷产生的原因典型的软件缺陷产生的原因n需求解释有错误;需求解释有错误;n用户需求定义错误;用户需求定义错误;n需求记录错误;需求记录错误;n设计说明有误;设计说明有误;n编码说明有误;编码说明有误;n程序代码有误;程序代码有误;n数据输入有误;数据输入有误;n测试错误;测试错误;n问题修改不正确;问题修改不正确;n不正确的结果是由于不正确的结果是由于其他的缺陷而产生。
其他的缺陷而产生。
37软件质量保证与测试软件质量保证与测试软件缺陷产生的原因软件缺陷产生的原因n第一大原因就是软件产品规格说明书,很多情况下第一大原因就是软件产品规格说明书,很多情况下,说明书没有写,或写的不够全面,经常更改,或,说明书没有写,或写的不够全面,经常更改,或者开发小组没有很好的沟通,造成对说明书理解的者开发小组没有很好的沟通,造成对说明书理解的不一致。
不一致。
n第二大原因是软件设计,没有做设计或设计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Chp1 软件 质量 概念