软件测试背景_第1页
软件测试背景_第2页
软件测试背景_第3页
软件测试背景_第4页
软件测试背景_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、课程目的n了解软件测试基本过程n了解软件测试的管理方法n掌握软件测试用例设计方法n掌握junit、selenium等测试工具的使用n掌握bugfree测试管理工具的使用推荐书目软件测试,paul C.Jorgensen机械工业出版社 (2003-07) 软件测试的艺术,梅尔斯,机械工业出版社 (2006-01) 软件测试基础,(美)paul ammann,郁莲 译,机械工业出版社(2010-10出版)软件测试案例与实践教程 古乐,史九林等清华大学出版社 (2007-02出版) 软件测试技术大全,陈能技,人民邮电出版社 (2008-06出版) 软件性能测试与LoadRunner实战,于涌,人民邮

2、电出版社 (2008-06出版) 1 软件测试背景软件测试职业发展前景软件错误和软件失效的案例软件可靠性问题软件缺陷是什么软件缺陷的产生的原因软件缺陷分类软件缺陷修复的代价软件测试职业发展前景软件测试职业发展前景1580 Positions are waiting for Only in one web site - 51job.cob2007年中国软件企业对软件测试的投入年中国软件企业对软件测试的投入n1%以下:24%n1%-5%:34%n5%-10%:22%n10%-30%:16%n30%以上:4%微软的项目人员比例微软的项目人员比例nWindows2000 Teamn程序经理程序经理45

3、0n开发人员900n测试人员测试人员1800n技术支持人员600n技术传播人员1120n本地化人员110n培训人员115n文档人员100n市场人员100n内部IT50n合计5345 pWeb Matrix Teamn程序经理程序经理 2 2n开发组长/架构师: 1n开发人员: 7n测试组长测试组长 1 1n测试人员测试人员 1313n合计 24软件错误和软件失效的案例软件错误和软件失效的案例文本文件保存错误:文本文件保存错误:在在WindowsXPWindowsXP桌面上新建桌面上新建一个文本文档,输入一个文本文档,输入“联通联通”两个字,并保两个字,并保存退出。存退出。退出后再次打开这个文退

4、出后再次打开这个文本文件时,刚才输入的本文件时,刚才输入的内容变成了乱码内容变成了乱码。软件错误和软件失效的案例软件错误和软件失效的案例替换字符串长度未替换字符串长度未作限定:作限定:Word2000Word2000中,如果中,如果替换字符串长度过替换字符串长度过长,则会引起程序长,则会引起程序崩溃。崩溃。软件错误和软件失效的案例软件错误和软件失效的案例n爱国者导弹防御系统, 1991美国爱国者导弹防御系统首次被用在第一次海湾战争对抗伊拉克飞毛腿导弹的防御作战中,总体上看效果不错,赢得各界的赞誉。但它还是有几次失利,没有成功拦截伊拉克飞毛腿导弹,其中一枚在沙特阿拉伯的多哈爆炸的飞毛腿导弹造成2

5、8名美国士兵死亡。分析专家发现,拦截失败的症结在于一个软件缺陷,当爱国者导弹防御系统的时钟累计运行超过14小时后,系统的跟踪系统就不准确。在多哈袭击战中,爱国者导弹防御系统运行时间已经累计超过100多个小时,显然那时系统的跟踪系统已经很不准确,从而造成这种结果。软件错误和软件失效的案例软件错误和软件失效的案例n美迪斯尼公司的狮子王游戏软件bug1994年圣诞节前夕,迪斯尼公司发布了第一个面向儿童的多媒体光盘游戏“狮子王童话”。尽管在此之前,已经有不少公司在儿童计算机游戏市场上运作多年,但对迪斯尼公司而言,还是第一次进军这个市场。由于迪斯尼公司的著名品牌和事先的大力宣传及良好的促销活动,结果,市

