免费预览已结束,剩余33页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,8.1面向对象软件测试的基本概念8.2面向对象测试的内容与范围8.3面向对象软件测试技术与方法8.4面向对象软件测试用例设计8.5面向对象测试的基本步骤8.6面向对象测试工具JUnit小结,第8章面向对象的软件测试,2,面向过程的开发方法对过程进行抽象,采用“自顶向下,逐步求精”的思路对要实现的功能模块进行逐层分解,从而简化问题的实现。面向过程方法的不足之处:软件重用性差安全性差软件稳定性和可维护性差,3,面向对象的开发方法的基本思想认为,客观世界是由各种各样的对象组成的,每种对象都有各自的内部状态和运动规律,不同的对象之间的相互作用和联系就构成了各种不同的系统。面向对象开发方法的优点:软件重用性高、安全性高软件可维护性高、容易扩展适用于大型、复杂项目,4,尽管面向对象开发方法提供了一系列可使人们以更高的效率开发出高质量的软件的机制,但最终软件的质量如何,还与开发过程中技术实施的具体情况有关,与开发人员的水平有关,故需要严格测试。,5,1.为什么要使用面向对象的软件测试面向对象软件部件的重用率高,并且继承、封装、多态等机制的使用给面向对象软件带来了新的出错可能性,测试的侧重点应针对这些机制的使用,对软件进行测试。面向对象程序的结构作为一个整体,原有集成测试所要求的逐步将开发的模块搭建在一起进行测试的方法已成为不可能。,6,面向对象软件对每个开发阶段都有不同以往的要求和结果,已经不可能用功能细化的观点来检测面向对象分析和设计的结果。,因此,传统的测试模型对面向对象软件已经不再适用。针对面向对象软件的开发特点,应该有一种新的测试模型。,7,面向对象软件测试是根据面向对象的软件开发过程,结合面向对象的特点提出的。它包括:分析与设计模型测试技术类测试技术(单元测试)对象交互测试技术(集成测试)类层次结构测试技术(集成测试)面向对象系统测试技术,8,2面向对象测试与传统测试的区别,9,3面向对象测试模型(Object-OrientTestModel)面向对象的开发模型:面向对象分析(OOA)面向对象设计(OOD)面向对象编程(OOP)分析阶段产生整个问题空间的抽象描述,在此基础上,进一步归纳出适用于面向对象编程语言的类和类结构,最后形成代码。,10,针对这种开发模型,结合传统的测试步骤的划分,可将面向对象软件的测试分为:面向对象分析的测试OOATest面向对象设计的测试OODTest面向对象编程的测试OOPTest面向对象单元测试OOUnitTest面向对象集成测试OOIntegrateTest面向对象系统测试OOSystemTest,11,测试重点在于完整性和冗余性,包括对认定对象的测试、对认定结构的测试、对认定主题的测试、对定义的属性和实例关联的测试,对定义的服务和消息关联的测试。,包括测试认定的类、测试类层次结构(类的泛化继承和关联)和测试类库。,集中在类功能的实现和相应的面向对象程序风格即数据成员的封装性测试和类的功能性测试上。,OOUnitTest是进行面向对象集成测试的基础。,OOIntegrateTest主要对系统内部的相互服务进行测试,如成员函数间的相互作用,类间的消息传递等。面向对象集成测试不但要基于面向对象单元测试,更要参见OOD或OODTest结果。,OOSystemTest是基于面向对象集成测试的最后阶段的测试,主要以用户需求为测试标准,需要借鉴OOA或OOATest结果。,12,由于面向对象软件与面向过程软件完全不同的思维方式和开发模式,使得面向对象软件的测试的视角从模块转变到了类。由于面向对象的开发往往用到原型开发方法,是一种演化式的开发过程,因而软件测试的H模型对面向对象软件是适用的。,13,8.1面向对象软件测试的基本概念8.2面向对象测试的内容与范围8.3面向对象软件测试技术与方法8.4面向对象软件测试用例设计8.5面向对象测试的基本步骤8.6面向对象测试工具JUnit小结,第8章面向对象的软件测试,14,面向对象分析的测试、面向对象设计的测试、面向对象编程的测试、面向对象单元测试、面向对象集成测试、面向对象系统测试的具体内容自学。(教材P150),15,8.1面向对象软件测试的基本概念8.2面向对象测试的内容与范围8.3面向对象软件测试技术与方法8.4面向对象软件测试用例设计8.5面向对象测试的基本步骤8.6面向对象测试工具JUnit小结,第8章面向对象的软件测试,16,面向对象软件开发的方法越来越受到人们的重视,应用越来越广,但面向对象软件的测试技术却仍处于初级阶段。虽然传统测试的方法有部分可用于面向对象的测试中,但照搬传统的测试方法并不适宜。面向对象软件测试技术与方法包括:分析和设计模型测试技术类测试技术类层次结构测试技术对象交互测试技术,17,8.3.1分析和设计模型测试技术,UML(统一建模语言)在面向对象技术开发中广泛应用,构建模型能帮助开发者理解正在解决的问题、管理正在开发的系统的复杂性、对具体的实现起指导作用。分析与设计模型的测试主要是对分析与设计模型进行测试,找出模型中的错误,其采用的方法是指导性审查。,18,8.3.2类测试技术,面向对象软件产品的基本组成单位是类,从宏观上来看,面向对象软件是各个类之间的相互作用。因此面向对象程序测试的重心是类及类以上的各个层次。类测试的重点是类内方法间的交互和其对象的各个状态,它由与验证类的实现是否和该类的说明完全一致的相关联的活动组成。类测试的对象主要是指能独立完成一定功能的原始类。类的测试用例主要是由方法序列集和相应的成员变量的取值所组成。,19,类测试中需要考虑的因素内容、人员、时间、程度、方法1.类测试的内容类测试的目的主要是确保一个类的代码能够完全满足类的说明所描述的要求。在运行了各种类的测试后,如果代码的覆盖率不完整,这可能意味着该类包含了额外的文档支持的行为,需要增加更多的测试用例来进行测试。,20,2.类测试的时间类测试的开始时间一般在完全说明这个类,并且准备对其编码后不久,就开发一个测试计划。类测试可以在开发过程中的不同位置进行,应该在软件的其它部分使用该类之前执行类的测试。每当一个类的实现发生变化时,就应该执行回归测试。,21,3.类测试的测试人员类测试通常由类的开发人员测试,但最好要求另一个类的开发人员编写测试计划,并且允许对代码进行对立检查。4.类测试的程度用以下两个点衡量测试的充分性:测试了多少类实现了多少类,22,5.类测试的标准面向对象程序是把功能的实现分布在类中。能正确实现功能的类,通过消息传递来协同实现设计要求的功能。因此,类测试主要体现为以下两个方面:数据成员是否满足数据封装的要求类是否实现了要求的功能,23,6.类测试的方法代码检查优点:同行走查,往往能查出5060以上的比较明显的错误不足:易受人为因素影响,代码检查在回归测试方面明显需要更多的工作量,常常和原始测试差不多,24,执行测试用例优点:克服了代码检查的不足缺点:确定测试用例和开发测试驱动程序需要很大的工作量。在某些情况下,构造一个测试驱动程序的工作量比开发这个类的还多,此时就应该评估在使用了这个类的系统之外测试这个类所花的代价和带来的收益。,25,8.3.3类层次结构测试技术,类的层次结构测试就是用来测试类的继承关系的技术,主要是用来测试层次关系的一系列类(包括父类和子类)。测试的方法:用于测试子类的分层增量测试用于测试父类的抽象类测试,26,8.3.4对象交互测试技术,对象交互测试的重点是确保对象的消息传送能够正确进行。执行方式:使用嵌入到应用程序中的交互对象在独立的测试工具提供环境中,通过使得该环境中的对象相互交互而执行,27,8.1面向对象软件测试的基本概念8.2面向对象测试的内容与范围8.3面向对象软件测试技术与方法8.4面向对象软件测试用例设计8.5面向对象测试的基本步骤8.6面向对象测试工具JUnit小结,第8章面向对象的软件测试,28,相比于传统的结构化程序测试,通过软件的IPO视图或者单个模块的算法细节来设计测试用例的方式,面向对象测试侧重于设计适当的操作序列来检查类的状态。,29,要对类进行测试,就必须先确定和构建类的测试用例。类的描述方法有OCL(对象约束语言)、自然语言、状态图等方法,可以根据类说明的描述方法构建类的测试用例。根据类说明确定测试用例根据类的状态转换图来构建类的测试用例,30,8.1面向对象软件测试的基本概念8.2面向对象测试的内容与范围8.3面向对象软件测试技术与方法8.4面向对象软件测试用例设计8.5面向对象测试的基本步骤8.6面向对象测试工具JUnit小结,第8章面向对象的软件测试,31,8.5.1单元测试面向对象的单元是类。一个类可以包含许多不同的操作,一个特殊的操作可以出现在许多不同的类中。所以在面向对象的单元测试中,一个操作功能只能作为一个类的一部分,类中有多个操作(功能),就要进行多个操作的测试。,制定测试计划,单元测试,组装测试,确认测试,32,8.5.2组装测试面向对象软件的组装测试有两种不同的策略:1基于线程测试把合作对应一个输入或事件的类集合组装起来,也就是用响应系统的一个输入或一个事件的请求来组装类的集合。对每个线程都要分别进行组装和测试。,33,2基于使用测试按分层来组装系统,先进行独立类的测试。在独立类测试之后,下一个类的层次叫从属类。从属类用独立类进行测试。这种从属类层的顺序测试直到整个系统被构造完成。,34,8.5.3确认测试,确认测试在系统层进行测试,要考虑类间的联系细节,主要集中在用户可见活动和用户可识别的系统输出上,使用传统软件的黑盒子测试方法,大多使用基于脚本的测试。,35,8.1面向对象软件测试的基本概念8.2面向对象测试的内容与范围8.3面向对象软件测试技术与方法8.4面向对象软件测试用例设计8.5面向对象测试的基本步骤8.6面向对象测试工具JUnit小结,第8章面向对象的软件测试,36,用于测试由Java语言编写的面向对象程序,开源工具。,37,8.1面向
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026事业单位工勤技能-贵州-贵州无损探伤工四级(中级工)历年参考题库含答案详解
- 山西运城芮城陌南 2026 沿黄特色农业岗公务员招录测评试题 招聘 3 人
- 东莞大岭山镇 2026 家具产业服务岗公务员招录理论考卷 招聘 9 人
- 甘肃金昌河西堡 2026 工矿配套岗公务员招录测评试题 招聘 3 人
- 重庆綦江赶水 2026 能源转型岗公务员招录测评试题 招聘 4 人
- 1-Phenyl-2-4-1-2-2-triphenylvinyl-phenyl-1H-phenanthro-9-10-d-imidazole-生命科学试剂-MCE
- 医学影像耳的影像解剖及常见疾病诊断
- 食道异物的诊断及治疗
- 新能源滑板车轮胎项目环境影响报告书
- 塑料制品项目环评编制指南
- 售后技术人员技能等级考核方案
- 铁路除颤仪(AED)采购项目方案投标文件(技术标)
- 检测仪器与仪表课件
- 借调挂职人员管理办法
- 填埋场现场管理制度
- 护理实践中的全人护理理念和实践
- 认知功能障碍患者的护理
- 超星尔雅学习通《国家安全教育(中国人民公安大学)》2025章节测试附答案
- 《德州扒鸡》课件
- 报名表的模板
- 《新媒体对公共管理的影响研究》11000字(论文)
评论
0/150
提交评论