面向对象测试技术PPT.ppt
《面向对象测试技术PPT.ppt》由会员分享,可在线阅读,更多相关《面向对象测试技术PPT.ppt(85页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章第四章 面向对象测试技术面向对象测试技术1 一、面向对象测试概述一、面向对象测试概述1.传统的软件开发存在的问题传统的软件开发存在的问题(1)软件重用性差)软件重用性差(2)软件可维护性差)软件可维护性差(3)开发出的软件不易满足用户需求)开发出的软件不易满足用户需求2一、面向对象测试概述一、面向对象测试概述2、面向对象技术、面向对象技术基本概念基本概念(1)对象)对象(2)对象的状态和行为)对象的状态和行为(3)类)类(4)类的结构(类间关系)类的结构(类间关系)(5)消息和方法)消息和方法3一、面向对象测试概述一、面向对象测试概述面向对象特征面向对象特征(1)对象唯一性)对象唯一性(
2、2)分类性)分类性(3)继承性)继承性(4)多态性)多态性4一、面向对象测试概述一、面向对象测试概述面向对象要素面向对象要素(1)抽象)抽象(2)封装)封装(3)共享)共享5 面向对象软件开发方法与传统的软件面向对象软件开发方法与传统的软件开发方法的区别:开发方法的区别:(1)调查、分析系统需求,建立一个全面、)调查、分析系统需求,建立一个全面、合理、统一的模型。合理、统一的模型。(2)对象设计。)对象设计。(3)程序实现。)程序实现。6面向对象软件开发过程面向对象软件开发过程 面向对象的开发模型突破了传统的瀑布模型,面向对象的开发模型突破了传统的瀑布模型,面向对象的开发模型突破了传统的瀑布模
3、型,面向对象的开发模型突破了传统的瀑布模型,将开发分为面向对象分析(将开发分为面向对象分析(将开发分为面向对象分析(将开发分为面向对象分析(OOAOOA),面向对象设计),面向对象设计),面向对象设计),面向对象设计(OODOOD),和面向对象编程(),和面向对象编程(),和面向对象编程(),和面向对象编程(OOPOOP)三个阶段。)三个阶段。)三个阶段。)三个阶段。针对这种开发模型,结合传统的测试步骤的划针对这种开发模型,结合传统的测试步骤的划针对这种开发模型,结合传统的测试步骤的划针对这种开发模型,结合传统的测试步骤的划分,我们把面向对象的软件测试分为:分,我们把面向对象的软件测试分为:分
4、,我们把面向对象的软件测试分为:分,我们把面向对象的软件测试分为:面向对象分面向对象分面向对象分面向对象分析的测试析的测试析的测试析的测试,面向对象设计的测试面向对象设计的测试面向对象设计的测试面向对象设计的测试,面向对象编程的面向对象编程的面向对象编程的面向对象编程的测试测试测试测试,面向对象单元测试面向对象单元测试面向对象单元测试面向对象单元测试,面向对象集成测试面向对象集成测试面向对象集成测试面向对象集成测试,面面面面向对象系统测试向对象系统测试向对象系统测试向对象系统测试。7面向对象测试面向对象测试 在传统的面向过程程序中,对于函数在传统的面向过程程序中,对于函数在传统的面向过程程序中
5、,对于函数在传统的面向过程程序中,对于函数 y=Function(x);y=Function(x);只需要考虑一个函数(只需要考虑一个函数(只需要考虑一个函数(只需要考虑一个函数(Function()Function())的行为特点,)的行为特点,)的行为特点,)的行为特点,在面向对象程序中,你不得不同时考虑基类函数在面向对象程序中,你不得不同时考虑基类函数在面向对象程序中,你不得不同时考虑基类函数在面向对象程序中,你不得不同时考虑基类函数(Base:Function()Base:Function())的行为和继承类函数)的行为和继承类函数)的行为和继承类函数)的行为和继承类函数(Derive
6、d:Function()Derived:Function())的行为。)的行为。)的行为。)的行为。面向对象程序的结构不再是传统的功能模块结面向对象程序的结构不再是传统的功能模块结面向对象程序的结构不再是传统的功能模块结面向对象程序的结构不再是传统的功能模块结构,作为一个整体,原有集成测试所要求的逐步将构,作为一个整体,原有集成测试所要求的逐步将构,作为一个整体,原有集成测试所要求的逐步将构,作为一个整体,原有集成测试所要求的逐步将开发的模块搭建在一起进行测试的方法已不可能。开发的模块搭建在一起进行测试的方法已不可能。开发的模块搭建在一起进行测试的方法已不可能。开发的模块搭建在一起进行测试的方
7、法已不可能。8面向对象测试面向对象测试 面向对象软件测试是根据面向对象的软面向对象软件测试是根据面向对象的软件开发过程结合面向对象的特点提出的。它件开发过程结合面向对象的特点提出的。它包括包括分析与设计模型测试技术分析与设计模型测试技术、类测试技术类测试技术、对象交互测试技术对象交互测试技术、类层次结构测试技术类层次结构测试技术、面向对象系统测试技术面向对象系统测试技术5大部分。大部分。9面向对象测试面向对象测试 面向对象软件对每个开发阶段都有不同面向对象软件对每个开发阶段都有不同以往的要求和结果,已经不可能用功能细化以往的要求和结果,已经不可能用功能细化的观点来检测面向对象分析和设计的结果。
8、的观点来检测面向对象分析和设计的结果。针对面向对象软件的开发特点,应该有一种针对面向对象软件的开发特点,应该有一种新的测试模型。新的测试模型。10二、面向对象模型二、面向对象模型OOAOOAOODOODOOPOOPOOA OOA TestTestOOD OOD TestTestOOP TestOOP TestOO UnitOO UnitTestTestOO Integrate TestOO Integrate TestOO System TestOO System Test11二、面向对象模型二、面向对象模型OOA:将问题空间中实现的功能进行抽象,问:将问题空间中实现的功能进行抽象,问题空间中
9、的实例抽象为对象,用对象的结构反题空间中的实例抽象为对象,用对象的结构反映问题空间的复杂关系,用属性和服务表示实映问题空间的复杂关系,用属性和服务表示实例的特殊性和行为例的特殊性和行为OOD:建立类结构或进一步构造类库,实现分:建立类结构或进一步构造类库,实现分析结果对问题空间的抽象。析结果对问题空间的抽象。OOP:软件的计算机实现。:软件的计算机实现。12二、面向对象模型二、面向对象模型 OOA Test:面向对象分析的测试面向对象分析的测试 OOD Test:面向对象设计的测试面向对象设计的测试OOP Test:面向对象编程的测试面向对象编程的测试 OO Unit Test:面向对象单元测
10、试面向对象单元测试OO Integrate Test:面向对象集成测试面向对象集成测试 OO System Test:面向对象系统测试面向对象系统测试13 三、面向对象分析的测试三、面向对象分析的测试 OOA直接映射问题空间,全面地在问题直接映射问题空间,全面地在问题空间中实现功能的现实抽象化。空间中实现功能的现实抽象化。OOA必须回必须回答:答:(1)为完成用户要求,系统应提供哪些功能)为完成用户要求,系统应提供哪些功能(2)系统应由哪些对象构成)系统应由哪些对象构成(3)每个对象应有哪些属性和服务)每个对象应有哪些属性和服务(4)对象间应有怎样的联系)对象间应有怎样的联系14三、面向对象分
11、析的测试三、面向对象分析的测试n n对对OOA阶段的测试划分为以下五个方面:阶段的测试划分为以下五个方面:对类和对象范围的测试对类和对象范围的测试 对结构范围的测试对结构范围的测试 对主题的测试对主题的测试 对定义的属性和实例关联的测试对定义的属性和实例关联的测试 对定义的服务和消息关联的测试对定义的服务和消息关联的测试15(一)对类和对象范围的测试(一)对类和对象范围的测试 OOAOOA中认定的对象是对问题空间中的结构,其他系中认定的对象是对问题空间中的结构,其他系中认定的对象是对问题空间中的结构,其他系中认定的对象是对问题空间中的结构,其他系统,设备,被记忆的事件,系统涉及的人员等实际实统
12、,设备,被记忆的事件,系统涉及的人员等实际实统,设备,被记忆的事件,系统涉及的人员等实际实统,设备,被记忆的事件,系统涉及的人员等实际实例的抽象。对它的测试可以从如下方面考虑:例的抽象。对它的测试可以从如下方面考虑:例的抽象。对它的测试可以从如下方面考虑:例的抽象。对它的测试可以从如下方面考虑:(1 1)抽象的对象是否全面,是否问题空间中所有涉及)抽象的对象是否全面,是否问题空间中所有涉及)抽象的对象是否全面,是否问题空间中所有涉及)抽象的对象是否全面,是否问题空间中所有涉及到的实例都反映在认定的抽象对象中。到的实例都反映在认定的抽象对象中。到的实例都反映在认定的抽象对象中。到的实例都反映在认
13、定的抽象对象中。(2 2)认定的对象是否具有多个属性。只有一个属性的认定的对象是否具有多个属性。只有一个属性的认定的对象是否具有多个属性。只有一个属性的认定的对象是否具有多个属性。只有一个属性的对象通常应看成其他对象的属性,而不是抽象为独立对象通常应看成其他对象的属性,而不是抽象为独立对象通常应看成其他对象的属性,而不是抽象为独立对象通常应看成其他对象的属性,而不是抽象为独立的对象。的对象。的对象。的对象。16(3 3)对认定为同一对象的实例是否有共同的,区别对认定为同一对象的实例是否有共同的,区别对认定为同一对象的实例是否有共同的,区别对认定为同一对象的实例是否有共同的,区别于其他实例的共同
14、属性。于其他实例的共同属性。于其他实例的共同属性。于其他实例的共同属性。(4 4)对认定为同一对象的实例是否提供或需要相同)对认定为同一对象的实例是否提供或需要相同)对认定为同一对象的实例是否提供或需要相同)对认定为同一对象的实例是否提供或需要相同的服务,如果服务随着不同的实例而变化,认定的的服务,如果服务随着不同的实例而变化,认定的的服务,如果服务随着不同的实例而变化,认定的的服务,如果服务随着不同的实例而变化,认定的对象就需要分解或利用继承性来分类表示。对象就需要分解或利用继承性来分类表示。对象就需要分解或利用继承性来分类表示。对象就需要分解或利用继承性来分类表示。(5 5)认定的对象的名
15、称应该尽量准确,适用。认定的对象的名称应该尽量准确,适用。认定的对象的名称应该尽量准确,适用。认定的对象的名称应该尽量准确,适用。17(一)(一)(一)(一)对类和对象范围的测试对类和对象范围的测试 如何在众多调查资料中进行确定类与对象呢?解决这如何在众多调查资料中进行确定类与对象呢?解决这如何在众多调查资料中进行确定类与对象呢?解决这如何在众多调查资料中进行确定类与对象呢?解决这一问题的方法一般包含以下几个方面一问题的方法一般包含以下几个方面一问题的方法一般包含以下几个方面一问题的方法一般包含以下几个方面(1 1)基础素材)基础素材)基础素材)基础素材(2 2)潜在的对象)潜在的对象)潜在的
16、对象)潜在的对象(3 3)确定对象)确定对象)确定对象)确定对象(4 4)图形表示,用图形化描述类和对象)图形表示,用图形化描述类和对象)图形表示,用图形化描述类和对象)图形表示,用图形化描述类和对象18(二)对结构范围的测试(二)对结构范围的测试(二)对结构范围的测试(二)对结构范围的测试 结构表示问题空间的复杂程度。标识结构的目的结构表示问题空间的复杂程度。标识结构的目的结构表示问题空间的复杂程度。标识结构的目的结构表示问题空间的复杂程度。标识结构的目的在于管理问题域模型。在在于管理问题域模型。在在于管理问题域模型。在在于管理问题域模型。在OOAOOA中,结构是指中,结构是指中,结构是指中
17、,结构是指泛化泛化泛化泛化特化结构特化结构特化结构特化结构(is a)(is a)和和和和整体整体整体整体部分结构部分结构部分结构部分结构(has a)(has a)两部分两部分两部分两部分的总和。的总和。的总和。的总和。191 1、确定泛化、确定泛化、确定泛化、确定泛化特化结构(分类结构)特化结构(分类结构)特化结构(分类结构)特化结构(分类结构)uu对于结构中的一种对象,尤其是处于高层的对对于结构中的一种对象,尤其是处于高层的对对于结构中的一种对象,尤其是处于高层的对对于结构中的一种对象,尤其是处于高层的对象,是否在问题空间中含有不同于下一层对象象,是否在问题空间中含有不同于下一层对象象,
18、是否在问题空间中含有不同于下一层对象象,是否在问题空间中含有不同于下一层对象的特殊性可能,即是否能派生出下一层对象的特殊性可能,即是否能派生出下一层对象的特殊性可能,即是否能派生出下一层对象的特殊性可能,即是否能派生出下一层对象uu对于结构中的一种对象,尤其是处于同一低层对于结构中的一种对象,尤其是处于同一低层对于结构中的一种对象,尤其是处于同一低层对于结构中的一种对象,尤其是处于同一低层的对象,是否能抽象出现实中有有意义的更一的对象,是否能抽象出现实中有有意义的更一的对象,是否能抽象出现实中有有意义的更一的对象,是否能抽象出现实中有有意义的更一般的上层对象般的上层对象般的上层对象般的上层对象
19、uu对所有认定的对象,是否能在问题空间内向上对所有认定的对象,是否能在问题空间内向上对所有认定的对象,是否能在问题空间内向上对所有认定的对象,是否能在问题空间内向上层抽象出在现实中有意义的对象层抽象出在现实中有意义的对象层抽象出在现实中有意义的对象层抽象出在现实中有意义的对象uu高层的对象的特性是否完全体现下层的共性高层的对象的特性是否完全体现下层的共性高层的对象的特性是否完全体现下层的共性高层的对象的特性是否完全体现下层的共性uu低层的对象是否有高层特性基础上的特殊性低层的对象是否有高层特性基础上的特殊性低层的对象是否有高层特性基础上的特殊性低层的对象是否有高层特性基础上的特殊性202 2、
20、确定整体、确定整体、确定整体、确定整体部分结构(组装结构)部分结构(组装结构)部分结构(组装结构)部分结构(组装结构)uu整体(对象)和部分(对象)的组装关系是否整体(对象)和部分(对象)的组装关系是否整体(对象)和部分(对象)的组装关系是否整体(对象)和部分(对象)的组装关系是否符合现实的关系符合现实的关系符合现实的关系符合现实的关系uu整体(对象)和部分(对象)是否在考虑的问整体(对象)和部分(对象)是否在考虑的问整体(对象)和部分(对象)是否在考虑的问整体(对象)和部分(对象)是否在考虑的问题空间中的有实际应用题空间中的有实际应用题空间中的有实际应用题空间中的有实际应用uu整体(对象)是
21、否遗漏了反映在问题空间中有整体(对象)是否遗漏了反映在问题空间中有整体(对象)是否遗漏了反映在问题空间中有整体(对象)是否遗漏了反映在问题空间中有用的部件用的部件用的部件用的部件uu部分(对象)是否能够在问题空间中组装新的部分(对象)是否能够在问题空间中组装新的部分(对象)是否能够在问题空间中组装新的部分(对象)是否能够在问题空间中组装新的有现实意义的整体(对象)有现实意义的整体(对象)有现实意义的整体(对象)有现实意义的整体(对象)21(三)对主题的测试(三)对主题的测试 主题是一种知道研究和处理大型复杂模型主题是一种知道研究和处理大型复杂模型主题是一种知道研究和处理大型复杂模型主题是一种知
22、道研究和处理大型复杂模型的机制。有助于分解系统,区分结构,避免过的机制。有助于分解系统,区分结构,避免过的机制。有助于分解系统,区分结构,避免过的机制。有助于分解系统,区分结构,避免过多的信息量同时出现所带来的麻烦。主题的确多的信息量同时出现所带来的麻烦。主题的确多的信息量同时出现所带来的麻烦。主题的确多的信息量同时出现所带来的麻烦。主题的确定可以帮助人们从一个更高的层次上观察和表定可以帮助人们从一个更高的层次上观察和表定可以帮助人们从一个更高的层次上观察和表定可以帮助人们从一个更高的层次上观察和表达系统的总体模型。主题如同文章对个部分内达系统的总体模型。主题如同文章对个部分内达系统的总体模型
23、。主题如同文章对个部分内达系统的总体模型。主题如同文章对个部分内容的概要。容的概要。容的概要。容的概要。22对主题层的测试应该考虑以下方面:对主题层的测试应该考虑以下方面:uu依据依据依据依据George MilerGeorge Miler的的的的“7+2”7+2”原则,如果主题个原则,如果主题个原则,如果主题个原则,如果主题个数超过数超过数超过数超过7 7个,就要求对有较密切属性和服务的主个,就要求对有较密切属性和服务的主个,就要求对有较密切属性和服务的主个,就要求对有较密切属性和服务的主题进行归并。题进行归并。题进行归并。题进行归并。uu主题所反映的一组对象和结构是否具有相同和主题所反映的
24、一组对象和结构是否具有相同和主题所反映的一组对象和结构是否具有相同和主题所反映的一组对象和结构是否具有相同和相近的属性和服务。相近的属性和服务。相近的属性和服务。相近的属性和服务。uu认定的主题是否是对象和结构更高层的抽象,认定的主题是否是对象和结构更高层的抽象,认定的主题是否是对象和结构更高层的抽象,认定的主题是否是对象和结构更高层的抽象,是否便于理解是否便于理解是否便于理解是否便于理解OOAOOA结果的概括。结果的概括。结果的概括。结果的概括。uu主题间的消息联系(抽象)是否代表了主题所主题间的消息联系(抽象)是否代表了主题所主题间的消息联系(抽象)是否代表了主题所主题间的消息联系(抽象)
25、是否代表了主题所反映的对象和结构之间的所有关联。反映的对象和结构之间的所有关联。反映的对象和结构之间的所有关联。反映的对象和结构之间的所有关联。23(四)对定义的属性和实例关联的测试(四)对定义的属性和实例关联的测试 属性是用来描述对象或结构所反映的实属性是用来描述对象或结构所反映的实例的特性。而实例关联是反映实例集合间的例的特性。而实例关联是反映实例集合间的映射关系。映射关系。对属性和实例关联的测试从如下方面考对属性和实例关联的测试从如下方面考虑:虑:uu定义的属性是否对相应的对象和分类结构的每定义的属性是否对相应的对象和分类结构的每定义的属性是否对相应的对象和分类结构的每定义的属性是否对相
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 测试 技术 PPT
限制150内