




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件测试基础,1-1软件测试基础知识1,软件测试行业的优势?软件测试的根本目的?QA,你懂得?,2,回顾,什么是软件缺陷?缺陷产生的原因?什么是软件测试?,本节学习内容,软件无处不在,先看一下软件在我们生活中的位置及作用:,公路上的代码,带翼的软件,“设计飞机需要数千名专家,加上许多人工智能,在完成之前,美国和日本的1700个工作站已经运行了专门的CAD软件,一旦飞机飞在空中,有400万条完全没有错误的指令在驱动他。”,“当您启动BMW7系列时,您激活了20兆字节的计算能力这比阿波罗11号的登月之旅中所用的还要多。”,软件无处不在,5,衣,住,食,行,软件无处不在,6,抢票神器,助你回家,软件软件无处不在,实现家电智能控制必不可少,InternetofThings,软件无处不在,有了PS,你会发现,什么都可以改变,什么是软件缺陷?,由此得出,软件已经成为我们的工作、生活中不可或缺的重要部分。软件质量已经成为决定产品质量或企业成败的最重要的因素。软件不能正常工作所带来的问题对我们的工作和生活带来很多不便,甚至会造成时间、金钱、信誉等方面的重大损失,严重时会危及生命。,臭名昭著的软件错误案例,什么是软件缺陷?,迪斯尼并不总是带来笑声,1994-1995,1994年圣诞节前夕,迪斯尼公司发布了第一个面向儿童的多媒体光盘游戏“狮子王童话”圣诞节后的第一天,迪斯尼客户支持部电话开始响个不停,不断有人咨询、抱怨为什么游戏总是安装不成功,或没法正常使用这个游戏软件只能在少数系统中正常运行,兼容性问题,什么是软件缺陷?,11,英特尔奔腾浮点除法缺陷,1994,(41958353145727)3145727-4195835=?,在计算机的“计算器”程序中输入以上算式,如果结果是0,那表明你的计算机没有问题。测试工程师在芯片发布之前的内部测试时已发现了这个问题,但管理层认为没有严重到要修复的程度。用户在1994年10月30日报告了这个缺陷,Intel承诺更换有问题的芯片,但要求用户必须证明自己受到了软件缺陷的影响。最终,Intel公开道歉并花费4亿多美元更换坏芯片。,什么是软件缺陷?,12,美国航天局(NASA)火星极地探测器着陆坠毁,1999,在设计中,在飞船的脚上装了一个的触点开关,当飞船的脚着地时,触发开关,通过计算机中设置的一个数据位来关掉燃料。然而,在飞船的脚张开时,由于震动,开关被触发,并通过数据位关掉燃料,没有反助推器的帮助,飞船下坠1800米后冲向地面必然坠毁。原因:其中一个小组测试飞船的脚落地过程,并不注意着地数据位(接口)是否置位,另一个小组测试此后的着陆过程,他们每次测试前都要重置计算机、清除数据位。他们从未一起工作过!没有合在一起测试过。,系统测试衔接问题,什么是软件缺陷?,13,爱国者导弹防御系统,1991,1991年2月25日在海湾战争中,美国的爱国者导弹在发射时产生了0.33秒的时间误差,这个软件故障扰乱了导弹的雷达跟踪系统,结果拦截失败,被沙特阿拉伯发射的飞毛腿导弹击中,造成美军28名士兵死亡、98人受伤。1991年2月16日,制造商向美国陆军提供了更新软件。这个软件最终在飞毛腿导弹击中军营后的一天才运抵部队。,当爱国者导弹防御系统的时钟累计运行超过14小时后,跟踪定位系统就不准确。在这场战役中,爱国者系统已经连续运行超过100个小时,导致了累计的时间误差。,系统时钟误差积累,什么是软件缺陷?,14,国内的软件失效案例,360存在严重缺陷,后果导致系统崩溃(查杀木马后无法查看桌面和任务栏),什么是软件缺陷?,软件留有“后门”,什么是软件缺陷?,软件缺陷,软件无处不在,有软件的地方就必定存在缺陷!,缺点:defect故障:fault问题:problem、issue错误:error毛病:incident异常:anomaly,偏差:variance失败:failure矛盾:inconsistency特殊:feature缺陷:bug,软件测试人员,在不同环境下用不同的术语描述软件失败的现象:,什么是软件缺陷?,什么是软件缺陷?,术语:缺陷(Defect),可能会导致软件组件或系统无法执行其定义功能的瑕疵,如错误的语句或数据定义。缺陷可能会导致失效(Failure)。,术语:错误(Error),人为的、产生不正确结果的动作。比如程序逻辑错误、代码错误、文档错误等,术语:故障(Fault),指缺陷在软件运行时的表现形式。故障一定是缺陷,但缺陷不一定是故障。,术语:失效(Failure),组件或系统与预期的交付、服务或结果之间存在的实际偏差。,什么是软件缺陷?,缺陷因果链,“千年虫”事件,什么是软件缺陷?,请思考:系统中一旦引入了缺陷,一定会引起失效吗?请用之前讲过的例子说明!,什么是软件缺陷?,判别缺陷之前需了解的一个术语产品说明书产品说明书(productspecification)软件开发小组的一个协定,定义了要开发的产品的功能和特征,细化了产品的细节,产品如何反应,要做什么,不做什么等。这种协定的范围从口头说明到正式书写的文档有多重形式。,怎么样去判别软件缺陷?,什么是软件缺陷?,怎么样去判别软件缺陷?,只要符合下列5个规则的,我们称之为软件缺陷:1.软件未达到产品说明书标明的功能。2.软件出现了产品说明书指明不会出现的错误。3.软件功能超出产品说明书指明范围。4.软件未达到产品说明书虽未指出但应达到的目标。5.软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。,什么是软件缺陷?,23,讨论1、假如计算器的产品说明书声称能够准确无误地进行加、减、乘、除运算。测试:测试员拿到计算器后,按下(+)键,结果什么反应也没有。这算缺陷吗?,什么是软件缺陷?,24,讨论2、假如在对计算器的加、减、乘、除进行测试完后,测试员发现该计算器还可以求平方根,而说明书没有提此功能。这是哪种缺陷呢?,什么是软件缺陷?,25,讨论3、假如计算器的产品说明书声称计算器永远不会崩溃、死锁或停止反应。测试:测试员拿到计算器后,狂敲键盘使计算器停止接受输入。这算缺陷吗?,什么是软件缺陷?,26,讨论4、假如软件测试员觉得按键太小;“=”键布置的位置使其极其不好按;也许在明亮光下显示屏难以看清。这是哪种缺陷呢?,什么是软件缺陷?,27,讨论5、在测试计算机时,会发现电池没有电会导致计算不正确。没有人考虑到这种情况下计算机如何反应,而是假定充足了电。测试应该考虑到让计算器持续工作到电池没电。电力不足时无法正确使用,但产品说明书未指出这个问题。这是何种缺陷呢?,什么是软件缺陷?,28,缺陷产生的原因?,主要根源是什么?,什么是软件缺陷?,29,缺陷产生的原因?,29,产生软件缺陷的原因很多,其中最大的原因是软件产品规格说明书(ProductSpecification),Figure1.1.Bugsarecausedfornumerousreasons,but,inthissampleprojectanalysis,themaincausecanbetracedtothespecification.,什么是软件缺陷?,为什么产品说明书是最大的罪魁祸首,什么是软件缺陷?,为什么产品说明书是最大的罪魁祸首,-根本就没有产品说明书-产品说明书描述不够彻底-产品说明书频繁变化-不能及时与整个开发团队沟通“Ifyoucantsayit,youcantdoit.”,什么是软件缺陷?,软件缺陷的第二大来源是设计,随意易变沟通不足,32,什么是软件缺陷?,33,软件为什么会有缺陷呢?(Somereasons-butnotall),MiscommunicationNocommunicationSoftwarecomplexityProgrammingerrorsPoorrequirementsChangedrequirementsTimepressuresChangedenvironments,PoorlydocumentedcodeMisuseoftoolsErrorsinsystemsupportsoftwarePoorplanningEgosLackofexperienceInadequatetesting,什么是软件缺陷?,软件缺陷在什么时候修复最经济?,什么是软件缺陷?,软件缺陷的修复(fix)费用,在软件开发的各个阶段,都有可能发现缺陷,但不同的时间发现缺陷,其消除缺陷的费用却有着非常大的区别。随着时间的推移,缺陷的修复费用呈几何级数增长。,什么是软件缺陷?,软件缺陷的修复费用,Figure1.2.Thecosttofixbugscanincreasedramaticallyovertime.,什么是软件测试?,软件测试的定义软件测试的目的软件测试的对象测试与调试的区别,什么是软件测试?,1979,G.J.Myers在他的软件测试的艺术一书中给出了软件测试的定义:程序测试是为了发现错误而执行程序的过程。狭义的定义,其主要目的是发现缺陷。,什么是软件测试?,G.J.Myers三个关于测试的重要观点,测试是为了证明程序有错,而不是证明程序正确。一个好的测试用例在于它能发现以前未发现的错误。一个成功的测试是发现了以前未发现的错误的测试。,Q:我按照用户的需求测试了实际的系统,却一个缺陷也没有发现,我所做的测试工作有意义吗?,A:当然有意义,因为我至少证明了该系统基本符合用户的需求。,什么是软件测试?,广义的定义,软件测试是指软件产品生存周期内所有的检查、评审和确认活动,如设计评审和系统测试。在软件生命周期早期设计测试的思考过程可防止将缺陷引入代码,对文档的审查也同样可防止将缺陷引入代码。,什么是软件测试?,验证和确认(V&V),软件测试通过验证和确认活动来进行。验证(Verification):是保证软件符合产品说明书的过程。Arewebuildingthesystemright?确认(Validation):是保证软件满足用户要求的过程。Arewebuildingtherightsystem?,验证:“我们是否正确地完成了产品?”确认:“我们是否完成了正确的产品?”-Boehm,问题讨论,玩电脑游戏是不是软件测试?玩手机是不是软件测试?用户使用软件是不是软件测试?,什么是软件测试?,软件测试的对象,软件测试贯穿于软件定义和开发的整个期间。需求分析,概要设计,详细设计,以及程序编码等各个阶段所得到的文档,包括需求规格说明,概要设计规格说明,详细设计规格说明以及源程序,都是软件测试的对象.,软件测试程序测试,什么是软件测试?,软件测试的目的,尽早发现软件产品中的缺陷并确保其被修复评估、确认软件的质量预防缺陷具体实施软件测试时,要在发现缺陷和保证质量两个目的之间做出平衡。,什么是软件测试?,测试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年4月重庆医科大学附属第三医院招聘医师、医技、护理、行政、其他岗位模拟试卷有答案详解
- 2025嘉兴市保安服务有限公司招聘2人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025年攀枝花市盐边县事业单位春季引才考核的模拟试卷及1套参考答案详解
- 2025河南郑州智能科技职业学院招聘考前自测高频考点模拟试题附答案详解(模拟题)
- 2025湖北武汉大学中南医院咸宁医院咸宁市第一人民医院招聘15人模拟试卷有答案详解
- 2025年福建省龙岩市武平县招聘教育卫生干部10人模拟试卷有答案详解
- 2025安徽蚌埠市《固镇县任桥镇2025年面向全县公开招聘村级后备干部》考前自测高频考点模拟试题及1套参考答案详解
- 山西省【中职专业高考】2025年中职高考对口升学(理论考试)真题卷【农林牧渔大类】模拟练习
- 2025广东珠海市香洲区招聘卫生健康系统事业单位人员10人及完整答案详解一套
- IBI-325-生命科学试剂-MCE
- 护理疑难病例讨论课件模板
- 同步课件4:改革开放和社会主义现代化建设的巨大成就
- DL-T-1878-2018燃煤电厂储煤场盘点导则
- 【顺丰控股财务报表探析探究14000字(论文)】
- 【农村电商发展探究文献综述与理论基础4500字】
- 地震逃生知识培训
- 《济南市城镇燃气领域重大隐患判定指导手册》
- 人工智能助力企业创新发展
- 资料员之资料员基础知识题库及完整答案(各地真题)
- 卢卡奇的《历史与阶级意识》
- JJG693-2011燃气泄漏检测仪器检定规程
评论
0/150
提交评论