软件测试第5章面向对象软件的测试.ppt
《软件测试第5章面向对象软件的测试.ppt》由会员分享,可在线阅读,更多相关《软件测试第5章面向对象软件的测试.ppt(56页珍藏版)》请在三一办公上搜索。
1、软 件 测 试 教 程,第5章面向对象软件的测试,教授内容,5.1 面向对象的测试概述,1对象 对象是一个可操作的实体,是由特定的数据(属性)和操作封装在一起的整体,对象之间通过消息机制相互发生作用。对象是测试的最直接目标,对象是否符合需求说明、对象与对象之间是否能进行协同工作,是我们测试的焦点。程序运行时,每个对象都将历经创建、访问、修改和删除4个过程,这4个过程称为对象的生命周期。针对对象进行测试,应从多方面测试对象的状态是否与其生命周期相符。,5.1.1 面向对象的基本概念,2类 类是具有相同或相似性质的对象的抽象集合。因此,对象的抽象就是类,类的具体化就是对象,也可以说类的实例是对象。
2、类通过构造函数来创造新的对象,并对新的对象进行初始化,因此在对类进行测试时,需要考虑对象初始化过程是否正确。3封装 封装就是把对象的属性和方法结合成一个整体,尽可能掩盖其内部的细节。封装后的对象,只能知道输入和输出,无法了解内部的操作过程,也无法真正了解内部数据的真实状态。这一特征简化了对对象的使用,同时也给测试带来了难度。,4继承 继承是类之间的一种联系,类可以通过派生生成新类,派生出的新类称为子类。通过继承机制,子类可以继承父类的特点和功能,同时还可以具有自己独有的特点和功能。这一特征为缺陷的扩散提供了途径,如果父类带有缺陷,派生出的子类也会带有缺陷,这会对后面的开发带来隐患。5多态 多态
3、提供了将对象堪称是一种或多种类型的能力。多态包含几种不同的形式,参数多态、包含多态和过载多态。参数多态是能够根据一个或多个参数来定义一种类型的能力;包含多态是同一个类具有不同表现形式的一种现象,这一特征使得参数具有对象替换的能力。多态性增强了软件的灵活性和重用性,同时也使得测试的工作量成倍增加。,学生姓名年龄,研究生导师研究方向,本科生班级专业,人员姓名年龄,研究生导师研究方向,职工部门职务,在职研究生,运输工具,轮船,车辆,飞机,卡车,轿车,继承:,多继承:,继承层次:,6消息 消息是对象的操作将要执行的请求,是对象之间产生相互作用的方式。消息包含一些参数,在程序执行时,参数值可以由消息的发
4、送者发送给接收者,也可以通过接收者返回给发送者,因此在测试时,需要考虑在消息处理前和处理后,传递的参数能否被修改,对象的状态是否正确。7接口 接口是行为声明的集合,由一些规范构成,这些规范定义了类的一套完成的公共行为。接口不是孤立的,它与类和其他接口有一定的关系。因此,在测试时,需要考虑接口包含的行为与类的行为是否相符。,5.1.2 面向对象的开发方法,传统的面向过程的开发方法是以过程为中心,以算法为驱动,因此,面向过程的编程语言是程序=算法+数据;面向对象的开发方法是以对象为中心,以消息为驱动,因此,面向对象的编程语言是程序=对象+消息。下面将对传统开发方法开发的软件存在的问题做出讨论,1软
5、件的重用性 重用性是指同一事物不经修改或稍加修改就可多次重复使用的性质。传统的面向过程方法所开发的软件,其重用性很差,模块与模块之间均是强耦合性,很难拆分和扩展。2软件的可维护性 在软件的开发过程中,软件的可读性、可修改性和可测试性是软件的重要指标。由于传统的面向过程的开发方法开发的软件,各功能模块均是强耦合性,如果修改了其中一个模块的算法或参数,会导致其他的模块功能瘫痪,也就是说传统方法开发出来的软件可修改性很差,这就直接导致了软件的维护费用和成本很高。,3软件的稳定性 软件的稳定性主要表现在是否能满足客户的需求上,如果能满足客户的需求,软件的结构就不需要更改,软件就比较稳定;反之,如果不能
6、满足客户的需求,软件的结构就需要发生较大的变化,软件就不稳定。而传统的开发方法是基于过程来设计的,客户的需求则是针对功能的,一旦功能的需求发生了变化,对传统方法的设计就是灾难性的。,面向对象的软件开发可分为面向对象的分析(Object Oriented Analysis,OOA)、面向对象的设计(Object Oriented Design,OOD)和面向对象的编程(Object Oriented Progamming,OOP)三部分,后面将对这些分析和设计、模型进行讨论。,1面向对象的分析 面向对象的分析是采用面向对象思路进行需求分析建模的工程,也就是以需求分析为基础,来选择对象和类的过程。
7、分析的步骤包括以下几点:(1)获取功能需求(2)根据功能需求确定系统的类和对象(3)确定类的结构层次、属性和方法(4)建造对象模型:为对象建立联系 总的来说,面向对象分析的关键是识别出系统功能中的对象,并分析它们之间的关系,最终建立起简洁、精确、可理解的正确模型。,5.1.3 面向对象的分析和设计,面向对象分析的主要原则如下:(1)抽象:数据抽象(2)封装(3)继承:共同具有的属性和服务(4)分类:用类作为对象的抽象描述。(5)聚合(6)关联:将各个对象联系起来(7)消息通信:对象之间只能通过消息进行通信(8)粒度控制(9)行为分析:各行为的依赖、交织情况。,2面向对象的设计 面向对象的设计(
8、Object Oriented Design,OOD),是根据OOA中确定的类和对象,设计软件系统,以作为OOP的基础。整个设计过程分为系统设计和对象设计。系统设计过程包括:(1)系统分解:需求模型的补充或修改(2)确定并发性:确定哪些对象是并发的(3)设计人机交互子系统:准则(4)设计任务管理子系统:要确定各类任务并把任务分配给相应的硬件或软件去执行。(5)设计数据管理子系统,面向对象的设计,其核心就是对类的设计。该如何设计类,应该遵循相应的设计原则:(1)单一职责原则(2)开闭原则(3)替换原则(4)依赖倒置原则(5)接口分离原则,模型是对实体的特征和变化规律的一种表示或抽象,有三种常用模
9、型,对象模型、动态模型和功能模型:功能模型指出发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。1对象模型 对象模型表示静态的、结构化的系统数据性质,描述系统的静态结构,表现对象的相互关系。在该模型中包括以下几个方面的元素:(1)对象和类(2)关联和链:关联是链的抽象,链是关联的实例。(3)类的层次结构:聚集是一种“整体部分”关系;一般是“一般具体”的关系。,5.1.4 面向对象模型,图 描绘教材结构的聚集树,图 一家公司的对象模型,图 与上图对应的ER图,2动态模型 动态模型是与时间和变化有关的系统性质。该模型描述系统的控制结构,表示瞬间的、行为化的系统控制。该模型描述的系统属
10、性是触发事件、事件序列、状态、事件与状态的组织。该模型包括以下几个方面的元素:(1)事件:指定时刻发生的某件事。(2)状态:是对象属性值的抽象,指明对象对输入事件的响应。(3)状态图:反映状态与事件的关系。,3功能模型 功能模型表明如何从输入值得到输出值,由多张数据流图组成。数据流图表示从源对象到目标对象的数据值的流向,包含以下几个元素:(1)处理:用来改变数据值(2)数据流:将对象的输出与处理、处理与对象的输入、处理与处理联系起来。(3)动作对象:通过生成或者使用数据值来驱动数据流图。(4)数据存储对象:它用来存储数据,这三种模型分别从三个不同的方面对所要开发的系统进行了描述,功能模型指明了
11、系统应该“做什么”;动态模型明确规定了什么时候(即在何种状态下)接受了什么事件的触发;对象模型则定义了做事情的实体。因此在面向对象方法学中,对象模型是最基本最重要的,它为其他两种模型奠定了基础。我们依靠对象模型完成三种模型的集成。,面向对象程序的基本构成单元是类,所以面向对象的测试就是对类的测试。从面向对象的结构层次出发,可将面向对象测试分为三个层次:类测试、集成测试和系统测试。(1)类测试策略类测试主要进行结构测试和功能测试,包括三个部分:基于服务的测试 基于状态的测试 基于响应状态的测试,5.1.5 面向对象软件的测试策略,(2)集成测试策略将在类测试中通过的单个类,以一定的规则组装起来,
12、进行整体功能的测试。集成测试步骤应包含以下内容:按照设计阶段的说明画出对象图;开发端口输入事件所驱动的类;开发与主类直接相关的类;将与主类直接相关联的类集成;对新集成的模块进行测试;从未集成的模块中选一个新类作为下一步的集成类。(3)系统集成策略:以软件的实际功能需求为依据,对整个软件系统进行全方面测试。,5.1.6 面向对象的测试模型,面向对象的软件测试分为:面向对象分析的测试(OOAT)、面向对象设计的测试(OODT)、面向对象编程的测试(OOPT)。,(1)面向对象分析的测试 面向对象分析阶段的主要工作是需求分析和对类、对象和对结构的设计,在确定需求分析以后,会形成面向对象的分析文档,因
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 面向 对象

链接地址:https://www.31ppt.com/p-6063665.html