欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Chp1软件质量的概念.ppt

    • 资源ID:6281192       资源大小:272.50KB        全文页数:47页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Chp1软件质量的概念.ppt

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

    注意事项

    本文(Chp1软件质量的概念.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开