软件质量的概念课件_第1页
软件质量的概念课件_第2页
软件质量的概念课件_第3页
软件质量的概念课件_第4页
软件质量的概念课件_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章软件质量的概念1软件质量保证与测试第1章软件质量的概念1软件质量保证与测试内容提要软件质量的概念软件质量模型软件缺陷2软件质量保证与测试内容提要软件质量的概念2软件质量保证与测试什么是软件质量?质量大师PhilipB.Crosby关于质量指出:

质量管理的问题不在于人们不知道什么是质量,问题在于人们认为他们自己知道什么。软件质量

每个人在某种条件下都需要它,每个人都觉得自己理解它却又不愿意解释它。每个人都认为实现它只需遵从自然趋势。大多数人认为问题都是由他人引起的。

某些开发者认为软件质量是在编码之后才应该开始担心。(错误!)3软件质量保证与测试什么是软件质量?质量大师PhilipB.Crosby关于质量的概念词典对质量的定义是:①典型的或本质的特征;②事物固有的或区别于其他事物的特征或本质;③优良或出色的程度。世界著名的质量管理专家朱兰(Juran)对“质量”给出的含义:满足使用要求的基础是质量特征,产品的任何特性(性质、属性等)、材料或满足使用要求的过程都是质量特征。ISO给出的质量定义:产品或服务满足明示或暗示需求能力的特性和特征的集合。4软件质量保证与测试质量的概念词典对质量的定义是:①典型的或本质的特征;②事质量的概念客户概念与质量息息相关。质量和客户两者相对存在。站在不同层面或角度对质量有不同的理解先验证观点:质量是产品的一种可以认识但不可定义的性质基于价值观点:质量依赖于顾客愿意付给产品报酬的数量产品观点:质量是联结产品固有性质的纽带生产者观点:质量是产品性能符合规格要求的程度用户观点:质量是满足使用目的的程度内部用户和外部用户外部用户:产品的实际使用者,一般意义上的客户内部用户:生产环节中下一道工序的接受者5软件质量保证与测试质量的概念客户概念与质量息息相关。质量和客户两者相对存在。5质量的概念从质量的定义和不同的理解中可以看到,质量是满足客户需求的特征。(核心含义)质量似乎不是客观的,因为没有什么科学仪器可以直接测出质量来;质量似乎也不是主观的,因为它不仅存在于人们的脑海中。其实,质量应该是客观存在的,但是测度它的方法却是主观的。软件质量与传统意义上的质量概念并无本质差别,只是针对软件的某些特性进行了调整。6软件质量保证与测试质量的概念从质量的定义和不同的理解中可以看到,质量是满足客户软件质量的内涵《SoftwareQualityAssuranceandMeasurement:aWorldwidePerspective》:软件产品满足明示或暗示需求能力的特性和特征的集合。StephenKan在《MetricsandModelsinSoftwareQualityEngineering》在质量定义中客户的角色必须明确指出,即:满足客户的需求。7软件质量保证与测试软件质量的内涵《SoftwareQualityAssur软件质量Fisher和Light在《DefinitionsinSoftwareQualityManagement》中的质量定义:(表征)计算机系统卓越程度的所有属性的集合。在DonaldReifer的《StateoftheArtinSoftwareQualityManagement》一书,有如下定义:软件产品满足明示需求程度的一组属性的集合。8软件质量保证与测试软件质量Fisher和Light在《Definitions软件质量的概念定义很抽象,我们可以用“人的健康”来类比解释软件质量。古时候人们以为长得结实、饭量大就是健康,这显然是不科学的。现代人总是通过考察多方面的生理因素来判断是否健康,如测量身高、体重、心跳、血压、血液、体温等。如果上述因素都合格,那么表明这人是健康的。如果某个因素不合格,则表明此人在某个方面不健康,医生会对症下药。9软件质量保证与测试软件质量的概念定义很抽象,我们可以用“人的健康”来类比解释软软件质量的概念通过类比,可以这样理解软件质量:软件质量是许多质量属性的综合体现,各种质量属性反映了软件质量的方方面面。人们通过改善软件的各种质量属性,从而提高软件的整体质量(否则无从下手)。10软件质量保证与测试软件质量的概念通过类比,可以这样理解软件质量:软件质量是许软件质量软件质量(狭义):“无缺陷”提供用户所需的功能能够正常工作软件质量(以顾客为中心的定义):质量是以顾客的需要为开始,以顾客满意为结束的。软件质量是软件产品满足使用要求的程度。11软件质量保证与测试软件质量软件质量(狭义):11软件质量保证与测试软件质量“运行正确”的程序就是高质量的程序吗?----------正确性只是反映软件质量的一个因素而已。12软件质量保证与测试软件质量12软件质量保证与测试软件质量人们对软件质量的看法和标准随着计算机硬件和软件技术的不断发展而变化。早期,计算机内存容量有限,执行速度不高

