软件测试技术 课件 项目一 认识软件测试_第1页
软件测试技术 课件 项目一 认识软件测试_第2页
软件测试技术 课件 项目一 认识软件测试_第3页
软件测试技术 课件 项目一 认识软件测试_第4页
软件测试技术 课件 项目一 认识软件测试_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

项目一

认识软件测试了解IT行业发展历史了解软件测试的发展历史了解软件测试的发展现状及前景了解软件测试的目的了解软件缺陷的定义了解软件研发模型掌握软件测试模型能够根据项目需求选择合适的软件研发模型

能够根据项目需求选择合适的软件测试模型感受我国在软件领域的迅猛发展,提升民族自豪感树立科技报国的决心培养认真细致的工匠精神任务一

了解IT行业任务二

了解软件测试的历史任务三

了解软件测试的发展现状、前景及从业要求任务四

认知软件测试任务五

认识软件研发模型与软件测试模型任务一

了解IT行业任务一

了解IT行业IT(InformationTeachnology)是信息科技首字母的缩写,IT行业是指以计算机和通信技术为基础的信息技术产业,涵盖了很多领域,大致上可分为硬件、软件和应用三个层面。一、IT行业概述任务一

了解IT行业1946年,在美国宾夕法尼亚大学的莫尔电机学校,人类历史上的第一台电子计算机埃尼阿克(ENIAC)诞生了。随后70多年的岁月里,计算机逻辑元件的迭代更新带来计算机性能的快速提升,CPU运行速度更快,存储设备容量日渐增大,计算机软件也随之经历了巨大的变革。二、IT行业历史任务一

了解IT行业二、IT行业历史1.第一代电子管计算机(1946—1959年)

第一代电子管计算机采用电子管作为基本逻辑元件。其体积大、耗电量大、寿命短、可靠性低、成本高;主存储器采用水银延迟线或静电储存管,容量很小;外存储器(外存或辅存)使用了磁鼓;输入/输出装置主要采用穿孔卡;此时的计算机没有系统软件,用机器语言和汇编语言编程,计算机只能在少数尖端领域中得到运用,一般用于科学,军事和财务等方面的计算,其运算速度仅为每秒数千至数万次。任务一

了解IT行业二、IT行业历史2.第二代晶体管计算机(1960—1964年)第二代晶体管计算机采用晶体管等半导体器件作为逻辑元件。与电子管相比,其体积小、耗电少、速度快、价格低、寿命长;主存储器采用磁性材料制成磁芯;外存储器采用磁盘、磁带,存储器容量有了较大提升;计算机软件技术也取得了较大发展,编程语言取得了不小的发展,此时出现了高级程序设计语言,如FORTRAN语言;计算机开始出现操作系统,大大提高了它的工作效率,计算机开始进入实时过程控制和数据处理领域,运算速度达到每秒数百万次。任务一

了解IT行业二、IT行业历史3.第三代中小规模集成电路计算机(1965-1969年)第三代中小规模集成电路计算机使用中小规模集成电路作为逻辑元件。上世纪60年代初期,美国的基尔比和诺伊斯发明了集成电路,引发了电路设计革命,比手指甲还小的晶片上包含了几千个晶体管元件。其体积更小,耗电更少,寿命更长,价格更低、可靠性更高;前两代计算机主存储器以磁芯为主,从此时开始使用半导体存储器,存储容量大幅度提升,集成电路的集成度以每3-4年提高一个数量级的速度增长;计算机系统软件与应用软件迅速发展,出现了分时操作系统和会话式语言,操作系统日趋完善;运算速度可达每秒几十万次至几百万次基本运算。任务一

了解IT行业二、IT行业历史4.第四代大规模、超大规模集成电路计算机(1970年至今)第四代大规模、超大规模集成电路计算机采用了大规模、超大规模集成电路作为逻辑元件,1967年和1977年分别出现了大规模和超大规模集成电路,自此以后,计算机性能发生巨大改变,例如1985年英特尔公司推出的第一个32位80386微处理器,在面积约为10mm×l0mm的单个芯片上,可以集成大约32万个晶体管;其主存储器采用半导体存储器,容量已达第三代计算机外存储器的水平;外存储器方面,软盘和硬盘的容量成百倍增加,并开始使用光盘、U盘;输入设备出现了光字符阅读器、触摸输入设备和语音输入设备等,操作更加简洁、灵活;输出设备已逐步以激光打印机为主,字符和图形输岀更加逼真、高效。任务一