6、场销售情况非常不错,该游戏成为父母为自己孩子过圣诞节的必买礼物。但结果却出人意料,12月 26日,圣诞节后的第一天,迪斯尼公司的客户支持部电话开始响个不停,不断有人咨询、抱怨为什么游戏总是安装不成功,或没法正常使用。很快,电话支持部门就淹没在愤怒家长的责问声和玩不成游戏孩子们的哭诉之中,报纸和电视开始不断报道此事软件错误和软件失效的案例软件错误和软件失效的案例 后来证实,迪斯尼公司没有对当时市场上的各种PC机型进行完整的系统兼容性测试,只是在几种PC机型上进行了相关测试。所以,这个游戏软件只能在少数系统中正常运行,但在大众使用的其他常见系统中却不能正常安装和运行。 软件错误和软件失效的案例软件

7、错误和软件失效的案例n在 80 年代初期,Microsoft 公司的许多软件产品出现了“Bug”。nMicrosoft 公司的经理们发觉很有必要引进更好的内部测试与质量控制方法。但是遭到很多程序设计师甚至一些高级经理的坚决反对。n1986 年月发行的 Mac 机的 Word 3.0,千呼万唤方于 1987 年 2月问世。这套软件竟然有 700 多处错误,有的错误可以破坏数据甚至摧毁程序。一下子就使Microsoft 名声扫地。公司不得不为用户免费提供升级版本,费用超过了 100 万美元。软件可靠性问题软件可靠性问题n因软件设计故障与因计算机硬件设计故障而引发的系统 失效的比例大约是:10:1

8、n运行软件的驻留故障密度(每千行代码的故障数目): 要求很高的关键财务或财产软件为:每千行代码 110个故障 关键的生命软件为:每千行代码0.011个故障 nIEEE将软件可靠性定义为:系统在特定环境下,在给定系统在特定环境下,在给定的时间内无故障运行的概率。的时间内无故障运行的概率。n软件可靠性是对软件在设计、开发以及所预定的环境下具有能力的置信度的一个度量,是衡量软件质量的主要参数之一。而软件测试则是保证软件质量、提高软件可靠性的最重要手段。软件缺陷定义(Defect) 软件缺陷是什么软件缺陷是什么n软件出错机理可描述为:软件错误,软件缺陷,软件故障,软件失效。 n软件错误软件错误:是指在

9、软件生存期内的不希望或不可接受的人为错误,其结果是导致软件缺陷的产生。n软件缺陷软件缺陷:是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差。其结果是软件运行于某一特定条件时出现软件故障,这时称软件缺陷被激活。n软件故障软件故障:是指软件运行过程中出现的一种不希望或不可接受的内部状态。此时若无适当措施(容错)加以及时处理,便产生软件失效。n软件失效软件失效:是指软件运行时产生的一种不希望或不可接受的外部行为结果。软件缺陷激活条件软件缺陷激活条件符合下列五种情况之一的就可以认为是软件缺陷:(1)软件未达到软件产品需求说明书指明的要求。 (2)软件出现了软件产品需求说明书指明不会出现

10、的错误。 (3)软件功能超出软件产品需求说明书指明的范围。 (4)软件未达到软件产品需求说明书虽未指明但应达到的要求。(5)软件测试人员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好的问题。 软件缺陷构成软件缺陷构成其他其他10%软件产品说明软件产品说明书(需求)书(需求)56%编写代码编写代码7%设计设计27%软件缺陷产生的原因分布软件缺陷产生的原因分布软件缺陷产生的原因软件缺陷产生的原因1 1、用户需求和说明书没有被很好的理解、用户需求和说明书没有被很好的理解 8080分析人员不能分析人员不能100%100%理解用户需求,写作水平不高理解用户需求,写作水平不高2 2、软件设计的

