第八章-面向对象的软件测试.ppt

上传人:得****1 文档编号:79214687 上传时间:2023-03-20 格式:PPT 页数:38 大小:512KB
返回 下载 相关 举报
第八章-面向对象的软件测试.ppt_第1页
第1页 / 共38页
第八章-面向对象的软件测试.ppt_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《第八章-面向对象的软件测试.ppt》由会员分享,可在线阅读,更多相关《第八章-面向对象的软件测试.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、8.1 面向对象软件测试的基本概念面向对象软件测试的基本概念8.2 面向对象测试的内容与范围面向对象测试的内容与范围8.3 面向对象软件测试技术与方法面向对象软件测试技术与方法8.4 面向对象软件测试用例设计面向对象软件测试用例设计8.5 面向对象测试的基本步骤面向对象测试的基本步骤8.6 面向对象测试工具面向对象测试工具JUnit小结小结1 1 面向过程面向过程面向过程面向过程的开发方法的开发方法的开发方法的开发方法对过程进行抽象对过程进行抽象对过程进行抽象对过程进行抽象,采用,采用,采用,采用“自顶向下,逐步求精自顶向下,逐步求精自顶向下,逐步求精自顶向下,逐步求精”的思路对要实现的功能模

2、块进行的思路对要实现的功能模块进行的思路对要实现的功能模块进行的思路对要实现的功能模块进行逐层分解,从而简化问题的实现。逐层分解,从而简化问题的实现。逐层分解,从而简化问题的实现。逐层分解,从而简化问题的实现。面向过程方法的面向过程方法的面向过程方法的面向过程方法的不足之处不足之处不足之处不足之处:软件软件软件软件重用性差重用性差重用性差重用性差 安全性差安全性差安全性差安全性差 软件软件软件软件稳定性和可维护性差稳定性和可维护性差稳定性和可维护性差稳定性和可维护性差2 2 面向对象面向对象面向对象面向对象的开发方法的基本思想认为,客观世的开发方法的基本思想认为,客观世的开发方法的基本思想认为

3、,客观世的开发方法的基本思想认为,客观世界是由各种各样的界是由各种各样的界是由各种各样的界是由各种各样的对象组成对象组成对象组成对象组成的,每种对象都有各自的的,每种对象都有各自的的,每种对象都有各自的的,每种对象都有各自的内内内内部状态和运动规律部状态和运动规律部状态和运动规律部状态和运动规律,不同的对象之间的,不同的对象之间的,不同的对象之间的,不同的对象之间的相互作用和联系相互作用和联系相互作用和联系相互作用和联系就构成了各种不同的系统。就构成了各种不同的系统。就构成了各种不同的系统。就构成了各种不同的系统。面向对象开发方法的面向对象开发方法的面向对象开发方法的面向对象开发方法的优点:优

4、点:优点:优点:软件软件软件软件重用性高、安全性高重用性高、安全性高重用性高、安全性高重用性高、安全性高软件软件软件软件可维护性高、容易扩展可维护性高、容易扩展可维护性高、容易扩展可维护性高、容易扩展适用于适用于适用于适用于大型、复杂项目大型、复杂项目大型、复杂项目大型、复杂项目3 3 尽管面向对象开发方法提供了一尽管面向对象开发方法提供了一系列可使人们以更高的效率开发出高系列可使人们以更高的效率开发出高质量的软件的机制,但最终软件的质质量的软件的机制,但最终软件的质量如何,还量如何,还与开发过程中技术实施的与开发过程中技术实施的具体情况有关具体情况有关,与开发人员的水平有与开发人员的水平有关

5、关,故需要,故需要严格测试严格测试。4 41.为什么要使用面向对象的软件测试为什么要使用面向对象的软件测试u面向对象软件部件的面向对象软件部件的面向对象软件部件的面向对象软件部件的重用率高重用率高重用率高重用率高,并且,并且,并且,并且继承继承继承继承、封装封装封装封装、多多多多态态态态等机制的使用给面向对象软件带来了等机制的使用给面向对象软件带来了等机制的使用给面向对象软件带来了等机制的使用给面向对象软件带来了新的出错新的出错新的出错新的出错可能可能可能可能性,测试的性,测试的性,测试的性,测试的侧重点应针对这些机制的使用侧重点应针对这些机制的使用侧重点应针对这些机制的使用侧重点应针对这些机