了解IT行业三、IT行业发展现状截至2022年6月,我国网民规模为10.51亿,互联网普及率达74.4%,互联网已经成为我国民众生活的必需品。在我国,超过十亿用户接入互联网,形成了全球规模最大、应用渗透最强的数字社会,日常生活随处可见“手机控”,互联网应用和服务的广泛渗透构建起数字社会的新形态。王者荣耀、今日头条、抖音等软件,更是彻底的改变了读者的碎片化时间利用方式,8.88亿人看短视频、6.38亿人看直播,短视频、直播正在成为全民新的生活方式;使用淘宝、京东等子商务平台,足不出户就可以买遍全球;使用美团、饿了吗等软件,读者可以很便利的在家享用全城美食,8.12亿人网购、4.69亿人叫外卖,人们的购物方式、餐饮方式发生了明显变化。任务二

了解软件测试的历史任务二

了解软件测试的历史一、软件测试概述计算机软件是计算机系统中一系列计算机指令序列构成的能完成的特定功能的程序及文档。随着软件行业的迅速发展,不同类型的软件被深入应用于人类社会生活各领域,软件系统的规模越来越大,复杂性与日俱增,软件缺陷的数量及其错误概率逐渐增加。一些重要的软件系统,如航空航天自动控制软件、国家军事防御系统、银行结算系统、证券交易系统、医疗诊断系统等如果出现重大缺陷,可能会造成灾难性的后果。水手一号是水手计划中第一个探测器,在1962年采用擎天神运载火箭发射,这是“水星计划”开始后的第一次发射,得到了多方关注,7月22日火箭点火升空,载着400斤重的水星一号奔向金星。接下来的一幕让在成所有的人员瞠目结舌,升空5分钟后因不明故障火箭偏离开始轨道,为了防止其坠落造成二次伤害,美国空军将其摧毁。首次发射的失败,给美国带来了沉重的打击。任务二

了解软件测试的历史一、软件测试概述软件系统的规模越来越大,复杂性与日俱增,软件缺陷的数量及其错误概率逐渐增加,重要软件的缺陷可能会带来巨大的影响。如何衡量“看不见,摸不着”的非有形产品,软件产品的质量呢?任务二

了解软件测试的历史一、软件测试概述软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入一些数据而得到其预期的结果),通过人工或者自动检测的方式,使用测试用例去运行程序,弄清楚预期结果与实际结果之间的差异,为了发现错误而审查软件文档、检查软件数据和执行程序代码的过程。一、软件测试概述任务二

了解软件测试的历史二、软件测试发展历程任务二

了解软件测试的历史1973年,比尔.黑则尔(BillHetzel)给出软件测试的第一个定义:“软件测试就是对程序能够按预期的要求运行建立起的一种信心。”该方法是试图验证软件是“工作的”,这是第一类软件测试方法。任务二

了解软件测试的历史二、软件测试发展历程任务二

了解软件测试的历史二、软件测试发展历程1979年,迈尔斯(Myers)提出软件测试的目的是证伪,即“软件测试是以发现错误为目的而运行的程序或系统的执行过程”。他还给出了与测试相关的三个重要观点,那就是:“测试是为了证明程序有错,而不是证明程序无错误;一个好的测试用例是在于它能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误的测试。”这就是软件测试的第二类方法。二、软件测试发展历程任务二

了解软件测试的历史二、软件测试发展历程任务二

了解软件测试的历史1983年,比尔.黑则尔(BillHetzel)提出:“测试是以评价一个程序或系统属性为目标的任何一种活动,测试是对软件质量的度量。”与此同时,电气和电子工程师协会(IEEE)对软件测试的定义是“使用人工或自动的手段来运行或测量软件系统的过程,目的是检验软件系统是否满足前期需求分析的规定,并找出与预期结果之间的差异。”二、软件测试发展历程任务二

了解软件测试的历史任务三

了解软件测试的发展现状、前景及从业要求进入21世纪后,软件测试理论和技术进一步发展,软件测试与软件开发由相对独立逐渐开始出现既独立又融合的特性。开发人员承担部分软件测试的责任,同时,测试人员也将更多参与测试代码的开发工作,软件开发与测试的边界十分清晰,但过程又融为一体。以敏捷开发模式为代表的新一代软件开发模式,产生和融入了软件开发的新思想、新模式、新策略。一、软件测试的发展现状任务三

了解软件测试的发展现状、前景及从业要求出现了针对软件模型分类的测试技术,具体分为故障模型、并发故障模型、不良习惯模型、诱骗代码模型等。在开展基于模型的测试时,首先要确定软件模型,然后通过检测算法进行检测,若检测算法结果符合质量要求,则能排除该类模型。基于模型的软件测试工具能够自动检测软件中的故障,并且善于发现前期测试并没有发现的一些软件故障及隐患二、软件测试的前景任务三

