版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件测试概述-2康玲课程内容回顾回顾软件测试的软件测试的 引入引入软件测试的可靠性问题软件测试的可靠性问题软件测试的发展软件测试的发展软件缺陷软件缺陷软件缺陷案例软件缺陷案例描述软件失败的术语描述软件失败的术语什么是软件缺陷什么是软件缺陷为什么会产生软件缺陷为什么会产生软件缺陷软件缺陷修复的费用软件缺陷修复的费用软件缺陷案例1事件迪斯尼的狮子王,1994年1995 兼容性测试1994年秋,迪斯尼公司发布第一个面向儿童的多媒体光盘游戏Lion King Animated Storybook(狮子王动画故事书)。销量可观,但不久爆发问题,用户买回家后光盘不能正确运行,最终导致退货并赔偿。原因兼容性
2、问题未对市场上的各种PC机进行正确的测试,仅在自己的开发系统中做测试。软件在少数系统中工作正常。软件缺陷案例2事件1999年 火星气象探测器(Mars Climate Orbiter)到达火星之后不久就消失;此项工程成本耗费3.27亿美元,还不包括损失的时间(该探测器从发射到抵达火星将近一年时间)原因地面系统软件和飞行器上软件分别使用公制和英制两种单位。软件缺陷案例3事件1996年6月4日,欧洲阿丽亚娜5型火箭第一次发射,原计划将运送4颗太阳风观察卫星到预订轨道,但因软件引发的问题导致火箭在发射39秒后偏轨,从而激活了火箭的自我摧毁装置。阿丽亚娜5型火箭和其他卫星在瞬间灰飞烟灭。原因 代码重用
3、代码符合标准C语言,但在运行过程中,程序员将一个64位浮点值转换为16位有符号整数值时,超出了16位整数的表示范围,造成内存溢出,而这个异常未得到正确解决。 int 8 a; int 32 b;a = b; 软件缺陷案例4事件Intel 奔腾浮点除法软件缺陷,1994 年Thomas博士在他的奔腾PC机上做除法试验:(4195835/3145727)*3145727-4195835,结果不为0原因软件缺陷.英特尔声称 ,奔腾处理器出现这一问题的可能性微乎其微,因为即使是经常用到浮点运算的用户,也要每两万七千年才会遇上一次计算错误。但是,英特尔的技术性解释却引来媒体和公众更多的口诛笔伐。最终,英
4、特尔当时的CEO (Andy Grove)向公众道歉,并承诺为用户更换奔腾处理器。爱国者导弹防御系统,1991年1991年海湾战争,美国爱国者导弹防御系统出现失误,炸死28名本国士兵。原因:软件缺陷导致跟踪系统失去了精确度。千年虫问题20世纪70年代,为了节省系统存储空间,将4位的年份用后两位来存储。据估计,世界各地检查2000年兼容问题、解决2000年计算错误花费了数百亿美元。原因:软件缺陷。软件缺陷案例2009年2月份Google的Gmail故障,导致用户几个小时内无法访问邮箱。原因:Google数据中心之间的负载均衡软件的Bug引起。神舟七号成功发射 2008年北京飞控中心和飞船系统、航
5、天员系统、应用系统一道,共同制定了267个故障对策。除了几千页的技术文档,神七涉及的计算机指令有150多万为了保证系统的可靠性、稳定性和正确性,飞控中心做了3万多条测试用例。描述软件失败的术语bug第一个有记载的第一个有记载的bugbug是编译器的发明者格蕾斯是编译器的发明者格蕾斯. .哈珀发现的。哈珀发现的。19451945年年9 9月月9 9日日, ,下午下午3 3点点, ,哈珀中尉正领着他的小组构造一哈珀中尉正领着他的小组构造一个称为个称为”马克二型马克二型”的计算机的计算机. .这还不是一个完全的电子这还不是一个完全的电子计算机计算机, , 使用了大量的继电器使用了大量的继电器, ,是
6、一种电子机械装置是一种电子机械装置. . 突突然然”马克二型马克二型”死机了死机了. .技术人员试了很多办法技术人员试了很多办法, ,最后定位最后定位到第到第7070号继电器出错号继电器出错. .哈珀观察这个出错的继电器哈珀观察这个出错的继电器, ,发现一发现一只飞蛾躺在中间只飞蛾躺在中间, ,已经被继电器打死已经被继电器打死. .从此以后,人们将计算机错误戏从此以后,人们将计算机错误戏称为虫子(称为虫子(bugbug), ,而把找寻错误而把找寻错误的工作称为(的工作称为(debugdebug). .描述软件失败的术语描述软件缺陷的术语:Defect 缺陷 Variance偏差Fault 故障
7、 Problem问题Failure 失效 Error 错误Bug 臭虫 Anomaly异常对于测试人员来说,任何和所期望的偏差都应该上报。软件缺陷术语辨析软件错误软件错误(software error)人难免犯错误人难免犯错误,必然给软件留下不良痕迹必然给软件留下不良痕迹,是一种人是一种人为过程为过程,相对软件本身相对软件本身,是一种外部行为是一种外部行为.软件缺陷软件缺陷(software defect)指存在于软件中的偏差指存在于软件中的偏差,如少一逗号如少一逗号,多一语句等多一语句等,其其结果是运行于某一特定条件时出现故障结果是运行于某一特定条件时出现故障,称缺陷被称缺陷被激活激活.软件
8、故障软件故障(software fault)一种动态行为一种动态行为,在软件运行过程中出现的一种不希在软件运行过程中出现的一种不希望或不可接受的内部状态望或不可接受的内部状态,若无适当措施及时处理若无适当措施及时处理,便产生软件失效便产生软件失效.软件失效软件失效(software failure)指软件运行时产生的不可接受的外部行为结果指软件运行时产生的不可接受的外部行为结果.2.什么是软件缺陷软件未达到产品说明书中已经标明的功能;软件未达到产品说明书中已经标明的功能;软件出现了产品说明书中指明不会出现的错误;软件出现了产品说明书中指明不会出现的错误;软件未达到产品说明书中虽未指出但应当达到
9、软件未达到产品说明书中虽未指出但应当达到的目标的目标; ;软件功能超出了产品说明书中指明的范围软件功能超出了产品说明书中指明的范围; ;软件测试人员认为软件难以理解、不易使用,软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。或者最终用户认为该软件使用效果不良。软软件件缺缺陷陷的的定定义义计算器的例子计算器说明书:该计算器将准确无误地进行加、计算器说明书:该计算器将准确无误地进行加、减、乘、除运算。计算器不会出现崩溃、减、乘、除运算。计算器不会出现崩溃、死锁或停止反应。死锁或停止反应。2+3,没有反应?没有反应?(2,3,+ 没有反应?没有反应?)随意敲击键盘后,没有
10、了反应?随意敲击键盘后,没有了反应?因为电池没有电,所以计算错了?因为电池没有电,所以计算错了?还能计算某数的平方根?还能计算某数的平方根?1.按键很小、显示屏看不清楚按键很小、显示屏看不清楚2022-5-615软件缺陷:正式定义与分类软件产品中违背了软件产品需求的实现,则称为软件缺陷。软件缺陷从应用意义上可分为三类:语义错误语法错误功能缺陷基础概念基础概念 2022-5-616语义错误软件是需求驱动的一系列变换过程的输出。如果在变换过程中,对输入理解错误,则会产生错误的输出,这类错误称之为语义错误。语义错误是一种偏离错误,如需求定义偏离了用户需求,设计偏离了需求定义等。偏离既包括正偏离(超出
11、需求)也包括负偏离(不满足需求)。根据软件缺陷分布统计,需求定义错误和设计错误分别占整个缺陷的56%和27%。基础概念基础概念 2022-5-617语法错误软件产品是通过某种描述语言表达的结果,如通过UML描述的设计,通过Java描述的程序等。错误地使用了这些语言或违背了这些语言的标准,则称为语法错误。根据软件缺陷分布统计,代码错误占整个缺陷的7%。基础概念基础概念 2022-5-618功能缺陷有些功能在通常情况下(甚至在大部分绝大部分情况下)都可以正常运行,但在一些特定条件下,则会出现异常,甚至会引起系统崩溃或严重的安全问题,例如缓冲区溢出。基础概念基础概念 2022-5-619典型的缺陷类
12、型从产生缺陷的原因上分,典型的缺陷类型需求解释有错误用户定义错了需求需求记录错误设计说明有误编码说明有误程序代码有误数据输入有误测试错误问题修改不正确正确的结果是由于其它的缺陷产生的练习启动windows计算器程序,输入5,0005,观察结果,这是软件缺陷吗?为什么?在千年虫案例中,这个程序员是否有错?3.为什么会产生软件缺陷?(1)产品需求说明书(2)设计方案(3)编写代码(4)其他软件产品说明软件产品说明书(需求)书(需求)56其 他其 他10编写代码编写代码7设计设计27%图1-1 软件缺陷产生的原因分布2022-5-622软件缺陷的罪魁祸首:产品规格说明书原因:需求不清需求错误表达错误
13、或歧义需求变化2022-5-623软件缺陷的第二大来源:设计方案原因:设计粗糙设计缺陷表达不清、歧义设计技术不成熟2022-5-624软件缺陷的第三大来源:代码错误原因:软件的复杂性说明文档不足编程风格、可维护性低级错误2022-5-625其它原因进度压力资源不足采用的技术成熟度人员技术力测试错误。实际工作中上报的缺陷中有少部分是测试错误,属错报。这也是正常的。2022-5-626易导致缺陷的“测试原因”测试目标定义错误在开发生命周期中,错误的选择了测试介入时期选择了低效的测试技术测试人员专业知识培训不够,工作低效计划不够详细,测试的随意性很大测试人员同开发人员沟通困难2022-5-627软件
14、缺陷引入阶段统计许多缺陷是在早期阶段引入的资料来源:资料来源: Applied Software Measurement, Capers Jones2022-5-628为什么缺陷很难被找出?看不到(不可预知)看到但是抓不到4.软件缺陷修复的费用软件在从需求、设计、编码、测试一直到交付用户公开使用后的过程中,都有可能产生和发现缺陷。随着整个开发过程的时间推移,更正缺陷或修复问题的费用呈几何级数增长。0 02020404060608080100100编制说明书编制说明书 设计阶段设计阶段编写代码编写代码测试测试 发布发布 $1$10$100$1000+specification designcoderelease随着整个开发过程的时间推移,在需求阶段没
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年AI评估数字化转型合同
- 农村集体经济组织法人设立制度研究
- 2026服务机器人语音交互系统自然语言处理技术发展报告
- 通信移动终端设备装调工安全生产基础知识水平考核试卷含答案
- 钽铌精炼工班组考核知识考核试卷含答案
- 飞机外场调试与维护工冲突管理竞赛考核试卷含答案
- 自动相关监视系统机务员岗前基础管理考核试卷含答案
- 消防设施检测维保员测试验证强化考核试卷含答案
- 主扇风机操作工操作能力考核试卷含答案
- Cu基稀土改性沸石催化剂在糠醛催化加氢制高值醇类的研究
- 共建绿色丝绸之路进展、形势与展望
- 班主任技能大赛一等奖治班策略
- 医学课件-化疗不良反应处理教学课件
- 控制电缆施工方案
- 3.1三相异步电动机的数学模型
- GB/T 33610.2-2017纺织品消臭性能的测定第2部分:检知管法
- GB/T 3323.1-2019焊缝无损检测射线检测第1部分:X和伽玛射线的胶片技术
- 健身气功八段锦教案
- 最新-精神活性物质所致精神障碍-课件
- 我家的新厨房演示文稿课件
- 《儿科学基础》课件
评论
0/150
提交评论