软件质量强调正确性、程序的效率随着计算机硬件发展,软件规模与复杂性增加

软件质量强调可靠性、易理解性、可维护性和效率等,即由效率第一转向清晰第一13软件质量保证与测试软件质量人们对软件质量的看法和标准随着计算机硬件和软件技术的软件质量较全面的软件质量评价体系,一般从以下方面考虑:软件结构方面内部结构清晰,易于阅读理解,便于修改和维护外部具有良好的人机界面,方便用户应用功能与性能方面能够按照既定要求工作,能够排除非法输入和处理意外事件开发标准与文档方面符合明确成文的开发标准,遵循一些软件开发准则文档资料齐全(隐含的需求)14软件质量保证与测试软件质量较全面的软件质量评价体系,一般从以下方面考虑:(隐含软件质量不同的人从各自要求出发,对软件质量有不同的要求。开发商/管理人员用户维护人员不同性质和用途的软件,可能有不同的质量要求实时控制软件常规办公事务软件……符合一定标准,在计划的经费和进度范围内实现所需功能要求使用方便,执行效率高要求文档资料清晰完整可靠性易用性、可移植性15软件质量保证与测试软件质量不同的人从各自要求出发,对软件质量有不同的要求。符合什么是软件质量软件质量是指软件符合……的程度明确定义的功能和性能需求明确规定的开发标准和准则隐含要求的其他特性16软件质量保证与测试什么是软件质量软件质量是指软件符合……的程度16软件质量保软件质量软件质量反映的三方面问题

1.软件需求是度量软件质量的基础。 2.在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。如果不遵守这些开发准则,软件质量就难以得到保证。 3.往往会有一些隐含的需求没有明确提出来。如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也难以得到保证。17软件质量保证与测试软件质量软件质量反映的三方面问题17软件质量保证与测试什么是软件质量高质量的软件 能够按照预期的时间和成本提交给用户,并能够按照预期要求正确工作的软件ScopeTimeCost18软件质量保证与测试什么是软件质量高质量的软件18软件质量保证与测试软件质量重要的理念:商业目标决定质量目标。提高软件质量的最终目的是为了赢利,而不是创造完美无缺的产品。因此对于普通商业软件而言,并不是“质量越高越好”,而是恰好让广大用户满意,并且将提高质量所付出的代价控制在预算之内。19软件质量保证与测试软件质量重要的理念:商业目标决定质量目标。提高软件质量的最终软件质量的不同视角用户主要感兴趣的是如何使用软件、软件性能和使用软件的效果。是否具有所需要的功能;可靠程度如何;效率如何;使用是否方便;环境开放的程度如何(即对环境、平台的限制,与其他软件连接的限制)

……20软件质量保证与测试软件质量的不同视角用户主要感兴趣的是如何使用软件、软件性能和软件质量的不同视角开发者更关心的是软件产品开发相关的一些属性,而非单纯的软件使应用。软件是否易于维护软件是否易于移植软件组件等是否易于重用软件产品是否易于测试

……21软件质量保证与测试软件质量的不同视角开发者更关心的是软件产品开发相关的一些属性软件质量模型从软件质量的定义得知软件质量是通过一定的属性集来表示其满足使用要求的程度,那么这些属性集包含的内容就显得很重要了。软件的质量属性很多,如正确性、精确性,健壮性、可靠性、容错性、性能、易用性、安全性、可扩展性、可复用性、兼容性、可移植性、可测试性、可维护性、灵活性等。计算机界对软件质量的属性进行了较多的研究,得到了一些有效的质量模型,包括McCall模型、Boehm模型、ISO9126模型。22软件质量保证与测试软件质量模型从软件质量的定义得知软件质量是通过一定的属性集来McCall质量模型正确性完整性可靠性可用性承受可改变能力新环境适应能力操作特性可维护性灵活性可测试性可移植性可重用性可互操作性效率23软件质量保证与测试McCall质量模型正确性可靠性承受可改变能力新环境适应能力Boehm分层质量模型(p.6)Boehm模型始于软件的整体效用,从系统交付后涉及不同类型的用户考虑。第一种用户是初始顾客,系统做了顾客期望的事,顾客对系统非常满意;第二种用户是要将软件移植到其他软硬件系统下使用的客户;第三种用户是维护系统的程序员。 三种用户都希望系统是可靠有效的。因此,Boehm模型反映了对软件质量的全过程理解,即软件做了用户要它做的;有效地使用系统资源;易于用户学习和使用;易于测试和维护。24软件质量保证与测试Boehm分层质量模型(p.6)Boehm模型始于软件的整体ISO/IEC9126质量模型外部和内部质量模型25软件质量保证与测试ISO/IEC9126质量模型外部和内部质量模型25软件质量软件质量特性功能性(正确性):软件所实现的功能满足用户需求的程度。可靠性:在规定的时间和条件下,维持其性能水准的程度。易用性:用户掌握软件操作所要付出的时间及努力程度。效率:软件执行某项功能所需计算机资源(含时间)的有效程度。易维护性:当环境改变或软件发生错误时,执行修改或恢复所做努力的程度。26软件质量保证与测试软件质量特性功能性(正确性):软件所实现的功能满足用户需求的软件质量特性易测试性:对软件测试以保证其无错误和满足其规约的难以程度。易移植性:将一个程序从一个计算机系统或环境移到另一个计算机系统或环境的容易程度。完整性:保护软件不被未经同意的存储和使用的能力。灵活性:当软件操作环境改变或软件发生错误时,执行修改或恢复所做努力的程度。易复用性:复用一个软件或其部分的难以程度。互用性:将一个软件系统和其他软件系统组合在一起的难以程度。27软件质量保证与测试软件质量特性易测试性:对软件测试以保证其无错误和满足其规约的使用中质量模型28软件质量保证与测试使用中质量模型28软件质量保证与测试软件缺陷软件在它的生命周期内各个阶段都可能发生问题,发生问题的情况和形式是各不相同的,大家都习惯使用“bug——软件缺陷”这个词描述这些问题,它包含一些偏差、谬误或错误,更多地表现在功能上的失败(failure)和实际需求的不一致,即矛盾(inconsistency)。因此,统一对软件缺陷的认识,是测试项目成功的基础。29软件质量保证与测试软件缺陷软件在它的生命周期内各个阶段都可能发生问题,发生问题软件缺陷——IEEE标准729从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题。从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。软件缺陷是软件在生命周期各个阶段存在的不满足给定需求属性的问题。30软件质量保证与测试软件缺陷——IEEE标准729从产品内部看,软件缺陷是软件软件缺陷对于软件缺陷的定义,通常有下列5条描述软件未达到产品描述表明的功能。软件出现了产品描述指明不会出现的错误。软件功能超出产品描述指明范围。软件未达到产品描述虽未指出但应达到的目标。软件测试人员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。31软件质量保证与测试软件缺陷对于软件缺陷的定义,通常有下列5条描述31软件质量软件失败的术语描述缺陷(defect)问题(problem)谬误(fault)矛盾(inconsistency)失败(failure)偏差(variance)毛病(incident)特殊(feature)异常(anomaly)错误(error)缺陷(bug)32软件质量保证与测试软件失败的术语描述缺陷(defect)问题(pr软件失败的术语描述软件错误(error) 在软件生存期内的不希望或者不可接受的人为错误。软件缺陷(defect)

存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差,Bug是口语化的缺陷。缺陷在没有被激活的状态下,软件可以正常运行,但是一旦在某一触发条件下,缺陷被激活,软件内部就会出现故障。软件故障(fault)

软件运行过程中出现的一种不希望或不可接受的内部状态。此时,如果没有适当的处理措施的话,软件故障就会导致软件失效。软件失效(failure)

软件运行时产生的一种不希望或不可接受的外部行为结果。比如死机就是一种严重的软件失效。软件失效是软件用户所能直接感受到的。当软件出现失效时,必然说明软件中存在缺陷。33软件质量保证与测试软件失败的术语描述软件错误(error)33软件质量保证与测软件缺陷的特征“看不到”软件的特殊性决定了缺陷不易看到“看到但是抓不到”发现了缺陷,但不易找到问题发生的原因所在34软件质量保证与测试软件缺陷的特征“看不到”34软件质量保证与测试软件测试是软件工程中的重要环节软件产品质量是企业的重要目标软件缺陷不可能避免软件测试是发现缺陷的手段35软件质量保证与测试软件测试是软件工程中的重要环节软件产品质量是企业的重要目标3软件缺陷被引入的时间开发阶段规格说明书设计环节编码修复缺陷时也可能产生新的缺陷

修改代码后一定要进行回归测试!36软件质量保证与测试软件缺陷被引入的时间开发阶段36软件质量保证与测试典型的软件缺陷产生的原因需求解释有错误;用户需求定义错误;需求记录错误;设计说明有误;编码说明有误;程序代码有误;数据输入有误;测试错误;问题修改不正确;不正确的结果是由于其他的缺陷而产生。37软件质量保证与测试典型的软件缺陷产生的原因需求解释有错误;程序代码有误;37软软件缺陷产生的原因第一大原因就是软件产品规格说明书,很多情况下,说明书没有写,或写的不够全面,经常更改,或者开发小组没有很好的沟通,造成对说明书理解的不一致。第二大原因是软件设计,没有做设计或设计不好,经常变动等和产品规格说明书一样的问题。第三个原因才是编写代码和其它原因。38软件质量保证与测试软件缺陷产生的原因第一大原因就是软件产品规格说明书,很多情况软件缺陷产生的原因39软件质量保证与测试软件缺陷产生的原因39软件质量保证与测试常见导致规格说明错误的根源缺乏有效的沟通,或者没有进行沟通;软件复杂度不断变更的需求时间的压力缺乏文档的代码软件开发工具40软件质量保证与测试常见导致规格说明错误的根源缺乏有效的沟通,或者没有进行沟通;软件缺陷的修复费用平均而言,如果在需求阶段修正一个错误的代价是1,那么在设计阶段就是它的3-6倍,在编程阶段是它的10倍而到了产品发布出去时,这个数字就是40~1000倍。修正错误的代价不是随时间线性增长,而是几乎成指数级增长。应该尽快修复发现的缺陷!41软件质量保证与测试软件缺陷的修复费用平均而言,如果在需求阶段修正一个错误的代价软件缺陷的修复费用42软件质量保证与测试软件缺陷的修复费用42软件质量保证与测试软件缺陷的分类以出现相应错误的开发阶段来划分以相应失效产生的后果来划分以解决难度来划分以不解决会产生的风险来划分根据异常出现的频率来划分根据导致缺陷产生的技术类型来划分43软件质量保证与测试软件缺陷的分类以出现相应错误的开发阶段来划分43软件质量保证软件缺陷的级别根据缺陷所造成的危害的恶劣程度划分:致命的(fatal):造成系统或应用程序崩溃、死机、系统悬挂,或造成数据丢失、主要功能完全丧失。严重的(critical):指功能或特性没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误声明。一般的(major):不太严重的错误,这样的软件缺陷虽然不影响系统的基本使用但没有很好地实现功能,没有达到预期效果。如次要功能丧失,提示信息不太准确,或用户界面差,操作时间长等。微小的(minor):一些小问题,对功能几乎没有影响,产品及属性仍可使用,如有个别错字,文字排列不整齐等。44软件质量保证与测试软件缺陷的级别根据缺陷所造成的危害的恶劣程度划分:44软件质软件缺陷的类型根据缺陷产生的技术类型划分输入/输出缺陷逻辑缺陷计算错误接口缺陷数据缺陷45软件质量保证与测试软件缺陷的类型根据缺陷产生的技术类型划分45软件质量保证与测减少软件缺陷,提高软件质量随着计算机技术的飞速发展,计算机系统的规模和复杂性急剧增加,其软件开发成本以及由于软件故障而造成的经济损失也正在增加,软件质量问题已成为人们共同关注的焦点。软件质量保证是一种应用于整个软件过程的保护性活动,保证软件遵从软件开发标准的规程;软件测试是对软件需求分析、设计规格说明和编码的最终复审。随着软件系统规模和复杂性的增加和对软件质量问题的关注,需要有系统化的质量保证活动和进行专业高效的软件测试。46软件质量保证与测试减少软件缺陷,提高软件质量随着计算机技术的飞速发展,计算机系本章知识点软件质量的概念软件质量模型软件缺陷概念产生原因类型47软件质量保证与测试本章知识点软件质量的概念47软件质量保证与测试第1章软件质量的概念48软件质量保证与测试第1章软件质量的概念1软件质量保证与测试内容提要软件质量的概念软件质量模型软件缺陷49软件质量保证与测试内容提要软件质量的概念2软件质量保证与测试什么是软件质量?质量大师PhilipB.Crosby关于质量指出:

质量管理的问题不在于人们不知道什么是质量,问题在于人们认为他们自己知道什么。软件质量

每个人在某种条件下都需要它,每个人都觉得自己理解它却又不愿意解释它。每个人都认为实现它只需遵从自然趋势。大多数人认为问题都是由他人引起的。

某些开发者认为软件质量是在编码之后才应该开始担心。(错误!)50软件质量保证与测试什么是软件质量?质量大师PhilipB.Crosby关于质量的概念词典对质量的定义是:①典型的或本质的特征;②事物固有的或区别于其他事物的特征或本质;③优良或出色的程度。世界著名的质量管理专家朱兰(Juran)对“质量”给出的含义:满足使用要求的基础是质量特征,产品的任何特性(性质、属性等)、材料或满足使用要求的过程都是质量特征。ISO给出的质量定义:产品或服务满足明示或暗示需求能力的特性和特征的集合。51软件质量保证与测试质量的概念词典对质量的定义是:①典型的或本质的特征;②事质量的概念客户概念与质量息息相关。质量和客户两者相对存在。站在不同层面或角度对质量有不同的理解先验证观点:质量是产品的一种可以认识但不可定义的性质基于价值观点:质量依赖于顾客愿意付给产品报酬的数量产品观点:质量是联结产品固有性质的纽带生产者观点:质量是产品性能符合规格要求的程度用户观点:质量是满足使用目的的程度内部用户和外部用户外部用户:产品的实际使用者,一般意义上的客户内部用户:生产环节中下一道工序的接受者52软件质量保证与测试质量的概念客户概念与质量息息相关。质量和客户两者相对存在。5质量的概念从质量的定义和不同的理解中可以看到,质量是满足客户需求的特征。(核心含义)质量似乎不是客观的,因为没有什么科学仪器可以直接测出质量来;质量似乎也不是主观的,因为它不仅存在于人们的脑海中。其实,质量应该是客观存在的,但是测度它的方法却是主观的。软件质量与传统意义上的质量概念并无本质差别,只是针对软件的某些特性进行了调整。53软件质量保证与测试质量的概念从质量的定义和不同的理解中可以看到,质量是满足客户软件质量的内涵《SoftwareQualityAssuranceandMeasurement:aWorldwidePerspective》:软件产品满足明示或暗示需求能力的特性和特征的集合。StephenKan在《MetricsandModelsinSoftwareQualityEngineering》在质量定义中客户的角色必须明确指出,即:满足客户的需求。54软件质量保证与测试软件质量的内涵《SoftwareQualityAssur软件质量Fisher和Light在《DefinitionsinSoftwareQualityManagement》中的质量定义:(表征)计算机系统卓越程度的所有属性的集合。在DonaldReifer的《StateoftheArtinSoftwareQualityManagement》一书,有如下定义:软件产品满足明示需求程度的一组属性的集合。55软件质量保证与测试软件质量Fisher和Light在《Definitions软件质量的概念定义很抽象,我们可以用“人的健康”来类比解释软件质量。古时候人们以为长得结实、饭量大就是健康,这显然是不科学的。现代人总是通过考察多方面的生理因素来判断是否健康,如测量身高、体重、心跳、血压、血液、体温等。如果上述因素都合格,那么表明这人是健康的。如果某个因素不合格,则表明此人在某个方面不健康,医生会对症下药。56软件质量保证与测试软件质量的概念定义很抽象,我们可以用“人的健康”来类比解释软软件质量的概念通过类比,可以这样理解软件质量:软件质量是许多质量属性的综合体现,各种质量属性反映了软件质量的方方面面。人们通过改善软件的各种质量属性,从而提高软件的整体质量(否则无从下手)。57软件质量保证与测试软件质量的概念通过类比,可以这样理解软件质量:软件质量是许软件质量软件质量(狭义):“无缺陷”提供用户所需的功能能够正常工作软件质量(以顾客为中心的定义):质量是以顾客的需要为开始,以顾客满意为结束的。软件质量是软件产品满足使用要求的程度。58软件质量保证与测试软件质量软件质量(狭义):11软件质量保证与测试软件质量“运行正确”的程序就是高质量的程序吗?----------正确性只是反映软件质量的一个因素而已。59软件质量保证与测试软件质量12软件质量保证与测试软件质量人们对软件质量的看法和标准随着计算机硬件和软件技术的不断发展而变化。早期,计算机内存容量有限,执行速度不高

软件质量强调正确性、程序的效率随着计算机硬件发展,软件规模与复杂性增加

软件质量强调可靠性、易理解性、可维护性和效率等,即由效率第一转向清晰第一60软件质量保证与测试软件质量人们对软件质量的看法和标准随着计算机硬件和软件技术的软件质量较全面的软件质量评价体系,一般从以下方面考虑:软件结构方面内部结构清晰,易于阅读理解,便于修改和维护外部具有良好的人机界面,方便用户应用功能与性能方面能够按照既定要求工作,能够排除非法输入和处理意外事件开发标准与文档方面符合明确成文的开发标准,遵循一些软件开发准则文档资料齐全(隐含的需求)61软件质量保证与测试软件质量较全面的软件质量评价体系,一般从以下方面考虑:(隐含软件质量不同的人从各自要求出发,对软件质量有不同的要求。开发商/管理人员用户维护人员不同性质和用途的软件,可能有不同的质量要求实时控制软件常规办公事务软件……符合一定标准,在计划的经费和进度范围内实现所需功能要求使用方便,执行效率高要求文档资料清晰完整可靠性易用性、可移植性62软件质量保证与测试软件质量不同的人从各自要求出发,对软件质量有不同的要求。符合什么是软件质量软件质量是指软件符合……的程度明确定义的功能和性能需求明确规定的开发标准和准则隐含要求的其他特性63软件质量保证与测试什么是软件质量软件质量是指软件符合……的程度16软件质量保软件质量软件质量反映的三方面问题

1.软件需求是度量软件质量的基础。 2.在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。如果不遵守这些开发准则,软件质量就难以得到保证。 3.往往会有一些隐含的需求没有明确提出来。如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也难以得到保证。64软件质量保证与测试软件质量软件质量反映的三方面问题17软件质量保证与测试什么是软件质量高质量的软件 能够按照预期的时间和成本提交给用户,并能够按照预期要求正确工作的软件ScopeTimeCost65软件质量保证与测试什么是软件质量高质量的软件18软件质量保证与测试软件质量重要的理念:商业目标决定质量目标。提高软件质量的最终目的是为了赢利,而不是创造完美无缺的产品。因此对于普通商业软件而言,并不是“质量越高越好”,而是恰好让广大用户满意,并且将提高质量所付出的代价控制在预算之内。66软件质量保证与测试软件质量重要的理念:商业目标决定质量目标。提高软件质量的最终软件质量的不同视角用户主要感兴趣的是如何使用软件、软件性能和使用软件的效果。是否具有所需要的功能;可靠程度如何;效率如何;使用是否方便;环境开放的程度如何(即对环境、平台的限制,与其他软件连接的限制)

……67软件质量保证与测试软件质量的不同视角用户主要感兴趣的是如何使用软件、软件性能和软件质量的不同视角开发者更关心的是软件产品开发相关的一些属性,而非单纯的软件使应用。软件是否易于维护软件是否易于移植软件组件等是否易于重用软件产品是否易于测试

……68软件质量保证与测试软件质量的不同视角开发者更关心的是软件产品开发相关的一些属性软件质量模型从软件质量的定义得知软件质量是通过一定的属性集来表示其满足使用要求的程度,那么这些属性集包含的内容就显得很重要了。软件的质量属性很多,如正确性、精确性,健壮性、可靠性、容错性、性能、易用性、安全性、可扩展性、可复用性、兼容性、可移植性、可测试性、可维护性、灵活性等。计算机界对软件质量的属性进行了较多的研究,得到了一些有效的质量模型,包括McCall模型、Boehm模型、ISO9126模型。69软件质量保证与测试软件质量模型从软件质量的定义得知软件质量是通过一定的属性集来McCall质量模型正确性完整性可靠性可用性承受可改变能力新环境适应能力操作特性可维护性灵活性可测试性可移植性可重用性可互操作性效率70软件质量保证与测试McCall质量模型正确性可靠性承受可改变能力新环境适应能力Boehm分层质量模型(p.6)Boehm模型始于软件的整体效用,从系统交付后涉及不同类型的用户考虑。第一种用户是初始顾客,系统做了顾客期望的事,顾客对系统非常满意;第二种用户是要将软件移植到其他软硬件系统下使用的客户;第三种用户是维护系统的程序员。 三种用户都希望系统是可靠有效的。因此,Boehm模型反映了对软件质量的全过程理解,即软件做了用户要它做的;有效地使用系统资源;易于用户学习和使用;易于测试和维护。71软件质量保证与测试Boehm分层质量模型(p.6)Boehm模型始于软件的整体ISO/IEC9126质量模型外部和内部质量模型72软件质量保证与测试ISO/IEC9126质量模型外部和内部质量模型25软件质量软件质量特性功能性(正确性):软件所实现的功能满足用户需求的程度。可靠性:在规定的时间和条件下,维持其性能水准的程度。易用性:用户掌握软件操作所要付出的时间及努力程度。效率:软件执行某项功能所需计算机资源(含时间)的有效程度。易维护性:当环境改变或软件发生错误时,执行修改或恢复所做努力的程度。73软件质量保证与测试软件质量特性功能性(正确性):软件所实现的功能满足用户需求的软件质量特性易测试性:对软件测试以保证其无错误和满足其规约的难以程度。易移植性:将一个程序从一个计算机系统或环境移到另一个计算机系统或环境的容易程度。完整性:保护软件不被未经同意的存储和使用的能力。灵活性:当软件操作环境改变或软件发生错误时,执行修改或恢复所做努力的程度。易复用性:复用一个软件或其部分的难以程度。互用性:将一个软件系统和其他软件系统组合在一起的难以程度。74软件质量保证与测试软件质量特性易测试性:对软件测试以保证其无错误和满足其规约的使用中质量模型75软件质量保证与测试使用中质量模型28软件质量保证与测试软件缺陷软件在它的生命周期内各个阶段都可能发生问题,发生问题的情况和形式是各不相同的,大家都习惯使用“bug——软件缺陷”这个词描述这些问题,它包含一些偏差、谬误或错误,更多地表现在功能上的失败(failure)和实际需求的不一致,即矛盾(inconsistency)。因此,统一对软件缺陷的认识,是测试项目成功的基础。76软件质量保证与测试软件缺陷软件在它的生命周期内各个阶段都可能发生问题,发生问题软件缺陷——IEEE标准729从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题。从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。软件缺陷是软件在生命周期各个阶段存在的不满足给定需求属性的问题。77软件质量保证与测试软件缺陷——IEEE标准729从产品内部看,软件缺陷是软件软件缺陷对于软件缺陷的定义,通常有下列5条描述软件未达到产品描述表明的功能。软件出现了产品描述指明不会出现的错误。软件功能超出产品描述指明范围。软件未达到产品描述虽未指出但应达到的目标。软件测试人员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。78软件质量保证与测试软件缺陷对于软件缺陷的定义,通常有下列5条描述31软件质量软件失败的术语描述缺陷(defect)问题(problem)谬误(fault)矛盾(inconsistency)失败(failure)偏差(variance)毛病(incident)特殊(feature)异常(anomaly)错误(error)缺陷(bug)79软件质量保证与测试软件失败的术语描述缺陷(defect)问题(pr软件失败的术语描述软件错误(error) 在软件生存期内的不希望或者不可接受的人为错误。软件缺陷(defect)

存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差,Bug是口语化的缺陷。缺陷在没有被激活的状态下,软件可以正常运行,但是一旦在某一触发条件下,缺陷被激活,软件内部就会出现故障。软件故障(fault)

软件运行过程中出现的一种不希望或不可接受的内部状态。此时,如果没有适当的处理措施的话,软件故障就会导致软件失效。软件失效(failure)

软件运行时产生的一种不希望或不可接受的外部行为结果。比如死机就是一种严重的软件失效。软件失效是软件用户所能直接感受到的。当软件出现失效时,必然说明软件中存在缺陷。80软件质量保证与测试软件失败的术语描述软件错误(error)33软件质量保证与测软件缺陷的特征“看不到”软件的特殊性决定了缺陷不易看到“看到但是抓不到”发现了缺陷,但不易找到问题发生的原因所在81软件质量保证与测试软件缺陷的特征“看不到”34软件质量保证与测试软件测试是软件工程中的重要环节软件产品质量是企业的重要目标软件缺陷不可能避免软件测试是发现缺陷的手段82软件质量保证与测试软件测试是软件工程中的重要环节软件产品质量是企业的重要目标3软件缺陷被引入的时间开发阶段规格说明书设计环节编码修复缺陷时也可能产生新的缺陷

修改代码后一定要进行回归测试!83软件质量保证与测试软件缺陷被引入的时间开发阶段36软件质量保证与测试典型的软件缺陷产生的原因需求解释有错误;用户需求定义错误;需求记录错误;设计说明有误;编码说明有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论