11、不合理、软件设计的不合理 6464 设计人员不能设计人员不能100%理解需求文档,设计水平不高理解需求文档,设计水平不高3 3、代码、代码( (算法,流程算法,流程) ) 存在错误存在错误 51.251.2编码人员不能编码人员不能100%理解设计文档,编码水平不高理解设计文档,编码水平不高假设:用户需求为100,每个阶段只能理解上一阶段的80%软件缺陷产生的原因软件缺陷产生的原因-详细划分详细划分n1.软件本身软件本身n1)文档错误、内容不正确或拼写错误。n2)没有考虑大量数据使用场合,从而可能会引起强度或负载问题。n3)对程序逻辑路径或数据范围的边界考虑不够周全,漏掉某些边界条件,造成容量或

12、边界错误。n4)对一些实时应用,要进行精心设计和技术处理,保证精确的时间同步,否则容易引起时间上不协调,不一致性带来的问题。n5)没有考虑系统崩溃后的自我恢复或数据的异地备份、灾难性恢复等问题,从而存在系统安全性、可靠性的隐患。n6)硬件或系统软件上存在的错误。n7)软件开发标准或过程上的错误。软件缺陷产生的原因软件缺陷产生的原因n2.团队工作团队工作n1)系统需求分析时对客户的需求理解不清楚,或者和用户的沟通存在一些困难。n2)不同阶段的开发人员相互理解不一致。例如,软件设计人员对需求分析的理解有偏差,编程人员对系统设计规格说明书某些内容重视不够,或存在误解。n3)对于设计或编程上的一些假定

13、或依赖性,相关人员没有充分沟通。n3.技术问题技术问题n1)算法错误:在给定条件下没能给出正确或准确的结果。n2)语法错误:对于编译性语言程序,编译器可以发现这类问题;但对于解释性语言程序,只能在测试运行时发现。n3)计算和精度问题:计算的结果没有满足所需要的精度。n4)系统结构不合理、算法选择不科学,造成系统性能低下。n5)接口参数传递不匹配,导致模块集成出现问题。软件缺陷分类软件缺陷分类-软件开发阶段软件开发阶段n按开发阶段不同阶段分为3类。1.规格说明错误规格说明错误这类错误是指规格说明与问题定义不一致所产生的错误。它们又可以细分成:(1)不一致性错误:规格说明中功能说明与问题定义发生矛

14、盾。(2)冗余性错误:规格说明中某些功能说明与问题定义相比是多余的。(3)不完整性错误:规格说明中缺少某些必要的功能说明。(4)不可行错误:规格说明中有些功能要求是不可行的。(5)不可测试错误:有些功能的测试要求是不现实的。软件缺陷分类软件缺陷分类-软件开发阶段软件开发阶段2.设计错误设计错误这是在设计阶段产生的错误,它使系统的设计与需求规格说明中的功能说明不相符。它们又可以细分为:(1)设计不完全错误:某些功能没有被设计,或设计得不完全。(2) 算法错误:算法选择不合适。主要表现为算法的基本功能不满足功能要求、算法不可行或者算法的效率不符合要求。(3) 模块接口错误 :模块结构不合理 ;模块

15、与外部数据库的界面不一致,模块之间的界面不一致。(4) 控制逻辑错误 :控制流程与规格说明不一致 ;控制结构不合理。(5) 数据结构错误:数据设计不合理;与算法不匹配;数据结构不满足规格说明要求。软件缺陷分类软件缺陷分类-软件开发阶段软件开发阶段3.编码错误编码错误编码过程中的错误是多种多样的 ,大体可归为以下几种 :数据说明错、数据使用错、计算错、比较错、控制流错、界面错、输入输出错,及其它的错误。在不同的开发阶段,错误的类型和表现形式是不同的,故应当采用不同的方法和策略来进行检测。软件缺陷分类软件缺陷分类-按性质和范围分类按性质和范围分类B.Beizer从软件测试观点出发,把软件错误分为5

