T1测试基础知识课件

上传人:hloru****lorv6 文档编号:242658796 上传时间:2024-08-30 格式:PPT 页数:43 大小:1.45MB
返回 下载 相关 举报
T1测试基础知识课件_第1页
第1页 / 共43页
T1测试基础知识课件_第2页
第2页 / 共43页
T1测试基础知识课件_第3页
第3页 / 共43页
点击查看更多>>
资源描述
,wangchunxiu,*,IT Education & Training,Arial 或 Frutiger 55 Roman 25pt ,华文细黑简25pt,Arial 或 Frutiger 55 Roman 25pt ,华文细黑简25pt,Arial 或 Frutiger 55 Roman 25pt ,华文细黑简25pt,Arial 或 Frutiger 55 Roman 25pt ,华文细黑简25pt,Arial 或 Frutiger 55 Roman 25pt ,华文细黑简25pt,Arial 或Frutiger Bold 40pt ,黑体简40pt,IT Education & Training,主讲:王春秀,Arial 或 Frutiger 55 Roman 25pt ,华文细黑简25pt,Arial 或 Frutiger 55 Roman 25pt ,华文细黑简25pt,Arial 或 Frutiger 55 Roman 25pt ,华文细黑简25pt,Arial 或 Frutiger 55 Roman 25pt ,华文细黑简25pt,Arial 或 Frutiger 55 Roman 25pt ,华文细黑简25pt,Arial 或Frutiger Bold 40pt ,黑体简40pt,Mar,2006,2006,年,9,月,SWEG,Software Testing Foundation,第一部分:软件测试基础,Software Testing Foundation第一部,wangchunxiu,2,本章目标,通过本章的学习,理解并掌握:,软件测试基础,基本的测试过程,测试的基本原理,测试的理念,wangchunxiu2本章目标通过本,2,软件测试基础,软件测试基础,wangchunxiu,4,1. 软件测试基础,1.1 什么是软件缺陷,1.2 缺陷因果链,1.3 软件测试的定义,1.4 软件质量模型,1.5 测试工作量,wangchunxiu41. 软件测试,4,wangchunxiu,5,1.1 缺陷及其产生原因,先看一下软件在我们生活中的位置及作用:,公路上的代码,带翼的软件,“设计飞机需要数千名专家,加上许多人工智能, 在完成之前,美国和日本的,1700,个工作站已经运行了专门的,CAD,软件,一旦飞机飞在空中,有,400,万条完全没有错误的指令在驱动他。”,“当您启动,BMW7,系列时,您激活了,20,兆字节的计算能力,这比阿波罗,11,号的登月之旅中所用的还要多。”,wangchunxiu51.1 缺陷及,5,wangchunxiu,6,由此得出,软件已经成为我们的工作、生活中不可或缺的重要部分。软件质量已经成为决定产品质量或企业成败的最重要的因素。软件不能正常工作所带来的问题对我们的工作和生活带来很多不便,甚至会造成时间、金钱、信誉等方面的重大损失,严重时会危及生命。,wangchunxiu6由此得出软件已,6,wangchunxiu,7,先看几个软件问题的例子:,wangchunxiu7先看几个软件问,7,wangchunxiu,8,英特尔奔腾浮点除法软件缺陷1995,(4195835 / 3145727) * 3145727 4195835, 0,测试工程师在芯片发布之前的内部测试时已发现了这个问题,但管理层认为没有严重到要修复的程度。,用户在1994年10月30日报告了这个缺陷,Intel承诺更换有问题的芯片,但要求用户必须证明自己受到了软件缺陷的影响。,最终,Intel公开道歉并花费4亿多美元更换坏芯片。,wangchunxiu8英特尔奔腾浮点,8,wangchunxiu,9,迪斯尼的狮子王 1994-1995,1994年秋,迪斯尼发布了第一个面向儿童的多媒体光盘游戏-狮子王,这款游戏很快成为当年夏季孩子们的“必选游戏”。然而,圣诞后的一天,投诉的电话响个不停,电话支持部门很快被淹没在愤怒的家长和孩子们因完不成游戏而哭闹不停的电话狂潮之中。,原因是它只能在有限的几款平台上运行,而迪斯尼并没有意识到这点,游戏包装上也没做任何说明。,wangchunxiu9迪斯尼的狮子王,9,wangchunxiu,10,美国航天局(,NASA,)火星极地着陆-1999,1999年12月3日,美国航天局的火星基地登陆飞船在试图登录火星表面时失踪。,在设计中,在飞船的脚上装了一个的触点开关,当飞船的脚着地时,触发开关,通过计算机中设置的一个数据位来关掉燃料。,然而,在飞船的脚张开时,由于震动,开关被触发,并通过数据位关掉燃料。,原因:其中一个小组测试飞船的脚落地过程,并不注意着地数据位是否置位,另一个小组测试此后的着陆过程,他们每次测试前都要重置计算机、清除数据位。,他们从未一起工作过!,wangchunxiu10美国航天局(,10,wangchunxiu,11,爱国者导弹防御系统-1991,1991年,2月25日,在海湾战争中,美国的爱国者导弹在发射时产生了0.33秒的时间误差,这个软件故障扰乱了导弹的雷达跟踪系统,结果拦截失败,被伊拉克发射的飞毛腿导弹击中,造成美军28名士兵死亡、98人受伤。,1991年,2月16日, 制造商向美国陆军提供了更新软件。这个软件最终在飞毛腿导弹击中军营后的一天才运抵部队。,wangchunxiu11爱国者导弹防,11,wangchunxiu,12,千年虫-大约1974,20世纪70年代某程序员Dave为了节省宝贵的内存空间,将4位数的年份压缩成两位数,他主要认为只有在到达2000年时程序计算00或01 这样的年份时才会出现问题。,他绝对没想到他的程序 会使用到21世纪。,wangchunxiu12千年虫-大约,12,wangchunxiu,13,1963年美国研制的一枚发射火星探测器的火箭,由于程序员将程序中的“,”误写成“.”,导致火箭升空爆炸;,1996年6月4日,欧空局投资67亿美元研制的阿里安5火箭爆炸的悲剧,也是由于软件错误引起的。,不完善的软件导致的事故,:,wangchunxiu131963年美,13,wangchunxiu,14,不完善的软件导致的事故,:,2003年3月22日,一个“爱国者”导弹连在伊拉克与科威特接壤的边境地区击落一架英军“旋风”式战斗机,机上两人死亡。经调查,这起事故的原因是用在英军战机上的敌我识别装置发生故障。,两天后,一架美军16型战斗机发射一枚导弹击中一个“爱国者”导弹系统,因为这架战斗机的驾驶员发现“爱国者”导弹的雷达系统已经把自己的飞机锁定。战斗机发射的导弹摧毁了“爱国者”雷达系统,但没有造成人员伤亡。,wangchunxiu14不完善的软件,14,wangchunxiu,15,2005年11月1日,日本东京证券交易所股票交易系统发生大规模系统故障,导致所有股票交易全面告停,短短2个小时造成了上千亿元的损失。经查明,故障的“元凶”是当年10月为增强系统处理能力而更新的交易程序存在缺陷。,2005年1月16日晚11时30分至1月17日凌晨1时30分,在北京西站购买直达特快列车车票的旅客苦等了两个小时仍然没有买到票,售票员说电脑系统出现故障无法出票。之前,北京直达特快列车车票因电脑系统问题已经在16日下午3时停售了一个小时。,2005年4月,一个软件的小Bug让美国航空集团公司损失了数十万美元,当时一些机票的价格被错误地定为1.86美元;,2003年8月美国东北地区的大停电正是由软件Bug造成的,这次停电让数百万人陷入黑暗。,wangchunxiu152005年1,15,wangchunxiu,16,软件缺陷,wangchunxiu16软件缺陷,16,wangchunxiu,17,1.2 缺陷因果链,术语:,错误(Error),人为的、产生不正确结果的动作。,比如程序逻辑错误、,代码错误、文档错误等,wangchunxiu171.2 缺陷,17,wangchunxiu,18,术语:,缺陷,(,Defect,),可能会导致软件组件或系统无法执行其定义功能的瑕疵,如错误的语句或数据定义。,缺陷可能会导致失效(,Failure,)。,wangchunxiu18术语:缺陷(,18,wangchunxiu,19,术语:,故障(Fault),指缺陷在软件运行时的表现形式。故障一定是缺陷,但缺陷不一定是故障。,术语:,失效,(,Failure,),组件或系统与预期的交付、服务或结果之间存在的实际偏差。,wangchunxiu19术语:故障(,19,wangchunxiu,20,缺陷因果链,“,脚垫门,”,、,“,踏板门,”,事件,wangchunxiu20缺陷因果链“,20,wangchunxiu,21,故障与失效,一个故障可能给不同的用户带来为数不等的失效。,wangchunxiu21故障与失效,21,wangchunxiu,22,缺陷屏蔽,(,defect masking,),有时,一个故障会被应用程序其它部分的某个或某些故障所掩盖,这称为缺陷屏蔽。在这种情况下,只有修复了屏蔽它的故障后,相应的失效才会显现出来。,wangchunxiu22缺陷屏蔽(d,22,wangchunxiu,23,怎么样去判别软件缺陷?,只要符合下列5个规则的,我们称之为软件缺陷:,1.软件未达到产品说明书标明的功能。,2.软件出现了产品说明书指明不会出现的错误。,3.软件功能超出产品说明书指明范围。,4.软件未达到产品说明书虽未指出但应达到的目标。,5.软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。,wangchunxiu23怎么样去判别,23,wangchunxiu,24,缺陷有时也叫做Bug,故事发生在1945年9月的一天,一个炎热的下午,机房是一间第一次世界大战时建造的老建筑,没有空调,所有窗户都敞开着。Hopper正领着她的研究小组夜以继日地工作,研制一台称为“MARK II”的计算机,它使用了大量的继电器(电子机械装置,那时还没有使用晶体管),一台不是纯粹的电子计算机。突然,MARK II死机了。研究人员试了很多次还是启动不来,然后就开始用各种方法找问题,看问题究竟出现在哪里,最后定位到板子F第70号继电器出错。Hopper观察这个出错的继电器,惊奇地发现一只飞蛾躺在中间,已经被继电器打死。她小心地用摄子将蛾子夹出来,用透明胶布帖到“事件记录本”中,并注明“第一个发现虫子的实例”,然后计算机又恢复了正常。从此以后,人们将计算机错误戏称为臭虫(Bug),而把找寻错误的工作称为“找臭虫”(Debug)。Grace Hopper的事件记录本,连同那个飞蛾,现在都陈列在美国历史博物馆中。,wangchunxiu24缺陷有时也叫,24,wangchunxiu,25,产生缺陷的主要原因是,人为的过失或错误,。,当然,外界环境也会产生软件缺陷,如辐射、磁场等。,为什么会出现软件缺陷,wangchunxiu25产生缺陷的主,25,wangchunxiu,26,软件缺陷原因分析,产生软件缺陷的原因很多,其中最大的原因是,软件产品规格说明书,(,Product Specification,)。,Figure 1.1. Bugs are caused for numerous reasons, but, in this sample project analysis, the main cause can be traced to the specification.,wangchunxiu26软件缺陷原因,26,wangchunxiu,27,为什么软件需求规格是最大的罪魁祸首,根本就没有,软件需求规格,软件需求规格,描述不够彻底,软件需求规格,频繁变化,不能及时与整个开发团队沟通,“If you cant say it, you cant do it.”,wangchunxiu27为什么软件需,27,wangchunxiu,28,软件缺陷的第二大来源是设计,随意,易变,沟通不足,wangchunxiu28软件缺陷的第,28,wangchunxiu,29,软件错误的原因,应当强调的是,所有这些错误的原因都是人。,wangchunxiu29软件错误的原,29,wangchunxiu,30,软件缺陷的,修复,(,fix,)费用,在软件开发的各个阶段,都有可能发现缺陷,但不同的时间发现缺陷,其消除缺陷的费用却有着非常大的区别。,随着时间的推移,缺陷的修复费用呈几何级数增长。,wangchunxiu30软件缺陷的修,30,wangchunxiu,31,软件缺陷的修复费用,Figure 1.2. The cost to fix bugs can increase dramatically over time.,wangchunxiu31软件缺陷的修,31,wangchunxiu,32,1.3 软件测试,1979, G. J. Myers在他的软件测试的艺术一书中给出了软件测试的定义:,程序测试是为了发现错误而执行程序的过程,。,狭义的定义,其主要目的是发现缺陷。,wangchunxiu321.3 软件,32,G. J. Myers三个关于测试的重要观点,测试是为了证明程序有错,而不是证明程序正确。,一个好的测试用例在于它能发现以前未发现的错误。,一个成功的测试是发现了以前未发现的错误的测试。,G. J. Myers三个关于测试的重要观点测试是为了证明程,33,wangchunxiu,34,广义的定义,软件测试是指软件产品生存周期内所有的,检查、评审和确认,活动,如设计评审和系统测试。,在软件生命周期早期设计测试的思考过程可防止将缺陷引入代码,对文档的审查也同样可防止将缺陷引入代码。,wangchunxiu34广义的定义软,34,wangchunxiu,35,软件测试的目的,尽早发现软件产品中的缺陷并确保其被修复,评估、确认软件的质量,预防缺陷,具体实施软件测试时,要在发现缺陷和保证质量两个目的之间做出平衡。,wangchunxiu35软件测试的目,35,wangchunxiu,36,验证和确认(V&V),软件测试通过验证和确认活动来进行。,验证(Verification),:是保证软件符合产品说明书的过程。Are we building the system,right,?,确认(Validation),:是保证软件满足用户要求的过程。Are we building the,right,system?,wangchunxiu36验证和确认(,36,wangchunxiu,37,验证和确认(V&V),确认(Validation),是要检查产品是否完成了它应该完成的任务,是否可发挥它预定的作用。强调,产品,的正确性,验证(Verification),是要检查某个阶段的结果是否满足在该阶段给出的设计文档的要求,强调,过程,的正确性,wangchunxiu37验证和确认(,37,wangchunxiu,38,例:Hubble space telescope,该例子虽不是一个软件,但验证和确认同样适用于软件测试。绝对不能假定产品说明书是对的。如果验证产品说明书并对最终产品进行确认,就有望Hubble避免天文望远镜的问题。,wangchunxiu38例:Hubb,38,wangchunxiu,39,测试与调试,测试:Test,目的是发现缺陷,通常,在受控的条件下(正常的条件和异常的条件)运行程序并评估结果。,做测试的可以是开发人员、测试团队、QA团队及最终用户,调试:Debug,目的是定位并修复故障,属于开发活动。,调试是软件开发人员的工作,wangchunxiu39测试与调试测,39,wangchunxiu,40,软件测试的对象,软件测试并不等于程序测试。软件测试应该贯穿整个软件产品开发过程,软件产品不仅仅是程序,软件开发过程中的各种工作产品以及最后要打包发布的软件产品等也都是我们要测试的对象。,wangchunxiu40软件测试的对,40,wangchunxiu,41,软件开发过程中的各种工作产品,客户需求:,通过对客户需求的研究、提炼、分析以便确定软件产品应该具备哪些功能。,产品规格说明书:,产品规格说明书真正地定义了产品是什么、有哪些功能、外观如何。,软件设计文档,:它相当于一幢建筑的蓝图,具体包括软件的系统设计和详细设计文档、程序代码及代码注释。,测试文档:,测试文档是完整的软件产品的一部分,具体包括:测试计划、测试用例、缺陷报告、测试工具和自动化测试、测试度量、统计和总结。,当软件产品要打包发布时,不仅仅发布的是代码,还包括很多,支持内容,,这些支持内容包括:帮助文档、用户手册、样表和示例、标签和不干胶、产品支持信息、图标和标志、错误信息、广告和宣传资料、安装、说明文件等。,wangchunxiu41软件开发过程,41,本次课后任务1,以组为单位交叉检查上次任务完成情况,并收集所做的作业,按一下格式报检查结果:,wangchunxiu,42,注:学号只写后三位即可,本次课后任务1以组为单位交叉检查上次任务完成情况,并收集所做,42,本次课后任务2,以组为单位完成以下任务:(100分),软件质量模型,软件产品有哪些质量属性?,尝试举例说明每个软件质量属性,思考软件质量保证与测试之间的关系,基本的测试过程包括哪几个阶段?假如现在让你们对一个很小的软件如计算器进行测试,你应该怎么做?描述过程,你知道哪些软件测试的原理?,wangchunxiu,43,本次课后任务2以组为单位完成以下任务:(100分)wangc,43,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!