软件测试培训讲义-3软件测试概念ppt课件_第1页
软件测试培训讲义-3软件测试概念ppt课件_第2页
软件测试培训讲义-3软件测试概念ppt课件_第3页
软件测试培训讲义-3软件测试概念ppt课件_第4页
软件测试培训讲义-3软件测试概念ppt课件_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

.,软件测试培训讲义,深圳市软件行业协会培训中心,.,课程目的,了解软件工程的基本概念和过程了解软件质量定义和软件质量保证过程深入掌握软件测试原理、方法、过程通过实战掌握测试策略、技术,.,第一部分软件测试的原理第三章,软件测试概念,.,目的与内容,软件危机软件缺陷是什么软件测试职业发展软件测试人员应具备的素质和技能软件测试基本概念软件测试的目的软件测试的重要性软件测试的原则软件开发与软件测试,.,第一部分:软件测试的原理第三章:软件测试概念,软件危机,.,软件危机的产生,软件是人编的所以不完美实例:1994-1995,迪斯尼的狮子王系统不支持问题Intel的pentium处理器1994年浮点除法缺陷200年8月28日,1.13MHZ处理器一个可能导致运行程序被挂起的执行指令问题1999年12月3日,美国航天局火星极地登陆飞船失踪1991年爱国者导弹防御系统系统时钟错误积累造成跟踪系统失去精确度千年虫,世界各地解决2000年错误超过数亿美元,.,软件危机的产生,软件是人编的所以不完美实例:1994-1995,迪斯尼的狮子王系统不支持问题:迪斯尼94年秋开发了一个面向儿童的游戏,当年卖得非常火,几乎是美国儿童,人手一套,但在圣诞节后的第一天,迪斯尼的投诉电话就被打爆了,因为这个有戏在很多不通类型的PC上都不能运行,导致公司损失惨重。点评:典型的兼容性测试没做好,.,软件危机的产生,软件是人编的所以不完美实例:1991年爱国者导弹防御系统系统时钟错误积累造成跟踪系统失去精确度:由于系统始终的一个很小的计时错误,积累起来到14小时后,跟踪系统不再准确点评:没有进行压力测试,.,软件危机的产生,软件是人编的所以不完美实例:千年虫,世界各地解决2000年错误超过数亿美元:由于存储一个年份需要四个数字,即需要四个字节的存储空间,在70年代那个视存储空间为命的年代,把年的表示变成了两位,即:1981年存储为81年,而到2000年的时候,存储器记录的就变成了00年,这么一个小错误,是全球更换或升级系统所费估计达到了数千亿美元。点评:测试的边界问题没覆盖,.,第一部分:软件测试的原理第三章:软件测试概念,软件缺陷,.,“臭虫”的由来,人们将软件错误称为“臭虫”,这是因为第一个有记载的电脑故障是由线路上的臭虫造成的。就是我们通常称的“BUG”。,.,软件失败的术语描述,缺点(defect)问题(problem)谬误(fault)矛盾(inconsistency)失败(failure)偏差(variance)毛病(incident)特殊(feature)异常(anomaly)错误(error)缺陷(bug),.,软件失败的几个定义,错误:人类会犯错误。缺陷:缺陷是错误的结果。失效:当缺陷执行时会发生失效。事故:当出现失效时,可能会也可能不会呈现给用户。,.,软件缺陷,软件未达到产品描述表明的功能。软件出现了产品描述指明不会出现的错误。软件功能超出产品描述指明范围。软件未达到产品描述虽未指出但应达到的目标。软件测试人员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。,.,软件缺陷的分类,以出现相应错误的开发阶段来划分;以相应失效产生的后果来划分;以解决难度来划分;以不解决会产生的风险来划分;根据异常出现的频率来划分。,.,软件缺陷产生的原因,软件缺陷产生的原因有很多,但最主要的原因要归咎于产品描述,.,软件缺陷的寄生虫性,找到的软件缺陷越多,就说明软件缺陷越多,原因:程序员的疲倦程序员往往犯同样的错误某些软件的缺陷其实是大灾难的征兆,.,软件测试的杀虫剂现象,软件测试越多,其免疫力越强的现象,克服方法:不断编写不同的新的测试程序对程序的不同部分进行测试,.,软件测试的不修复原则,并非所有软件缺陷都能修复,不需要修复软件缺陷的原因:没有足够的时间不算真正的软件缺陷修复的风险太大不值得修复,.,Pareto原则,Pareto原则暗示着测试发现的错误中的80%很可能起源于程序模块中的20%。,.,软件测试员的目标,发现软件缺陷,.,第一部分:软件测试的原理第三章:软件测试概念,软件测试职业发展,.,测试团队的责任,事后的检测测试活动,大多数是一种检验活动,他主要是对事件完成后的一种检测和验证事后检测的力度事后检测的力度,在于对事件或活动的细分,也就是是检测的力度事后检测的精度事后检测的精度,在于对事件或活动的数据化,也就是每个检测力度下的量化,.,测试团队的责任发展,事后的检测,增加检测力度,增加检测精度,改进和优化,问题预测,.,测试人员面临的机遇,我们的机遇:软件产业蒸蒸日上亲身参加我国赶超世界先进水平的竞争,就业机会多锻炼提高个人素质挑战性的环境更锻炼人需要研发适合我国实际状况的最佳测试技术、方法、管理,.,测试人员的使命,测试人员的使命和重担:做为测试人员应怎样武装自己,迎接新时代软件测试的需求和挑战?使命1:为我国软件测试领域赶超世界先进水平贡献我们的最大力量!使命2:从现在做起:培养优秀测试技术和管理人才!,.,第一部分:软件测试的原理第三章:软件测试概念,软件测试人员应具备的素质,.,测试人员应具备的素质,从人的基本素质而言,需要具备以下素质:探索精神:不害怕陌生环境,喜欢装新软件,总是不停尝试,寻找转瞬即使的缺陷善于发现问题:喜欢解迷具有创造性:常需要使用超常手段来寻找缺陷追求完美:完美主义者沟通能力:一名理想的测试者必须能够同测试涉及到的所有人进行沟通,.,测试人员应具备的素质,从人的基本素质而言,需要具备以下素质:自信心:开发者指责测试者出了错是常有的事,测试者必须对自己的观点有足够的自信心。如果容许别人对自己指东指西,就不能完成什么更多的事情了幽默感:在遇到狡辩的情况下,一个幽默的批评将是很有帮助的强的记忆力:一个理想的测试者应该有能力将以前曾经遇到过的类似的错误从记忆深处挖掘出来,这一能力在测试过程中的价值是无法衡量的。因为许多新出现的问题和我们已经发现的问题相差无几,.,测试人员应具备的素质,从人的基本素质而言,需要具备以下素质:耐心:一些质量保证工作需要难以置信的耐心。有时你需要花费惊人的时间去分离、识别和分派一个错误。这个工作是那些坐不住的人无法完成的自我督促:干测试工作很容易使你变得懒散。只有那些具有自我督促能力的人才能够使自己每天正常地工作学习能力:需要不断的进行学习新东西,.,测试人员应具备的素质,从技术角度而言,需要具备以下素质:测试能力:即对所测试对象的业务需要比较熟悉,因为测试人员靠什么吃饭?首先是业务的掌握能力,一般来说,大的行业业务(移动支撑、银行、物流等)掌握2年为一段计算机的基本知识:需要掌握一些计算机硬件的基本知识,如:存储原理、处理器指令类型等编码、操作系统、数据库等知识:具体根据所测对象的具体而定,.,测试人员应具备的素质,从技术角度而言,需要具备以下素质:软工的基本知识:软件工程中关于软件开发过程的基本模型,基本理论等测试的理论方法:测试的策略、方法等软件质量标准:软件包的国家、国际质量标准文字表达能力:标准、准确、完整的文字表达能力,.,第一部分:软件测试的原理第三章:软件测试概念,软件测试的基本概念,.,内容和目的,软件测试概述什么是软件测试软件测试的目的软件测试的原则软件测试的工作内容软件测试的重要性,.,软件测试概述,随着信息技术的飞速发展,软件产品已经应用到社会的各个领域,软件产品的质量自然成为人们共同关注的焦点;不论软件的生产者还是软件的使用者,均生存在竞争的环境中;软件开发商为了占有市场,必须把产品质量作为企业的重要目标之一,以免在激烈的竞争中被淘汰出局;用户为了保证自己业务的顺利完成,当然希望选用优质的软件。,.,软件测试概述,软件带来错误的原因很多,具体地说,主要有如下几点:交流不够、交流上有误解或者根本不进行交流软件复杂性程序设计错误需求变化时间压力代码文档贫乏软件开发工具,.,什么是软件测试,什么是软件测试?软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。,.,什么是软件测试,G.J.Myers在中认为:“程序测试是为了发现错误而执行程序的过程.”,.,软件测试定义,软件测试定义:软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。,.,软件测试的目的,(1)预防错误:几乎不可实现(2)发现错误:软件测试目的,找错,.,软件测试的目的,软件测试的目的基于不同的立场,存在着两种完全不同的测试目的。从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。,.,软件测试的目的(续),Myers软件测试目的(1)测试是程序的执行过程,目的在于发现错误;(2)一个好的测试用例在于能发现至今未发现的错误;(3)一个成功的测试是发现了至今未发现的错误的测试。,.,软件测试的目的(续),总而言之,测试的目的是想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果我们成功地实施了测试,我们就能够发现软件中的错误。测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。实施测试收集到的测试结果数据为可靠性分析提供了依据。测试不能表明软件中不存在错误,它只能说明软件中存在错误,.,E.W.Dijkstra指出:“程序测试能证明错误的存在,但不能证明错误不存在.”测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错.,软件测试的目的(续),.,把证明程序无错当作测试目的不仅是不正确的,完全做不到的,而且对做好测试没有任何益处,甚至是十分有害的.软件测试要设法使软件发生故障,暴露软件错误测试的“成功”与“失败”能够发现错误的测试是成功的测试,否则是失败的测试。,软件测试的目的(续),.,“测试的目的是说明程序正确地执行它应有的功能”也是错误的.例:程序Triangle,输入三个整数,表示一个三角形的三个边长,该程序产生一个结果,指出该三角形是等边三角形、等腰三角形还是不等边三角形。为说明其能正确执行它的功能,可使用“测试用例”(3,4,5),(5,5,6),(6,6,6),程序都能给出正确结果,是否就可认为程序是正确的?,软件测试的目的(续),.,软件测试的原则,软件测试的原则1.应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。2.测试用例应由测试输入数据和对应的预期输出结果这两部分组成。3.程序员应避免检查自己的程序。4.在设计测试用例时,应包括合理的输入条件和不合理的输入条件。,.,软件测试的原则,软件测试的原则5.充分注意测试中的群集现象。经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。6.严格执行测试计划,排除测试的随意性。7.应当对每一个测试结果做全面检查。8.妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。,.,软件测试的工作内容,软件测试工作内容?得到需求、功能设计、内部设计说书和其他必要的文档得到预算和进度要求确定与项目有关的人员和他们的责任、对报告的要求、所需的标准和过程(例如发行过程、变更过程、等等)确定应用软件的高风险范围,建立优先级、确定测试所涉及的范围和限制确定测试的步骤和方法部件、集成、功能、系统、负载、可用性等各种测试确定对测试环境的要求(硬件、软件、通信等)确定所需的测试用具(testware),包括记录/回放工具、覆盖分析、测试跟踪、问题/错误跟踪、等等确定对测试的输入数据的要求,.,软件测试的工作内容(续),软件测试工作内容?分配任务和任务负责人,以及所需的劳动力设立大致的时间表、期限、和里程碑确定输入环境的类别、边界值分析、错误类别准备测试计划文件和对计划进行必要的回顾准备白盒测试案例对测试案例进行必要的回顾/调查/计划准备测试环境和测试用具,得到必需的用户手册/参考文件/结构指南/安装指南,建立测试跟踪过程,建立日志和档案、建立或得到测试输入数据,.,软件测试的工作内容(续),软件测试工作内容?得到并安装软件版本进行测试评估和报告结果跟踪问题/错误,并解决它如果有必要,重新进行测试在整个生命周期里维护和修改测试计划、测试案例、测试环境、和测试用具,.,软件测试的重要性,软件产品最大的成本是检测软件错误、修正软件错误的成本。在整个软件开发中:测试工作量50%,.,软件质量问题,以软件测试为中心的软件质量保障技术软件静态测试技术质量软件度量技术控制动态测试技术技术配置管理技术修改控制与管理技术软件测试是保证软件质量,提高软件可靠性的关键,.,测试人员,维护的费用1x10 x100 x,软件测试的重要性,.,.,.,Rational的方法越早测试越好自动的测试测试每一个版本,传统的测试是在代码实现之后进行,.,第一部分:软件测试的原理第三章:软件测试概念,软件开发与软件测试,.,测试到底和开发处在怎么样的一个关系下才能够较好的产生测试应该达到的效果呢?测试部门独立于开发部门。这种

温馨提示

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

评论

0/150

提交评论