收藏 分销(赏)

测试理论知识.ppt

上传人:丰**** 文档编号:14513587 上传时间:2026-10-03 格式:PPT 页数:55 大小:604.54KB 下载积分:10 金币
下载 相关
测试理论知识.ppt_第1页
第1页 / 共55页
测试理论知识.ppt_第2页
第2页 / 共55页


点击查看更多>>
资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,测试理论知识,1,软件测试基础,课题目标,软件测试的产生,什么是软件测试,软件测试的目标,软件测试的对象,软件测试的原则,软件测试分类,测试生命周期,测试方法和工具,测试策略和流程,理解测试组织,测试文档,测试工程师素质,软件测试的产生,程序规模的爆炸式增长,在程序自身与用户需求之间寻找平衡点,解放程序员,解放售后服务人员,推动软件工程的发展,提高公司信誉和减少客服支出,软件测试的发展,1979,年,,Glenford Myers,,,the art of software testing,1972,年,,Bill Hetzel,软件测试会议,结构化软件测试课程。,the complete guide to software testing,1988,年,,STEP,(,systematic testing and evaluation process,)系统化的测试和评估流程,1996,年,,TCMM,(,testing capability maturity model,)、,TSM,(,testability support model,)、,TMM,(,testing maturity model,),什么是软件测试,测试是一个过程,包括计划、准备、执行以及评估等,。,测试是使用各种可能的技术来发现程序或文档的错误,。,软件测试不再是软件开发的一个阶段,。,什么是软件测试,测试软件就是在控制的条件下操作软件,目的在于:,验证操作是否按照,“,规定,”,进行;,验证(,Verification,):,就是检查或测试条目(包括软件),评价结果与事先规定的需求是否一致。,验证:我们建立的系统正确吗?,确认规定做的事情是否是用户实际需要的;,确认(,Validation,),:,是查看系统的正确性。就是检查规定做的事情是否是用户实际需要做的。,验证:我们建立了正确的系统吗?,错误检测;,错误检测(,Error Detection,),:,测试应该有意制造错误现场,以确定事情是否在不应该发生的时候发生;或者在应该发生的时候而不发生。,看看下面这几句话是否正确?,测试是为了表明程序是正确的;,成功的测试是没有发现错误的测试;,发现错误是软件测试的唯一目的,查找不出错误的测试就是没有价值的;,测试只能查找出程序中的错误,不能证明程序中没有错误;,没有发现错误的测试也是有价值的;,性能(吞吐量,响应时间),测试策略是对测试过程定义,描述测试工程的总体方法和目标。,跟踪编程者的某条逻辑路径。,可用性(Usability),静态测试可以用于对各种软件文档进行测试,是软件开发中十分有效的质量控制方法之一;,各个子功能组合起来,能否达到预期要求的功能,目的是要保证系统所应具有的技术指标和常规过程没有问题。,产品开发人员不允许成为产品的最终测试者。,有许多在动态测试阶段中发现的缺陷可以通过静态,或者在应该发生的时候而不发生。,动态测试检查模块对输入的响应及其逻辑行为。,发现错误是软件测试的唯一目的,查找不出错误的测试就是没有价值的;,软件测试的属性,对于任何一款软件来讲,它的价值在于正确的实现了用户的需求,那么测试的最终目的,就是测试软件是否真正的对于用户的需求进行了实现,并使系统达到用户可以接受的程度。,软件测试是为了发现错误而执行程序的过程;测试是为了证明程序有错,而不是证明程序无错误,;,一个好的测试用例是在于它能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误的测试。,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。,软件测试的目标,简单地说,就是替用户受过,测试的最终目的是确保最终交给用户的产品的功能符合用户的需求,把尽可能多的问题在产品交给用户之前发现并改正。,具体地讲,测试一般要达到下列目标:,1,、确保产品完成了它所承诺或公布的功能,并且所有用户可以访问到的功能都有明确的书面说明。,2,、确保产品满足性能和效率的要求,使用起来系统运行性能低,用户界面不友好、用户操作不方便,(,效率低,),的产品不能说是一 个有竞争力的产品。,用户最关心的不是你的技术有多先进、功能有多强大,而是他能从这些技术、这些功能中得到多少好处。,3,、确保产品是健壮的和适应用户环境的,健壮性即稳定性,是产品质量的基本要求,尤其对于一个用于事务关键或时间关键的工作环境中。,测试和质量的关系,不存在完备的测试。,测试有助于提高软件的质量,但是提高软件的质量不能依赖于测试。,测试与质量的关系很象在考试中,“,检查,”,与,“,成绩,”,的关系。学习好的学生,在考试时通过认真检查能减少因疏忽而造成的答题错误,从而,“,提高,”,了考试成绩(取得他本来就该得的好成绩)。而学习差的学生,他原本就不会做题目,无论检查多么细心,也不能提高成绩。,所以说,软件的高质量是设计出来的,而不是靠测试修补出来的。,软件测试的对象,需求调研,需求分析,产品立项,总体设计,详细设计,程序编码,软件测试的对象,软件测试并不等于程序测试。软件测试应该贯穿整个软件定义与开发整个期间。因此需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应该是软件测试的对象。,在对需求理解与表达的正确性、设计与表达的正确性、实现的正确性以及运行的正确性的验证中,任何一个环节发生了问题都可能在软件测试中表现出来。,测试的基本原则,早测原则:,尽可能早的对软件进行测试,用户原则:,用户才是软件的最终检验者,测试要以用户为标准,独立原则:,产品开发人员不允许成为产品的最终测试者。,中立原则:,测试人员只对软件测试负责,不对软件质量或开发人员负责。,Good-Enough,原则:,不存在完备的,Zero-Bug,测试。,Bug 2-8,原则:,80%,的,bug,在,20%,的模块中被发现;,软件测试的分类,按方法分,按技术分,按阶段分,按技术分,白盒,黑盒,功能,结构,按阶段分,按类型分,需求,设计,单元,集成,系统,系统,集成,验收,静态,动态,按阶段分,测试技术角度分为两大类,黑盒测试,白盒测试,两种测试方法从不同的角度出,发,反映了软件的不同侧面,也,适用于不同的开发环境,白盒测试,白盒测试又称,结构测试,、,玻璃盒测试,。它属于,逻辑驱动测试,是基于程序内部结构的测试。主要,应用于结构化开发环境。,应用程序,测试 由一个或多个用户在多个用户实际使用环境下进行的测试。,受软件分发日期、开发成本及人员等诸多因素的限制,难以进行全面的测试,Rational 公司的 SQA Suite 产品和 Pure 产品。,1972年,Bill Hetzel软件测试会议,结构化软件测试课程。,测试策略是对测试过程定义,描述测试工程的总体方法和目标。,一个模块是否会对另一个模块的功能产生不利影响,内容包括:显示器类型、内存容量、操作系统、多语言版本、不同的打印机类型、客户端数、数据库访问和其他大型设备,可实现无人值守的测试。,是基于用户需求的测试。,为了测试系统,人们把所有可能的输入组合输入系统,然后检测输出。,通过画因果图,在图上标明约束和限制,转换成判定表,选择适合检查程序输入条件的各种组合,设计测试用例;,而学习差的学生,他原本就不会做题目,无论检查多么细心,也不能提高成绩。,连接各个模块时,穿越模块接口的数据是否会丢失,产品开发人员不允许成为产品的最终测试者。,要同通过所有的分支并且要访问每一个入口至少一次。,有效和无效输入都要用于测试系统。,产品开发人员不允许成为产品的最终测试者。,白盒测试,测试者从系统内部进行监测。他们关心的是,“,怎样做的,”,而非,“,做了什么,”,。,测试编码的分支和条件判定,跟踪编程者的某条逻辑路径。,以逻辑为导向。测试者关心的是程序中控制流的所有可能路径的执行情况。,是单元测试(有时也用在集成测试或可操作性测试上)所必需的测试技术,并且几乎都是由技术人员来完成的。,白盒测试技术,语句覆盖,用于验证程序中每一个语句至少执行了一次。这保证了完整的逻辑覆盖。,判定覆盖,改进了语句覆盖。它测试所有正确和错误的分支,要同通过所有的分支并且要访问每一个入口至少一次。但是一旦条件满足它将不必再去该测试语句中包括的其他分支情况。,条件覆盖,目标是测试一个语句中的所有条件,而不是测试每一个判断结果,来保证完整覆盖。,要对程序中的每个判断点及其正确情况和错误情况都至少测试一次才算完成,路径覆盖,保证所有的的路径组合都被调用至少一次,这些组合基于,从所有入口到所有出口,每个条件判断的结果的所有可能组合。,黑盒测试,输入,输出,黑盒测试又称,功能测试,。它属于数据驱动测试,,是基于用户需求的测试。主要应用于快速应,用开发(,RAD,)环境。,黑盒测试,测试者是从系统之外进行监测。他们所关心的是,“,做了什么,”,而非,“,怎样做的,”,。,是以需求和详细使用说明为导向并可用于所有的级别的测试。,系统或工作产品是从功能的角度来定义和考察的。为了测试系统,人们把所有可能的输入组合输入系统,然后检测输出。有效和无效输入都要用于测试系统。,考虑数值的每一种可能类型,考虑范围边界的内侧和外侧。,考虑预想的输入和输出值,黑盒测试适用的几个阶段,单元测试,集成测试,/,构建测试,功能测试,系统测试,Alpha/Beta,测试,验收测试,黑盒测试技术,等值分区,(Equivalence Partitioning),分析每一种值的可能类型决定测试用例,把每个输入或外部条件分离为,有效的等效类型,无效的等效类型,边界值分析,是最有用的测试用例设计方法之一,是对等值分区的改进。,必须选择一个或更多的元素来测试每条边界。,应该同时重视输入条件和输出结果,因果图,通过画因果图,在图上标明约束和限制,转换成判定表,选择适合检查程序输入条件的各种组合,设计测试用例;,黑盒测试和白盒测试,黑盒测试,功能性,关于行为的,数据驱动的,根据输入和各自的输出,白盒测试,结构性的,逻辑驱动,测试基于对程序的了解,测试按类型分,功能测试,目的是保证用户的功能要求和规范得到满足。我们创建测试条件来评估程序的正确性。,结构测试,目的是要保证系统所应具有的技术指标和常规过程没有问题。我们设计结构测试来验证系统是结构合理的并能执行预定任务。结构测试的目标也是保证程序中的技术运用合理,在各组成部分集成起来后,它们能形成一个有机的整体。结构测试并不验证系统功能的正确性,但是验证系统在技术上的正确性。,测试按类型分,功能性测试,监察控制测试,转换测试,文档测试,错误处理测试,功能测试,安装测试,外部接口测试,平行测试,回归测试,事务处理流程测试,可用性测试,(Usability),结构性测试,备份和恢复测试,防意外测试,运行测试,性能测试,安全性测试,多用户测试,测试按阶段分,静态测试,静态测试是用一套属性、经验和标准对所研发产品的特性进行详细的审核,测试对象是静态的。静态测试查看模块的代码文档不测试其改变输入和环境的行为,。,动态测试,动态测试通过运行(或操作)一个接受详细审查的产品并且监测它改变输入和环境的行为来进行确认和验证的过程。动态测试检查模块对输入的响应及其逻辑行为。,静态测试,静态测试的基本特性是在对软件进行分析、检查和测试时不实际运行被测试的程序;,静态测试可以用于对各种软件文档进行测试,是软件开发中十分有效的质量控制方法之一;,在软件开发过程的早期阶段,由于可运行的代码尚未产生,不可能进行动态测试,而这些阶段的中间产品的质量直接关系到软件开发的成败与开销的大小,因此在这些阶段静态测试的作用尤为重要;,静态测试内容,需求定义的静态测试,对需求定义的静态测试着重于测试对用户需求的描述和解释是否完整、准确,符合规范。,设计文档的静态测试,对设计文档的静态测试着重于分析设计是否与需求定义一致,符合规范。,源代码的静态测试,对源代码的静态测试着重于分析实现是否正确、完备,符合规范。,动态测试,所谓动态测试,就是通过运行软件来检验软件的动态行为和运行结果的正确性;,运行软件并非动态测试的目的,通过运行来检验软件是否正确才是动态测试的真正目的;,动态测试包括三个基本要素:,被测试程序;,测试数据;,软件需求规格说明;,动态测试和静态测试的平衡,S,S,S,S,S,S,S,S,S,S,S,S,S,S,D,D,D,D,D,D,D,D,D,D,S,S,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,S,S,S,S,S,有许多在动态测试阶段中发现的缺陷可以通过静态,测试更早地发现,静态测试(,S,)时发现的缺陷,动态测试(,D,)时发现的缺陷,测试生命周期,需求评审,设计评审,代码评审与单元测试,集成测试,系统测试,用户验收测试,开发周期与测试阶段(,V-,模型),开发周期与测试阶段(,W-,模型),客需,软需,设计,编码,需求测试,设计测试,功能测试,代码测试,单元测试,集成测试,构建,集成,验收,系统测试,验收测试,6,4,9,11,13,10,12,14,7,5,3,1,2,8,测试计划,测试执行,时间,单元测试,模块,出错处理,模块接口,局部数据结构,边界条件,执行路径,全局变量定义是否统一,调用参数是否匹配,数据定义、,使用,循环边界,输入边界,关键路径,重要路径,非正常输入异常,系统自身的异常,单元测试,单元测试的目的,:,测试所有的循环,测试所有的基本路径,测试条件语句,测试数据结构,测试异常情况和出错处理,集成测试,连接各个模块时,穿越模块接口的数据是否会丢失,一个模块是否会对另一个模块的功能产生不利影响,各个子功能组合起来,能否达到预期要求的功能,全局数据结构是否有问题,单个模块的误差累计效应,系统联调,将通过验收测试的软件,作为整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行(使用)环境下,对计算机系统进行一系列组装测试和确认测试。,内容包括:显示器类型、内存容量、操作系统、多语言版本、不同的打印机类型、客户端数、数据库访问和其他大型设备,系统测试,有效性测试,在模拟的环境下,运用黑盒测试的方法,验证所测软件是否满足,用户需求说明书,列出的要求,是否符合测试设计,设计复查,保证软件配置的所有成分都齐全,各方面的质量都达到要求,具有维护阶段所必需的细节,系统测试的种类,数据量,使产品接受大量的输入,可用性(,Usability,),衡量用户的反映(如以十分制评分),.,性能,衡量在不同情况下的响应速度,配置,配置不同的硬件,/,软件,如衡量设置时间,兼容性,-,与其它应用程序,可靠性,/,可用性(,Availability,),衡量在相当长时间内的系统正常运行时间,可维护性,强加一些活动使应用程序停机,衡量恢复的时间,安全性,对危险的企图的经受能力,系统测试的种类,资源使用,衡量内存和磁盘空间的利用等,可安装性,在不同情况下进行安装,耐用性,在各种情况下的服务程序,负载,/,压力系统经受极端大量的数据和大量的通信可访问性,用户进入、操纵和退出是否方便?,响应性,应用程序允许用户多快地完成特定的目标?,高效性,为完成某项功能,所需的步骤在多大程度上降至最低,易理解性,产品是否容易被理解,文档和帮助是否容易被理解,系统测试的种类,测试,(,确认测试,),测试,由一个用户在公司内环境下进行的测试;一般是公司或组织内部模拟用户的自我测试,真实的操作环境,模拟的数据,在实验室条件下,系统专业人员出席的,观察员记录错误、使用问题等,测试,(,验证测试,),测试,由一个或多个用户在多个用户实际使用环境下进行的测试。是由实际用户检验软件的适用性的测试。,逼真的环境,使用实际的数据,没有系统专业人员出席,性能,(,吞吐量,响应时间,),负载高峰时的性能,人性因素测试,方法和步骤,备份和恢复等,验收测试,验收测试,用户在实际使用环境下进行的测试。是用户对软件的验收性测试。,真实的环境,使用实际的数据,系统专业人员及其他相关人员出席,功能、性能,测试时除了考虑软件的功能和性能外,还应对软件的可移植性、兼容性、可维护性、错误的恢复功能等进行确认,方法和工具,手工测试,不引入自动化测试工具的纯手工测试。一般用于功能测试。,擅长业务逻辑测试。,手工测试有人为的因素,运行用例要求高素质测试人员。,测试的规模受限,很难模拟并发行为。,自动化测试,引入自动化测试工具,不需手工干预。一般用于结构测试。,可实现无人值守的测试。,掌握难度较大,前期工作量大。,手工和自动相结合,方法和工具,手工测试存在的问题:,反复测试带来的倦怠情绪及其他人为因素使得测试标准前后不一,测试花费的时间越长,测试的严格性也就越低,受软件分发日期、开发成本及人员等诸多因素的限制,难以进行全面的测试,难以对不可视对象或对象的不可视属性进行测试,对测试过程中发现的大量缺陷缺乏科学、有效的管理手段,责任变的含混不清,没有人能向决策层提供精确的数据,以便度量当前的工作进度及工作效率,自动测试的优势,所谓自动测试,实际上是将大量的重复性工作交给计算机去完成,节约大量的人力、物力、资金、时间等资源,并且测试脚本可以重复利用(可以是不同的项目)。,自动测试工具简介,Rational,公司的,SQA Suite,产品和,Pure,产品。其中,Pure,属于白盒测试,而,SQA,Suite,基本上是黑盒测试,RSW Software,公司的,Web,应用测试工具,e-TEST Suite,美国,MI,公司的企业级测试工具套件,WinRunner,、,LoadRunner,和,TestDirector,VERILOG,公司的工具集,LOGISCOPE,。它贯穿于软件开发、代码评审、单元,/,集成测试、系统测试、以及软件维护阶段,其他自动化测试工具,测试策略,测试策略是对测试过程定义,描述测试工程的总体方法和目标。,测试阶段,测试类型,测试范围,测试频率,结束标准,测试流程,测试需求,测试计划,环境搭建,用例设计,测试执行,测试评估,测试组织和角色,测试组长,测试工程师,测试支持工程师,测试工程师,SPTO,SPP,RM,测试经理,SQA,SCM,客户代表,测试工程师,模块,软件测试中的文档,测试需求,测试计划(或测试方案),测试设计,测试用例,/,数据,测试执行记录,缺陷记录,测试报告(总结,/,评估,-,覆盖率),说明书初稿,日报、周报,测试总结,测试工程师必备的素质,沟通能力,转移情绪能力,责任感,技术能力,自信心,幽默感,很强的记忆力,耐心,怀疑精神,自我督促,谢谢!,谢谢观看,谢谢观看,
展开阅读全文

开通  VIP、SVIP  下载更划算
下载10份以上建议开通 VIP 会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        关注我们

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服