第一章软件测试概述课件_第1页
第一章软件测试概述课件_第2页
第一章软件测试概述课件_第3页
第一章软件测试概述课件_第4页
第一章软件测试概述课件_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

,软件质量与测试,沈阳师范大学软件学院,1,软件工程系孟磊netmenglei,课程概述,学习前的要求掌握软件工程基本概念掌握软件开发方法和软件开发语言了解Web程序开发,沈阳师范大学软件学院,2,课程概述,参考书目软件测试PaulC.Jorgensen,韩柯等译,2002,机械工业出版社软件测试方法和技术朱少民,2011,清华大学出版社高级软件测试技术杜庆峰,2011,清华大学出版社实用软件测试教程温艳冬,2011,清华大学出版社,沈阳师范大学软件学院,3,防不胜防的软件错误,例1:1963年,美国,飞往火星的火箭爆炸,损失$10million原因:FORTRAN循环DO5I=1,3误写为DO5I=1.3例2:1996年,美国,飞往哥伦比亚城市Cali的客机失事,163人中仅4人生还原因:关于目的地坐标的、由一个字符构成的计算机命令的错误输入,两相距132英里的城市坐标在南美航空表中代码相同例3:1996年,ESA的火箭处女航失败,升空后仅飞行40秒就偏离了其预定轨道,该火箭被远程控制所毁并失去她携带的4个卫星,损失达5亿美元,4,沈阳师范大学软件学院,防不胜防的软件错误,原因:惯性参考系方面的问题未经讨论和解决例4:1994-1995年,迪斯尼的狮子王,第一个面向儿童的多媒体光盘游戏,投诉电话被打爆.原因:未对市场上的各种PC机型进行正确测试,软件在大众使用的常见系统中难以运行例5:1994年,英特尔奔腾浮点除法软件缺陷,导致为自己的行为道歉并花费4亿多美元更换坏芯片.原因:芯片发布前已发现问题,但管理层忽略了;软件缺陷被发现时,英特尔试图掩饰该问题的严重性;受到压力时,英特尔承诺更换芯片但要求用户证明自己受到软件缺陷的影响.,沈阳师范大学软件学院,5,防不胜防的软件错误,例6:1999年,美国航天局火星基地登陆飞船在试图登陆火星表面时失踪.原因:为省钱而简化确定何时关闭推进器的装置,导致飞船着陆时误更改一个数据位,两个测试小组的独立工作做的很好,但从未走在一起例7:1991年,美国爱国者导弹防御系统在几次对抗导弹战役中失利,多哈战误击毙28名美军士兵.原因:一个很小的系统时钟错误积累,可能拖延14小时并造成跟踪系统失去准确度,多哈战中系统拖延了100多个小时,沈阳师范大学软件学院,6,本章内容,1.1什么是软件测试1.2软件测试基础1.3软件测试原则和困境,沈阳师范大学软件学院,7,本节内容,1.1什么是软件测试1.1.1软件测试的发展1.1.2软件测试的术语1.1.3IEEE对软件测试的定义,沈阳师范大学软件学院,8,1.1.1软件测试的发展,1.1.1软件测试的发展早期70年代:存在测试;无软件测试理论和方法;目的证明软件是可运行的;70年代:开始出现测试理论和测试方法;1979年MyersTheArtofSoftwareTesting;软件测试目的:finderrorsinsoftware;一个好的测试:finderrorsthatnotbeenfound;80年代:软件行业进入飞速发展时期,软件趋向复杂化、大型化,人们把“质量”融入到了软件测试里,形成了全新的软件测试与质量保证21世纪初:软件测试深入到了软件开发的整个生命周期里,并且更侧重于面向对象软件测试、测试驱动开发、极限开发测试等新的领域,沈阳师范大学软件学院,9,1.1.2软件测试的术语,术语和定义错误(error)缺陷(fault)失效(failure)事故(incident),沈阳师范大学软件学院,10,1.1.2软件测试的术语,术语和定义错误(error)缺陷(fault)失效(failure)事故(incident),沈阳师范大学软件学院,11,1.1.2软件测试的术语,错误(error)是软件本身的错误,由程序员在编程过程中造成的(somethingwronginsoftwareitself)应用到测试过程时,有两种不同的使用方式:指一个实际测量值与理论预期值之间的分歧指一些人的行为引起的软件中的某种失效或缺陷,沈阳师范大学软件学院,12,1.1.2软件测试的术语,术语和定义错误(error)缺陷(fault)失效(failure)事故(incident),沈阳师范大学软件学院,13,1.1.2软件测试的术语,缺陷(fault)是错误的结果,是错误的表现,是导致系统失败的条件。系统出错的基本原因是缺陷。(observableinsoftwarebehavior),沈阳师范大学软件学院,14,1.1.2软件测试的术语,缺陷(fault)微小的(Minor)一般的(Major)严重的(Critical)致命的(Fatal),沈阳师范大学软件学院,15,1.1.2软件测试的术语,术语和定义错误(error)缺陷(fault)失效(failure)事故(incident),沈阳师范大学软件学院,16,1.1.2软件测试的术语,失效(failure)指不能按软件规格说明的要求执行一个软件片段。缺陷执行时会发生失效,与需求规格说明有关,但不是所有的缺陷都会导致失效。(somethingwronginsoftwarebehavior,deviatesfromrequirements)表现:只出现在可执行的表现中,通常是源代码这种定义只与过错缺陷有关,沈阳师范大学软件学院,17,1.1.2软件测试的术语,如果在系统中有一个错误,则失效必然出现;如果失效出现了,则系统中必然有一个缺陷;如果系统中有一个缺陷,系统有可能出现失效,但并非一定出现失效。,沈阳师范大学软件学院,18,1.1.2软件测试的术语,术语和定义错误(error)缺陷(fault)失效(failure)事故(incident),沈阳师范大学软件学院,19,1.1.2软件测试的术语,事故(incident)出现失效时,可能会也可能不会呈现出来。事故说明出现了与失效类似的情况,警告用户注意所出现的失效。,沈阳师范大学软件学院,20,1.1.2软件测试的术语,IEEE对软件测试的定义使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验其是否满足规定的需要或是弄清楚预期结果与实际结果之间的差别。,沈阳师范大学软件学院,21,本节内容,1.2软件测试基础1.2.1软件测试主要内容1.2.2软件测试过程模型1.2.3软件测试分类,沈阳师范大学软件学院,22,1.2.1软件测试主要内容,1.2.1软件测试主要内容软件工程与软件测试软件质量与度量,沈阳师范大学软件学院,23,1.2.1.1软件工程与软件测试,软件测试是软件开发过程的一个阶段软件开发模型影响软件测试软件测试不只是程序测试软件测试应贯穿于软件定义与开发的整个生命周期源程序的测试中找到的程序错误不一定都是程序编写过程中造成的软件测试受软件开发各种因素的影响软件测试本身必须工程化,沈阳师范大学软件学院,24,1.2.1.1软件工程与软件测试,软件测试在软件工程中的作用是软件开发过程中不可缺少的一环将占据主要的开发时间和经费发现和弥补开发中的错误和缺陷保证软件质量的手段证明软件是可用的,沈阳师范大学软件学院,25,1.2.1.1软件工程与软件测试,软件工程对软件测试的约束软件测试的依据来源于开发过程软件测试的结果必须反馈给开发过程软件测试的时间、经费、人员受到约束,沈阳师范大学软件学院,26,1.2.1.1软件工程与软件测试,软件工程模型中的软件测试软件测试方法模型随着软件工程模型发展而变化不同模型中,软件测试地位和作用不一样软件测试的作用:找到软件bug;保证软件质量;指导软件开发;,沈阳师范大学软件学院,27,1.2.1.1软件工程与软件测试,瀑布模型,沈阳师范大学软件学院,28,1.2.1.1软件工程与软件测试,螺旋模型,沈阳师范大学软件学院,29,1.2.1.1软件工程与软件测试,软件错误或缺陷的来源产品说明书:没有说明书、说明书不全面、经常修改、开发小组的沟通不够。设计方案:片面性、易变性、沟通不够。代码错误:往往也是由软件复杂性、说明文档不足、进度压力等造成测试错误:测试本身带来的错误,沈阳师范大学软件学院,30,1.2.1.1软件工程与软件测试,软件开发团队成员项目经理产品设计人员构架师:定义代码和数据结构的总体内部设计、数据通信等,编写高级白盒测试计划,设计验收测试等领域事务专家或软件分析师:理解客户的真正需要,用设计人员能理解的术语定义客户需求用户界面程序员:创建用户界面主任程序员:编写内部设计规格说明产品营销经理,沈阳师范大学软件学院,31,1.2.1.1软件工程与软件测试,软件开发团队成员(续)文档编写人员测试人员特定项目会包括其他团队成员美工可靠性分析师安全性分析师硬件工程师律师。技术支持代表,沈阳师范大学软件学院,32,1.2.1.1软件工程与软件测试,软件测试何时可以停止?软件系统经单元、集成、系统测试,分别达到单元、集成、系统测试停止标准软件系统通过验收测试,并已得出验收测试结论软件项目需暂停以进行调整时,测试应随之暂停,并备份暂停点数据软件项目在其开发生命周期内出现重大估算,进度偏差,需暂停或终止时,测试应随之暂停或终止,并备份暂停或终止点数据,沈阳师范大学软件学院,33,1.2.1.1软件工程与软件测试,软件测试需要工程化软件测试是一项复杂的工作软件测试的成本、效率和可靠性问题软件测试必须从艺术向工程转变软件测试工作必须是可控的软件测试的结果必须是可信的,沈阳师范大学软件学院,34,1.2.1.1软件工程与软件测试,软件测试的一般过程,沈阳师范大学软件学院,35,TestCaseGeneration,TestCase,Softwaretobetested,Output,1.2.1.2软件质量与度量,软件质量评价软件需求是衡量软件质量的基础,不符合需求的软件就不具备质量。设计的软件应在功能、性能等方面都符合要求,并能可靠地运行。软件结构良好,易读、易于理解,并易于修改、维护。软件系统具有友好的用户界面,便于用户使用。软件生存周期中各阶段文档齐全、规范,便于配置、管理。,沈阳师范大学软件学院,36,1.2.1.2软件质量与度量,质量度量模型ISO/IEC91261991标准规定的软件质量度量模型。它由3层组成,其中第1层称为质量特性,第2层称为质量子特性,第3层称为度量。,沈阳师范大学软件学院,37,1.2.1.2软件质量与度量,沈阳师范大学软件学院,38,1.2.2软件测试过程模型,模型V模型是最具有代表意义的测试模型,反映出了测试活动与分析设计活动的关系。V模型指出,单元和集成测试应检测程序的执行是否满足软件设计的要求;系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标;验收测试确定软件的实现是否满足用户需要或合同的要求。,沈阳师范大学软件学院,39,1.2.2软件测试过程模型,沈阳师范大学软件学院,40,1.2.2软件测试过程模型,模型W模型由两个V字型模型组成,分别代表测试与开发过程。W模型强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。,沈阳师范大学软件学院,41,1.2.2软件测试过程模型,沈阳师范大学软件学院,42,1.2.2软件测试过程模型,模型H模型将测试活动完全独立出来,形成了一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来。H模型揭示了软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。,沈阳师范大学软件学院,43,1.2.2软件测试过程模型,沈阳师范大学软件学院,44,1.2.3软件测试过程分类,按测试方式分类静态测试动态测试按测试方法分类白盒测试黑盒测试按测试过程分类单元测试集成测试系统测试验收测试,沈阳师范大学软件学院,45,1.2.3软件测试过程分类,按测试目的分类功能测试健壮性测试接口测试性能测试压力测试用户界面测试安全测试可靠性测试安装/反安装测试文档测试恢复测试兼容性测试,沈阳师范大学软件学院,46,本节内容,1.3软件测试原则和困境1.3.1软件测试原则1.3.2软件测试困境,沈阳师范大学软件学院,47,1.3.1软件测试原则,软件测试的衡量标准多:能找到尽可能多的、以至于所有的错误快:能尽可能早地发现最严重的错误好:找到的错误是关键的、用户最关心的;找到错误后能重现找到的错误,并为其修正提供尽可能多的信息。省:能用最少的时间、人力和资源发现错误;测试的过程和数据可重用,沈阳师范大学软件学院,48,1.3.1软件测试原则,软件测试原则测试应基于用户需求测试设计是关键测试时间和资源是有限的测试到所有情况是不可能的避免冗余的测试测试用例应设计良好应尽早开始测试并不断地进行测试尽早制定测试计划测试从模块级开始测试贯穿于软件开发的各个阶段,沈阳师范大学软件学院,49,1.3.1软件测试原则,软件测试原则心理素质最重要开发人员我不会犯错-任何人都可能犯错这种错误不能算作错误-质量是由用户来评价的发现我的错误是对我工作的否定-是对我的工作的帮助测试人员我责任心不够,反正测试是不可能发现所有错误的-职业教育+激励措施没有创造性、枯燥-总结经验,培养敏锐度,提升个人价值和权威技术比开发人员差,自信心不足-代表用户,决定成功的是用户满意,沈阳师范大学软件学院,50,1.3.1软件测试原则,软件测试原则测试前必须明确预期的输出结果可能的情况下,应避免测试自己的软件发现不了思路错误发现不了环境错误心理因素导致测试可能不够彻底和全面应充分注意测试中的群集现象Pareto原则:测试发现的错误中的80很可能集中于20的程序模块中编码规范、需求理解、技术能力、内部耦合性都会导致这种“虫子窝“现象心经验表明,测试后程序中残存的错误数目与该程序中已

温馨提示

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

评论

0/150

提交评论