了解软件测试的发展现状、前景及从业要求软件测试团队一般采用如图所示的组织结构,往往一个测试组长或测试经理带领几个测试工程师,一个小型的软件测试团队在5人左右,可根据工作内容及团队技术规划配备自动化测试、性能测试等不同技术方向的测试工程师。三、软件测试团队架构任务三

了解软件测试的发展现状、前景及从业要求1.测试组长测试组长隶属于测试部门,由测试主管指派,有些公司称测试组长为测试经理。接收到一个项目测试需求后,测试主管会根据项目实际情况,如项目技术要求、业务要求,指派合适的测试工程师担当测试组长角色,由其负责该项目的所有测试工作。2.测试设计人员测试设计人员一般由高级测试工程师担当,负责项目测试方法设计,测试用例设计,性能测试步骤、流程、脚本、场景设计等。很多公司将该角色与测试工程师重叠,不严格区分测试设计人员与测试工程师角色。三、软件测试团队架构任务三

了解软件测试的发展现状、前景及从业要求3.测试工程师测试工程师的实际工作内容大多数是执行测试用例,进行系统功能测试,经过多次版本迭代,完成系统测试。一般由初级测试工程师、中级测试工程师担当。4.自动化或性能测试工程师一个测试小组一般配备一个自动化或性能测试工程师,以便开展自动化测试或性能测试。三、软件测试团队架构任务三

了解软件测试的发展现状、前景及从业要求四、软件测试工程师岗位要求任务三

了解软件测试的发展现状、前景及从业要求1.技术技能需求(1)岗位基础要求(2)软件测试相关技术(3)相关软件开发知识(4)行业知识2.职业素质(1)责任心(2)沟通能力(3)团队合作精神(4)耐心、细心、信心(5)良好的文档编写能力四、软件测试工程师岗位要求任务三

了解软件测试的发展现状、前景及从业要求任务四

走进软件测试1.发现被测对象与用户需求之间的差异,即软件缺陷。2.寻找并解决缺陷,提高客户的使用体验。3.帮助开发工程师找到开发过程中存在的问题,包括软件开发模式、工具与技术方面的不足,预防下次缺陷的产生。由于软件测试的目标是暴露程序中的错误,即使从心理学角度看,由程序的编写者自己进行测试也是不恰当的。在综合测试阶段通常由专门的测试人员组成测试小组来完成测试工作。此外,我们应认识到100%没有缺陷的软件是不存在的,即使经过了最严格的测试后,仍然会有缺陷隐藏在程序中。一、软件测试目的任务四

走进软件测试二、软件缺陷概述任务四

走进软件测试软件缺陷(Defect),常常又被叫做Bug。Bug一词的原意是“臭虫”或“虫子”,为何我们管软件缺陷叫做Bug呢?二、软件缺陷概述任务四

走进软件测试“马克二型”计算机世界上第一个计算机BugGraceHopper

二、软件缺陷概述任务四

走进软件测试Therac-25是加拿大原子能有限公司所生产的一种辐射治疗的机器。由于其软件设计时有瑕疵,致命的超剂量设定导致在1985年6月到1987年1月之间的六件已知的医疗事故中,出现患者死亡或严重辐射灼伤。二、软件缺陷概述任务四

走进软件测试软件缺陷,又称做Bug,是计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。二、软件缺陷概述任务四

走进软件测试1.软件没有实现产品规格说明所要求的功能模块;2.软件出现了产品规格说明指明不应该出现的错误;3.软件实现了产品规格说明没有提到的功能模块;4.软件没有实现虽然产品规格说明没有明确提及但应该实现的目标;5.软件难以理解,不容易使用,运行缓慢,或从测试员的角度看,最终用户会认为不好的模块。二、软件缺陷概述任务四

走进软件测试缺陷标识:缺陷标识是标记某个缺陷的一组符号,每个缺陷必须有一个唯一的标识;缺陷类型:缺陷类型是根据缺陷的自然属性划分的缺陷种类;二、软件缺陷概述任务四

走进软件测试3.缺陷严重程度:缺陷严重程度是指因缺陷引起的故障对软件产品的影响程度;二、软件缺陷概述任务四

走进软件测试4.缺陷优先级:缺陷的优先级指缺陷必须修复的紧急程度;二、软件缺陷概述任务四