16、类。1.功能错误功能错误(1)规格说明错误:规格说明可能不完全,有二义性或自身矛盾。(2)功能错误:程序实现的功能与用户要求的不一致。这常常是由于规格说明中包含错误的功能、多余的功能或遗漏的功能所致。(3)测试错误:软件测试的设计与实施发生错误。软件测试自身也可能发生错误。(4)测试标准引起的错误:对软件测试的标准要选择适当,若测试标准太复杂,则导致测试过程出错的可能就大。软件缺陷分类软件缺陷分类-按性质和范围分类按性质和范围分类2.系统错误系统错误(1)外部接口错误:外部接口指如终端、打印机、通信线路等系统与外部环境通信的手段。所有外部接口之间,人与机器之间的通信都使用形式的或非形式的专门协

17、议。如果协议有错,或太复杂,难以理解,致使在使用中出错。此外还包括对输入输出格式错误理解,对输入数据不合理的容错等等。(2)内部接口错误:内部接口指程序之间的联系。它所发生的错误与程序内实现的细节有关。例如,设计协议错、输入输出格式错、数据保护不可靠、子程序访问错等。(3)硬件结构错误 :这类错误在于不能正确地理解硬件如何工作 。例如,忽视或错误地理解分页机构、地址生成、通道容量、IO指令、中断处理、设备初始化和启动等而导致的出错。(4)操作系统错误:这类错误主要是由于不了解操作系统的工作机制而导致出错。当然,操作系统本身也有错误,但是一般用户很难发现这种错误。软件缺陷分类软件缺陷分类-按性质

18、和范围分类按性质和范围分类(5)软件结构错误:由于软件结构不合理或不清晰而引起的错误。这种错误通常与系统的负载有关,而且往往在系统满载时才出现。这是最难发现的一类错误。例如,错误地设置局部参数或全局参数;错误地假定寄存器与存储器单元初始化了;错误地假定不会发生中断而导致不能封锁或开中断;错误地假定程序可以绕过数据的内部锁而导致不能关闭或打开内部锁;错误地假定被调用子程序常驻内存或非常驻内存等等,都将导致软件出错。(6)控制与顺序错误:这类错误包括:忽视了时间因素而破坏了事件的顺序;猜测事件出现在指定的序列中;等待一个不可能发生的条件;漏掉先决条件;规定错误的优先级或程序状态;漏掉处理步骤;存在

19、不正确的处理步骤或多余的处理步骤等。(7)资源管理错误:这类错误是由于不正确地使用资源而产生的。例如,使用未经获准的资源;使用后未释放资源;资源死锁;把资源链接在错误的队列中等等。软件缺陷分类软件缺陷分类-按性质和范围分类按性质和范围分类3.加工错误加工错误(1)算术与操作错误:指在算术运算、函数求值和一般操作过程中发生的错误。包括:数据类型转换错 ;除法溢出 ;错误地使用关系比较符;用整数与浮点数做比较等。(2)初始化错误:典型的错误有:忘记初始化工作区,忘记初始化寄存器和数据区;错误地对循环控制变量赋初值;用不正确的格式,数据或类型进行初始化等等。(3)控制和次序错误:这类错误与系统级同名错误类似,但它是局部错误。包括:遗漏路径;不可达到的代码;不符合语法的循环嵌套;循环返回和终止的条件不正确;漏掉处理步骤或处理步骤有错等。(4)静态逻辑错误:这类错误主要包括:不正确地使用CASE语句;在表达式中使用不正确的否定(例如用“”代替“”的否定);对情况不适当地分解与组合;混淆“或”与“异或”等。软件缺陷分类软件缺陷分类-按性质和范围分类按性质和范围分类4.数据错误数据错误(1)动态数据错误 :动态数据 是在程序执行过程中暂时存在的数据。各种不同类型的 动态数据在程序执行期间 将共享一个共同的存储区域,若程序启动时对这个区域未初始化,就会导致

温馨提示

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

评论

0/150

提交评论