6、制的使用,对软件进,对软件进,对软件进,对软件进行测试。行测试。行测试。行测试。u面向对象程序的面向对象程序的面向对象程序的面向对象程序的结构作为一个整体结构作为一个整体结构作为一个整体结构作为一个整体,原有集成测试所,原有集成测试所,原有集成测试所,原有集成测试所要求的要求的要求的要求的逐步将开发的模块搭建在一起逐步将开发的模块搭建在一起逐步将开发的模块搭建在一起逐步将开发的模块搭建在一起进行测试的方法进行测试的方法进行测试的方法进行测试的方法已成为不可能。已成为不可能。已成为不可能。已成为不可能。5 5u面向对象软件对每个开发阶段都有不同以往的要求和面向对象软件对每个开发阶段都有不同以往的

7、要求和面向对象软件对每个开发阶段都有不同以往的要求和面向对象软件对每个开发阶段都有不同以往的要求和结果,已经结果,已经结果,已经结果,已经不可能用功能细化的观点不可能用功能细化的观点不可能用功能细化的观点不可能用功能细化的观点来检测面向对象分来检测面向对象分来检测面向对象分来检测面向对象分析和设计的结果。析和设计的结果。析和设计的结果。析和设计的结果。因此,因此,传统的测试模型传统的测试模型对面向对象软件已经对面向对象软件已经不不再适用再适用。针对面向对象软件的开发特点,应该有。针对面向对象软件的开发特点,应该有一种新的测试模型。一种新的测试模型。6 6 面向对象软件测试面向对象软件测试面向对