走进软件测试5.缺陷状态:缺陷状态指缺陷通过一个跟踪修复过程的进展情况;二、软件缺陷概述任务四

走进软件测试6.缺陷来源:缺陷来源指引起缺陷的起因。任务四

认识软件研发模型与软件测试模型一、软件研发模型任务五

认识软件研发模型与软件测试模型软件研发模型是软件生产过程中分析、设计、研发活动所遵循的框架模式。一个常见的软件研发活动包括需求分析、概要设计、详细设计、编码、集成联调等多个环节。一、软件研发模型任务五

认识软件研发模型与软件测试模型1.瀑布模型一、软件研发模型任务五

认识软件研发模型与软件测试模型优点:瀑布模型为整个项目划分了清晰的检查点,当一个阶段完成之后,只需要把全部精力放在后面的开发上即可。这有利于大型软件开发人员的组织管理及工具的使用与研究,可以提高开发的效率。缺点:瀑布模型是按照线性方式进行的,无法适应用户的需求变更,用户只能等到最后才能看到开发成果,这增加了开发风险。一、软件研发模型任务五

认识软件研发模型与软件测试模型2.

原型模型一、软件研发模型任务五

认识软件研发模型与软件测试模型优点:与瀑布模型相比,快速原型模型规避了需求不明确带来的风险,适用于不能预先确定需求的软件项目。缺点:快速原型模型的关键在于快速构建软件原型,但准确地设计出软件原型存在一定的难度,此外,这种开发模型也不利于开发人员对产品进行扩展。一、软件研发模型任务五

认识软件研发模型与软件测试模型3.

螺旋模型一、软件研发模型任务五

认识软件研发模型与软件测试模型优点:螺旋模型融合了瀑布模型和快速原型模型,它最大的特点是引入了其他模型所忽略的风险分析。如果项目不能排除重大风险,就停止项目从而减小损失,这种模型比较适用于开发复杂的大型软件。缺点:螺旋模型开发周期较长,有时会跟不上软件技术的发展,可能出现软件按开发完毕后,和当前的技术水平有较大的差距,无法满足当前用户需求的情况。一、软件研发模型任务五

认识软件研发模型与软件测试模型4.

RUP模型一、软件研发模型任务五

认识软件研发模型与软件测试模型优点:RUP模型是迭代式开发,通过不断迭代细化对问题的理解,降低项目开发风险,提高软件开发效率。而RUP模型独立的、可替换的、模块化的组件体系结构方便管理,便于复用。缺点:该开发模型比较复杂,因此在模型的运用掌握上需花费较大成本,并对项目管理提出较高的要求。一、软件研发模型任务五

认识软件研发模型与软件测试模型5.

敏捷模型一、软件研发模型任务五

认识软件研发模型与软件测试模型优点:敏捷开发的高适应性,凸显了以人为本的特性,能够更加灵活并且充分利用每个开发者的优势,调动每位开发者的工作热情。缺点:但是由于项目周期很长,如果中途更换开发人员,没有文档资料造成交接困难。二、软件测试模型任务五

认识软件研发模型与软件测试模型类比于软件开发模型,软件测试也有过程模型。软件测试过程模型是对测试过程的一种抽象,用于定义软件测试的流程和方法,指的是软件测试和开发阶段的对应关系,它可以被用来指导整个软件测试过程。二、软件测试模型任务五

认识软件研发模型与软件测试模型1.V模型二、软件测试模型任务五

认识软件研发模型与软件测试模型优点:将复杂的测试工作分成了目标明确的小阶段完成,具有阶段性、顺序性和依赖性,它既包含了对于源代码的底层测试也包含了对于软件需求的高层测试。缺点:只能在编码之后才能开始测试,早期的需求分析等前期工作没有涵盖其中,因此它不能发现需求分析等早期的错误,这为后期的系统测试、验收测试埋下了隐患,仅仅适合中小项目的测试。二、软件测试模型任务五

认识软件研发模型与软件测试模型2.

W模型二、软件测试模型任务五

认识软件研发模型与软件测试模型优点:测试范围不仅包括程序,还包括需求分析、软件设计等前期工作,这样有利于尽早全面的发现问题。缺点:它将软件开发过程分成需求、设计、编码、集成等一系列的串行活动,无法支持迭代、自发性等需要变更调整的项目。二、软件测试模型任务五

认识软件研发模型与软件测试模型3.

H模型测试准备测试开始测试执行测试流程概要设计流程二、软件测试模型任务五

认识软件研发模型与软件测试模型1.测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。2.可以充分体现测试过程。3

温馨提示

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

评论

0/150

提交评论