8、象软件测试面向对象软件测试是根据是根据是根据是根据面向对象的软件开发面向对象的软件开发面向对象的软件开发面向对象的软件开发过程,过程,过程,过程,结合结合结合结合面向对象的特点面向对象的特点面向对象的特点面向对象的特点提出的。它包括:提出的。它包括:提出的。它包括:提出的。它包括:分析与设计分析与设计分析与设计分析与设计模型测试模型测试模型测试模型测试技术技术技术技术类测试技术(类测试技术(类测试技术(类测试技术(单元测试单元测试单元测试单元测试)对象交互测试技术(对象交互测试技术(对象交互测试技术(对象交互测试技术(集成测试集成测试集成测试集成测试)类层次结构测试技术(类层次结构测试技术(类

9、层次结构测试技术(类层次结构测试技术(集成测试集成测试集成测试集成测试)面向对象面向对象面向对象面向对象系统测试系统测试系统测试系统测试技术技术技术技术 7 72面向对象测试与传统测试的区别面向对象测试与传统测试的区别传统测试传统测试传统测试传统测试面向对象测试面向对象测试面向对象测试面向对象测试对象不同对象不同对象不同对象不同面向面向面向面向过程过程过程过程的软的软的软的软件,用件,用件,用件,用结构化结构化结构化结构化方法方法方法方法构建构建构建构建面向面向面向面向对象对象对象对象软件,采用软件,采用软件,采用软件,采用面面面面向对象的概念和原则向对象的概念和原则向对象的概念和原则向对象的

10、概念和原则,用用用用面向对象的方法面向对象的方法面向对象的方法面向对象的方法构建构建构建构建基本单位不同基本单位不同基本单位不同基本单位不同模块模块模块模块类和对象类和对象类和对象类和对象方法和策略不同方法和策略不同方法和策略不同方法和策略不同白盒、黑盒、白盒、黑盒、白盒、黑盒、白盒、黑盒、路径覆盖等路径覆盖等路径覆盖等路径覆盖等类测试、对象交互测试、类测试、对象交互测试、类测试、对象交互测试、类测试、对象交互测试、类层次结构测试等类层次结构测试等类层次结构测试等类层次结构测试等8 83面向对象测试模型面向对象测试模型(Object-Orient Test Model)面向对象的开发模型:面向

11、对象的开发模型:面向对象的开发模型:面向对象的开发模型:面向对象面向对象面向对象面向对象分析分析分析分析(OOAOOA)面向对象面向对象面向对象面向对象设计设计设计设计(OODOOD)面向对象面向对象面向对象面向对象编程编程编程编程(OOPOOP)分析阶段分析阶段分析阶段分析阶段产生产生产生产生整个问题空间的抽象描述整个问题空间的抽象描述整个问题空间的抽象描述整个问题空间的抽象描述,在此,在此,在此,在此基础上,进一步基础上,进一步基础上,进一步基础上,进一步归纳出归纳出归纳出归纳出适用于面向对象编程语言的适用于面向对象编程语言的适用于面向对象编程语言的适用于面向对象编程语言的类和类和类和类和

12、类结构类结构类结构类结构,最后,最后,最后,最后形成形成形成形成代码代码代码代码。9 9 针对这种开发模型,结合传统的测试步骤的划针对这种开发模型,结合传统的测试步骤的划针对这种开发模型,结合传统的测试步骤的划针对这种开发模型,结合传统的测试步骤的划分,可将面向对象软件的测试分为:分,可将面向对象软件的测试分为:分,可将面向对象软件的测试分为:分,可将面向对象软件的测试分为:面向对象面向对象面向对象面向对象分析的测试分析的测试分析的测试分析的测试OOA TestOOA Test面向对象面向对象面向对象面向对象设计的测试设计的测试设计的测试设计的测试OOD TestOOD Test面向对象面向对

13、象面向对象面向对象编程的测试编程的测试编程的测试编程的测试OOP TestOOP Test面向对象面向对象面向对象面向对象单元测试单元测试单元测试单元测试OO Unit TestOO Unit Test面向对象面向对象面向对象面向对象集成测试集成测试集成测试集成测试OO Integrate TestOO Integrate Test面向对象面向对象面向对象面向对象系统测试系统测试系统测试系统测试OO System TestOO System Test1010测试重点在于测试重点在于测试重点在于测试重点在于完整性完整性完整性完整性和和和和冗余性冗余性冗余性冗余性,包括对,包括对,包括对,包括对认

14、定对象认定对象认定对象认定对象的测试、的测试、的测试、的测试、对对对对认定结构认定结构认定结构认定结构的测试、对的测试、对的测试、对的测试、对认定主题认定主题认定主题认定主题的测试、对的测试、对的测试、对的测试、对定义的属性和定义的属性和定义的属性和定义的属性和实例关联实例关联实例关联实例关联的测试,对的测试,对的测试,对的测试,对定义的服务和消息关联定义的服务和消息关联定义的服务和消息关联定义的服务和消息关联的测试。的测试。的测试。的测试。包括测试包括测试包括测试包括测试认定的类认定的类认定的类认定的类、测试、测试、测试、测试类层次结构类层次结构类层次结构类层次结构(类的泛化继(类的泛化继(

15、类的泛化继(类的泛化继承和关联)和测试承和关联)和测试承和关联)和测试承和关联)和测试类库类库类库类库。集中在集中在集中在集中在类功能的实现类功能的实现类功能的实现类功能的实现和相应的面向对象和相应的面向对象和相应的面向对象和相应的面向对象程序风格程序风格程序风格程序风格即即即即数据成员的封装性测试数据成员的封装性测试数据成员的封装性测试数据成员的封装性测试和和和和类的功能性类的功能性类的功能性类的功能性测试上。测试上。测试上。测试上。OO Unit TestOO Unit Test是是是是进行面向对象集成测试进行面向对象集成测试进行面向对象集成测试进行面向对象集成测试的的的的基础基础基础基础

16、。OO Integrate OO Integrate TestTest主要对主要对主要对主要对系统内部的相互服务系统内部的相互服务系统内部的相互服务系统内部的相互服务进行进行进行进行测试,如测试,如测试,如测试,如成员函数间的相互作用成员函数间的相互作用成员函数间的相互作用成员函数间的相互作用,类间的消息传递类间的消息传递类间的消息传递类间的消息传递等。面向对象集成测试不但要等。面向对象集成测试不但要等。面向对象集成测试不但要等。面向对象集成测试不但要基于面向对象单元测基于面向对象单元测基于面向对象单元测基于面向对象单元测试试试试,更要,更要,更要,更要参见参见参见参见OODOOD或或或或OO

17、DOOD TestTest结果结果结果结果。OO System OO System TestTest是基于面向对象是基于面向对象是基于面向对象是基于面向对象集成测试的最后阶集成测试的最后阶集成测试的最后阶集成测试的最后阶段段段段的测试,主要的测试,主要的测试,主要的测试,主要以用户需求为测试标准以用户需求为测试标准以用户需求为测试标准以用户需求为测试标准,需要借鉴需要借鉴需要借鉴需要借鉴OOAOOA或或或或OOAOOA TestTest结果结果结果结果。1111 由于面向对象软件与面向过程软件完全不由于面向对象软件与面向过程软件完全不同的思维方式和开发模式,使得同的思维方式和开发模式,使得面向

18、对象软件的测面向对象软件的测试的视角试的视角从从模块模块转变到了转变到了类类。由于面向对象的开发往往用到由于面向对象的开发往往用到原型原型开发方开发方法,是一种演化式的开发过程,因而软件测试的法,是一种演化式的开发过程,因而软件测试的H模型模型对面向对象软件是适用的。对面向对象软件是适用的。12128.1 面向对象软件测试的基本概念面向对象软件测试的基本概念8.2 面向对象测试的内容与范围面向对象测试的内容与范围8.3 面向对象软件测试技术与方法面向对象软件测试技术与方法8.4 面向对象软件测试用例设计面向对象软件测试用例设计8.5 面向对象测试的基本步骤面向对象测试的基本步骤8.6 面向对象

19、测试工具面向对象测试工具JUnit小结小结1313 面向对象分析的测试、面向对象设计的面向对象分析的测试、面向对象设计的测试、面向对象编程的测试、面向对象单元测试、测试、面向对象编程的测试、面向对象单元测试、面向对象集成测试、面向对象系统测试的具体内面向对象集成测试、面向对象系统测试的具体内容自学。(教材容自学。(教材P150)14148.1 面向对象软件测试的基本概念面向对象软件测试的基本概念8.2 面向对象测试的内容与范围面向对象测试的内容与范围8.3 面向对象软件测试技术与方法面向对象软件测试技术与方法8.4 面向对象软件测试用例设计面向对象软件测试用例设计8.5 面向对象测试的基本步骤

20、面向对象测试的基本步骤8.6 面向对象测试工具面向对象测试工具JUnit小结小结1515 面向对象软件开发的方法越来越受到人们的重面向对象软件开发的方法越来越受到人们的重面向对象软件开发的方法越来越受到人们的重面向对象软件开发的方法越来越受到人们的重视,应用越来越广,但视,应用越来越广,但视,应用越来越广,但视,应用越来越广,但面向对象软件的测试技术面向对象软件的测试技术面向对象软件的测试技术面向对象软件的测试技术却仍处却仍处却仍处却仍处于于于于初级阶段初级阶段初级阶段初级阶段。虽然传统测试的方法有部分可用于面向对。虽然传统测试的方法有部分可用于面向对。虽然传统测试的方法有部分可用于面向对。虽

21、然传统测试的方法有部分可用于面向对象的测试中,但象的测试中,但象的测试中,但象的测试中,但照搬传统的测试方法并不适宜照搬传统的测试方法并不适宜照搬传统的测试方法并不适宜照搬传统的测试方法并不适宜。面向对象软件测试技术与方法包括:面向对象软件测试技术与方法包括:面向对象软件测试技术与方法包括:面向对象软件测试技术与方法包括:分析和设计模型测试分析和设计模型测试分析和设计模型测试分析和设计模型测试技术技术技术技术类测试类测试类测试类测试技术技术技术技术类层次结构测试类层次结构测试类层次结构测试类层次结构测试技术技术技术技术对象交互测试对象交互测试对象交互测试对象交互测试技术技术技术技术16168.

22、3.1 分析和设计模型测试技术分析和设计模型测试技术 UML(统一建模语言)(统一建模语言)在面向对象技术开发中在面向对象技术开发中广泛应用,构建模型能帮助开发者理解正在解决的广泛应用,构建模型能帮助开发者理解正在解决的问题、管理正在开发的系统的复杂性、对具体的实问题、管理正在开发的系统的复杂性、对具体的实现起指导作用。现起指导作用。分析与设计模型的测试分析与设计模型的测试主要是主要是对分析与设对分析与设计模型进行测试计模型进行测试,找出模型中的错误,其采用的方,找出模型中的错误,其采用的方法是法是指导性审查指导性审查。17178.3.2 类测试技术类测试技术 面向对象软件产品的面向对象软件产

23、品的面向对象软件产品的面向对象软件产品的基本组成单位基本组成单位基本组成单位基本组成单位是是是是类类类类,从宏,从宏,从宏,从宏观上来看,面向对象软件是观上来看,面向对象软件是观上来看,面向对象软件是观上来看,面向对象软件是各个类之间的相互作用各个类之间的相互作用各个类之间的相互作用各个类之间的相互作用。因。因。因。因此此此此面向对象程序测试的重心面向对象程序测试的重心面向对象程序测试的重心面向对象程序测试的重心是类及类以上的各个层次是类及类以上的各个层次是类及类以上的各个层次是类及类以上的各个层次。类测试的类测试的类测试的类测试的重点重点重点重点是是是是类内方法间的交互类内方法间的交互类内方

24、法间的交互类内方法间的交互和和和和其对象的其对象的其对象的其对象的各个状态各个状态各个状态各个状态,它由与验证类的实现是否和该类的说明完全,它由与验证类的实现是否和该类的说明完全,它由与验证类的实现是否和该类的说明完全,它由与验证类的实现是否和该类的说明完全一致的相关联的活动组成。一致的相关联的活动组成。一致的相关联的活动组成。一致的相关联的活动组成。类测试的类测试的类测试的类测试的对象对象对象对象主要是指主要是指主要是指主要是指能独立完成一定功能的能独立完成一定功能的能独立完成一定功能的能独立完成一定功能的原始类原始类原始类原始类。类的。类的。类的。类的测试用例测试用例测试用例测试用例主要是

25、由主要是由主要是由主要是由方法序列集方法序列集方法序列集方法序列集和和和和相应的成相应的成相应的成相应的成员变量的取值所组成员变量的取值所组成员变量的取值所组成员变量的取值所组成。1818类测试中需要考虑的因素类测试中需要考虑的因素 内容、人员、时间、程度、方法内容、人员、时间、程度、方法内容、人员、时间、程度、方法内容、人员、时间、程度、方法1.类测试的内容类测试的内容 类测试的类测试的类测试的类测试的目的目的目的目的主要是主要是主要是主要是确保一个类的代码能够完确保一个类的代码能够完确保一个类的代码能够完确保一个类的代码能够完全满足类的说明所描述的要求全满足类的说明所描述的要求全满足类的说

26、明所描述的要求全满足类的说明所描述的要求。在运行了各种类的测试后,如果代码的覆盖率在运行了各种类的测试后,如果代码的覆盖率在运行了各种类的测试后,如果代码的覆盖率在运行了各种类的测试后,如果代码的覆盖率不完整,这可能意味着该类包含了额外的文档支持的行不完整,这可能意味着该类包含了额外的文档支持的行不完整,这可能意味着该类包含了额外的文档支持的行不完整,这可能意味着该类包含了额外的文档支持的行为,需要增加更多的测试用例来进行测试。为,需要增加更多的测试用例来进行测试。为,需要增加更多的测试用例来进行测试。为,需要增加更多的测试用例来进行测试。19192.类测试的时间类测试的时间 类测试的类测试的

27、类测试的类测试的开始时间开始时间开始时间开始时间一般在一般在一般在一般在完全说明这个类,并完全说明这个类,并完全说明这个类,并完全说明这个类,并且准备对其编码后不久且准备对其编码后不久且准备对其编码后不久且准备对其编码后不久,就,就,就,就开发一个测试计划开发一个测试计划开发一个测试计划开发一个测试计划。类测试可以类测试可以类测试可以类测试可以在开发过程中的不同位置在开发过程中的不同位置在开发过程中的不同位置在开发过程中的不同位置进行,应进行,应进行,应进行,应该在软件的其它部分使用该类之前执行类的测试。每当该在软件的其它部分使用该类之前执行类的测试。每当该在软件的其它部分使用该类之前执行类的

28、测试。每当该在软件的其它部分使用该类之前执行类的测试。每当一个类的实现发生变化时,就应该执行回归测试。一个类的实现发生变化时,就应该执行回归测试。一个类的实现发生变化时,就应该执行回归测试。一个类的实现发生变化时,就应该执行回归测试。20203.类测试的测试人员类测试的测试人员 类测试通常由类测试通常由类测试通常由类测试通常由类的开发人员类的开发人员类的开发人员类的开发人员测试,但最好要求测试,但最好要求测试,但最好要求测试,但最好要求另一个类的开发人员另一个类的开发人员另一个类的开发人员另一个类的开发人员编写测试计划,并且允许对代码进编写测试计划,并且允许对代码进编写测试计划,并且允许对代码

29、进编写测试计划,并且允许对代码进行对立检查。行对立检查。行对立检查。行对立检查。4.类测试的程度类测试的程度用以下两个点衡量测试的充分性:用以下两个点衡量测试的充分性:用以下两个点衡量测试的充分性:用以下两个点衡量测试的充分性:测试了测试了测试了测试了多少类多少类多少类多少类实现了实现了实现了实现了多少类多少类多少类多少类21215.类测试的标准类测试的标准 面向对象程序是面向对象程序是面向对象程序是面向对象程序是把功能的实现分布在类中把功能的实现分布在类中把功能的实现分布在类中把功能的实现分布在类中。能。能。能。能正确实现功能的类,通过消息传递来协同实现设计要求正确实现功能的类,通过消息传递

30、来协同实现设计要求正确实现功能的类,通过消息传递来协同实现设计要求正确实现功能的类,通过消息传递来协同实现设计要求的功能。因此,类测试主要体现为以下两个方面:的功能。因此,类测试主要体现为以下两个方面:的功能。因此,类测试主要体现为以下两个方面:的功能。因此,类测试主要体现为以下两个方面:数据成员数据成员数据成员数据成员是否是否是否是否满足数据封装的要求满足数据封装的要求满足数据封装的要求满足数据封装的要求类类类类是否是否是否是否实现了要求的功能实现了要求的功能实现了要求的功能实现了要求的功能 22226.类测试的方法类测试的方法代码检查代码检查代码检查代码检查n优点:优点:优点:优点:同行同

31、行同行同行走查,往往能查出走查,往往能查出走查,往往能查出走查,往往能查出50506060以上的以上的以上的以上的比比比比较明显的错误较明显的错误较明显的错误较明显的错误n不足:不足:不足:不足:易受人为因素影响易受人为因素影响易受人为因素影响易受人为因素影响,代码检查在回归测试方,代码检查在回归测试方,代码检查在回归测试方,代码检查在回归测试方面明显面明显面明显面明显需要更多的工作量需要更多的工作量需要更多的工作量需要更多的工作量,常常和原始测试差不多,常常和原始测试差不多,常常和原始测试差不多,常常和原始测试差不多2323执行测试用例执行测试用例执行测试用例执行测试用例n优点:优点:优点:

32、优点:克服了代码检查的不足克服了代码检查的不足克服了代码检查的不足克服了代码检查的不足n缺点:确定测试用例和开发测试驱动程序缺点:确定测试用例和开发测试驱动程序缺点:确定测试用例和开发测试驱动程序缺点:确定测试用例和开发测试驱动程序需要很大需要很大需要很大需要很大的工作量的工作量的工作量的工作量。在某些情况下,构造一个测试驱动程序。在某些情况下,构造一个测试驱动程序。在某些情况下,构造一个测试驱动程序。在某些情况下,构造一个测试驱动程序的工作量比开发这个类的还多,此时就的工作量比开发这个类的还多,此时就的工作量比开发这个类的还多,此时就的工作量比开发这个类的还多,此时就应该评估应该评估应该评估

33、应该评估在在在在使用了这个类的系统之外测试这个类所花的代价和使用了这个类的系统之外测试这个类所花的代价和使用了这个类的系统之外测试这个类所花的代价和使用了这个类的系统之外测试这个类所花的代价和带来的收益。带来的收益。带来的收益。带来的收益。24248.3.3 类层次结构测试技术类层次结构测试技术 类的类的类的类的层次结构测试层次结构测试层次结构测试层次结构测试就是用来就是用来就是用来就是用来测试类的继承关系测试类的继承关系测试类的继承关系测试类的继承关系的技术,主要是的技术,主要是的技术,主要是的技术,主要是用来测试层次关系的一系列类用来测试层次关系的一系列类用来测试层次关系的一系列类用来测试

34、层次关系的一系列类(包括父(包括父(包括父(包括父类和子类)。类和子类)。类和子类)。类和子类)。测试的方法:测试的方法:测试的方法:测试的方法:用于测试用于测试用于测试用于测试子类的分层增量子类的分层增量子类的分层增量子类的分层增量测试测试测试测试用于测试用于测试用于测试用于测试父类的抽象类父类的抽象类父类的抽象类父类的抽象类测试测试测试测试25258.3.4 对象交互测试技术对象交互测试技术 对象交互测试的对象交互测试的对象交互测试的对象交互测试的重点重点重点重点是是是是确保对象的消息传送能确保对象的消息传送能确保对象的消息传送能确保对象的消息传送能够正确进行够正确进行够正确进行够正确进行

35、。执行方式:执行方式:执行方式:执行方式:使用嵌入到应用程序中的交互对象使用嵌入到应用程序中的交互对象使用嵌入到应用程序中的交互对象使用嵌入到应用程序中的交互对象在独立的测试工具提供环境中,通过使得该环境中的在独立的测试工具提供环境中,通过使得该环境中的在独立的测试工具提供环境中,通过使得该环境中的在独立的测试工具提供环境中,通过使得该环境中的对象相互交互对象相互交互对象相互交互对象相互交互而执行而执行而执行而执行26268.1 面向对象软件测试的基本概念面向对象软件测试的基本概念8.2 面向对象测试的内容与范围面向对象测试的内容与范围8.3 面向对象软件测试技术与方法面向对象软件测试技术与方

36、法8.4 面向对象软件测试用例设计面向对象软件测试用例设计8.5 面向对象测试的基本步骤面向对象测试的基本步骤8.6 面向对象测试工具面向对象测试工具JUnit小结小结2727 相比于相比于传统的结构化程序传统的结构化程序测试,通测试,通过软件的过软件的IPO视图视图或者或者单个模块的算法细节单个模块的算法细节来设计测试用例的方式,来设计测试用例的方式,面向对象测试面向对象测试侧重侧重于设计适当的于设计适当的操作序列操作序列来检查类的状态。来检查类的状态。2828 要对类进行测试,就必须先确定和构建类的测要对类进行测试,就必须先确定和构建类的测要对类进行测试,就必须先确定和构建类的测要对类进行

37、测试,就必须先确定和构建类的测试用例。试用例。试用例。试用例。类的描述方法类的描述方法类的描述方法类的描述方法有有有有OCLOCL(对象约束语言)(对象约束语言)(对象约束语言)(对象约束语言)、自然自然自然自然语言语言语言语言、状态图状态图状态图状态图等方法,可以根据等方法,可以根据等方法,可以根据等方法,可以根据类说明的描述方法类说明的描述方法类说明的描述方法类说明的描述方法构建构建构建构建类的测试用例。类的测试用例。类的测试用例。类的测试用例。根据根据根据根据类说明类说明类说明类说明确定测试用例确定测试用例确定测试用例确定测试用例根据根据根据根据类的状态转换图类的状态转换图类的状态转换图

38、类的状态转换图来构建类的测试用例来构建类的测试用例来构建类的测试用例来构建类的测试用例29298.1 面向对象软件测试的基本概念面向对象软件测试的基本概念8.2 面向对象测试的内容与范围面向对象测试的内容与范围8.3 面向对象软件测试技术与方法面向对象软件测试技术与方法8.4 面向对象软件测试用例设计面向对象软件测试用例设计8.5 面向对象测试的基本步骤面向对象测试的基本步骤8.6 面向对象测试工具面向对象测试工具JUnit小结小结30308.5.1 单元测试单元测试 面向对象的单元是类。面向对象的单元是类。面向对象的单元是类。面向对象的单元是类。一一一一 个类可以包含许多不个类可以包含许多不

39、个类可以包含许多不个类可以包含许多不同的操作同的操作同的操作同的操作,一个特殊的操作可以出现在许多不同的类中一个特殊的操作可以出现在许多不同的类中一个特殊的操作可以出现在许多不同的类中一个特殊的操作可以出现在许多不同的类中。所以在面向对象的单元测试中,所以在面向对象的单元测试中,所以在面向对象的单元测试中,所以在面向对象的单元测试中,一个操作功能只能作为一个操作功能只能作为一个操作功能只能作为一个操作功能只能作为一个类的一部分一个类的一部分一个类的一部分一个类的一部分,类中有,类中有,类中有,类中有多个操作(功能),就要进行多个操作(功能),就要进行多个操作(功能),就要进行多个操作(功能),

40、就要进行多个操作的测试。多个操作的测试。多个操作的测试。多个操作的测试。制定测试计划制定测试计划制定测试计划制定测试计划单元测试单元测试单元测试单元测试组装测试组装测试组装测试组装测试确认测试确认测试确认测试确认测试31318.5.2 组装测试组装测试面向对象软件的组装测试有两种不同的策略:面向对象软件的组装测试有两种不同的策略:面向对象软件的组装测试有两种不同的策略:面向对象软件的组装测试有两种不同的策略:1基于线程测试基于线程测试 把把把把合作对应一个输入或事件的类合作对应一个输入或事件的类合作对应一个输入或事件的类合作对应一个输入或事件的类集合组装起来,集合组装起来,集合组装起来,集合组

41、装起来,也就是也就是也就是也就是用响应系统的一个输入或一个事件的请求用响应系统的一个输入或一个事件的请求用响应系统的一个输入或一个事件的请求用响应系统的一个输入或一个事件的请求来组装来组装来组装来组装类的集合。对类的集合。对类的集合。对类的集合。对每个线程都要分别进行组装和测试。每个线程都要分别进行组装和测试。每个线程都要分别进行组装和测试。每个线程都要分别进行组装和测试。32322基于使用测试基于使用测试 按分层来组装按分层来组装按分层来组装按分层来组装系统,系统,系统,系统,先进行独立类的测试先进行独立类的测试先进行独立类的测试先进行独立类的测试。在。在。在。在独立类测试之后,独立类测试之

42、后,独立类测试之后,独立类测试之后,下一个类的层次叫从属类下一个类的层次叫从属类下一个类的层次叫从属类下一个类的层次叫从属类。从属类用从属类用从属类用从属类用独立类进行测试独立类进行测试独立类进行测试独立类进行测试。这种。这种。这种。这种从属类层的顺序测试从属类层的顺序测试从属类层的顺序测试从属类层的顺序测试直到整个系直到整个系直到整个系直到整个系统被构造完成。统被构造完成。统被构造完成。统被构造完成。33338.5.3 确认测试确认测试 确认测试在确认测试在确认测试在确认测试在系统层系统层系统层系统层进行测试,要考虑进行测试,要考虑进行测试,要考虑进行测试,要考虑类间的联类间的联类间的联类间

43、的联系细节系细节系细节系细节,主要集中在,主要集中在,主要集中在,主要集中在用户可见活动用户可见活动用户可见活动用户可见活动和和和和用户可识别的系统用户可识别的系统用户可识别的系统用户可识别的系统输出输出输出输出上,使用传统软件的上,使用传统软件的上,使用传统软件的上,使用传统软件的黑盒子测试方法黑盒子测试方法黑盒子测试方法黑盒子测试方法,大多使用,大多使用,大多使用,大多使用基基基基于脚本于脚本于脚本于脚本的测试。的测试。的测试。的测试。34348.1 面向对象软件测试的基本概念面向对象软件测试的基本概念8.2 面向对象测试的内容与范围面向对象测试的内容与范围8.3 面向对象软件测试技术与方

44、法面向对象软件测试技术与方法8.4 面向对象软件测试用例设计面向对象软件测试用例设计8.5 面向对象测试的基本步骤面向对象测试的基本步骤8.6 面向对象测试工具面向对象测试工具JUnit小结小结3535 用于测试由用于测试由Java语言编写的面语言编写的面向对象程序,向对象程序,开源开源工具。工具。36368.1 面向对象软件测试的基本概念面向对象软件测试的基本概念8.2 面向对象测试的内容与范围面向对象测试的内容与范围8.3 面向对象软件测试技术与方法面向对象软件测试技术与方法8.4 面向对象软件测试用例设计面向对象软件测试用例设计8.5 面向对象测试的基本步骤面向对象测试的基本步骤8.6 面向对象测试工具面向对象测试工具JUnit小结小结3737小结小结 面向对象软件测试是面向对象软件开发中面向对象软件测试是面向对象软件开发中不可缺少的一环,是保证面向对象软件质量和可靠不可缺少的一环,是保证面向对象软件质量和可靠性的关键技术之一。性的关键技术之一。本章针对面向对象技术新特性在测试中所本章针对面向对象技术新特性在测试中所引发的问题,讲述了面向对象的测试模型和方法,引发的问题,讲述了面向对象的测试模型和方法,描述了面向对象软件测试的方法和策略。描述了面向对象软件测试的方法和策略。3838

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