37060213_王烨_面向对象论文_第1页
37060213_王烨_面向对象论文_第2页
37060213_王烨_面向对象论文_第3页
37060213_王烨_面向对象论文_第4页
37060213_王烨_面向对象论文_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 院 系 6系 学 号 37060213分类号 面向对象软件测试技术理论的学习研究 院(系)名称计算机科学与技术 专业名称计算机科学与技术 学生姓名王烨 指导教师刘超 2009 年 3 月 目 录中文摘要3英文摘要3概述3正文41 面向对象的基本概念41.1 对象41.2 消息41.3 类51.4 继承51.5封装51.6 多态62 面向对象软件的特点对测试的影响62.1 信息隐蔽和封装性62.2 继承性72.3 多态性和动态邦定73 面向对象的测试与传统测试的比较74 面向对象软件测试的层次划分及内容84.1 类测试84.2 方法测试84.3 类簇测试(集成测试)94.4 系统测试9总结9参

2、考文献9面向对象软件测试技术理论的学习研究中文摘要由于面向对象编程语言的发展,面向对象的软件被设计成一系列的对象及其之间通过消息的相互作用,这些对象从根本上形成了问题的模型,并由这些对象共同作用于一个解决方案。面向对象的程序设计又提供了信息隐蔽、继承、多态和动态绑定等机制。这种软件开发方法固有的特性,给软件测试理论、技术、方法等方面带来了巨大的影响,而对象之间操作的复杂性与对象本身的封装与多念使面向对象软件的测试工作面临着巨大的挑战。英文摘要In order to facing to the development of the object plait distance language,

3、face to the software of object to be design a series of object and it passes the interaction of news, these objects by the root became the model of problem, and from these object common function are at a solution.The program design which faces to object provided an information again concealment, inh

4、erit, many Tais and dynamic state bind settle etc. mechanism.This kind of method inherent property of the software development, give software test the theories, technique, method.etc. brought huge influence, but the of object operate of the seal of complexity and object pack and much read aloud to m

5、ake the test work of face to the object software face a huge challenge.概述面向对象是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。通过对面向对象软件测试技术理论的学习研究,对面向对象的基本概念有了比较深入的理解与体会,对于今后的面向对象语言的学习,软件的编写和测试等技术的掌握奠定了基础。正文1 面向对象的基本概念面向对象语言更接近人的思维,面向对象程

6、序的主要结构特点是:第一,程序一般有类的定义和类的使用两部分组成,在主程序中定义各个对象并规定它们之间传递消息的规律;第二,程序中的一切操作都是通过面向对象发送消息来实现的,对象接收到消息后,启动有关方法去完成相应的操作”。下面就是一些有关面向对象语言的对象、状态、消息、类、以及面向对象语言的三个重要的特征,继承、封装和多态。1.1 对象对象由保存对象属性的数据和可以施加于这些数据的操作封装在一起构成的整体。对象是类的实例,对象给类以生命,类想要做的事情必须通过建立对象和在对象仁进行操作而实现。1.2 消息消息是对象的操作将要执行的一种请求,是一个对象要求另外一个对象执行某个功能操作的规格况明

7、,通过消息传递。能完成对象之问的相互请求或相互协作。除了需要一个操作的名字,消息还可包含一些值(实参),它们常常在操作被执行时使用。消息的接收者也可以将某个值返回给消息的发送者,消息传递使程序的控制流错综复杂,不易于理解和把握,给测试带来了一定的困难。1.3 类类是面向对象中基本构造单元,是一组具有相同数据结构和相同操作的对象的集合。类的定义包括一组数据属性和在数据上的一组合法操作,也就是方法。在面向对象的程序中,任何被描述的概念最初都必须被声明为类,然后创建由该类定义的对象在一个类中,每个对象都是类的实例,它们都可使用类中提供的函数。类和对象之间的关系是抽象和具体的关系,类是对多个对象进行综

8、合抽象的结果。1.4 继承继承是面向对象程序设计的一个重要特征,它允许在既有类的基础上创建新的类,新类可以从一个或多个既有类中继承函数和数据,而且可以重新定义或加进新的数掘和函数导出类或子类。一个类对另一个类的依赖,使得己有类的说明和实现可以被复用。1.5封装封装就是对象把一些属性和方法封装起来,将私有元素和实现操作的内部细节隐藏起来,并能管理自己的内部状念。外部只能从对象所表示的具体概念、对象提供的服务和对象提供的外部接1:3来认识对象。通过向对象发送消息来激活对象的自身动作,达到施加特定操作的目的。1.6 多态多态就是不同的对象收到相同的消息,产生不同的动作。通俗的晚,就是一个名字定义不同

9、的函数,这些函数执行不同但又类似的操作,即用同样的接口访问功能不同的函数,从而实现“一个接口,多种方法”。多态性可以分为静念多念性和动念多态性,在静态多态性中,绑定是在编译时进行的,而动态多态性用隐式运行时的绑定和运行时的类型检查代替了显示的编译时的绑定和静态类型。2 面向对象软件的特点对测试的影响面向对象技术是一种全新的软件开发技术,正逐渐代替被广泛使用的面向过程开发方法,被看成是解决软件危机的新兴技术。面向对象技术产生更好的系统结构,更规范的编程风格,极大的优化了数据使用的安全性,提高了程序代码的重用,其信息隐蔽和封装性、继承性、多态性和动态绑定等特性,使软件开发更快、质量更高,而且软件易

10、于维护、易于修改,通过组装可复用子系统而产生更大的系统”。然而他也给软件测试带来了更多的困难。由于面向对象技术丌发的软件代码重用率高,更需要严格测试,避免错误的繁衍。因此,软件测试并没有面向对象编程的兴起而丧失掉它的重要性,而是对软件测试提出了更严峻的考验。2.1 信息隐蔽和封装性类的重要特征之一是信息隐蔽,而信息隐蔽通过对象的封装性实现。类的封装性将数据和数据的操作方法封装在单个的类当中,内部的属性和操作一般申明为私有成员,外部的接口操作和属性申明为公有成员,外界只能通过被提供的操作来访问或修改数据,这样降低了数据被任意修改和读写的可能性,避免了传统程序中对数据非法操作后错误的扩散。信息隐蔽

11、与封装性限制了对象属性对外界的可见性与外界对它的操作权限这样就在一定程度上避免外界对它的不合理操作并防止错误的扩散。但这样细节性的信息却是软件测试所不可忽略的。2.2 继承性在面向对象程序中,使用继承机制是实现共享和提高重用程度的主要途径。继承性是面向对象的基本特点之一,是一种有效的程序复用方法。由于继承的作用,一个函数可能被封装在多个子类中,子类中还可以对继承的特性进行重定义。2.3 多态性和动态邦定多态性和动态绑定是面向对象方法的关键性特征之一。多态是指同一消息可以根据发送消息对象的不同采用多种不同的行为方式, 重载就是多念的一种常见形式,它允许几个函数有相同的名字,而所带的参数类型不同。

12、如根据当前指针引用的对象类型来决定使用正确的方法,这是多态性行为操作,运行时系统能自动为给定消息选择合适的实现代码,这给程序员提供了高度柔性、问题抽象和易于维护。但多态性和动态绑定所带来的不确定性,使得传统测试实践中的静态分析法遇到了不可逾越的障碍,而且它们也增加了系统运行中可能的执行路径,加大了测试用例的选取难度和数量。这种不确定性和骤然增加的路径组合给测试覆盖率的满足带来了挑战。3 面向对象的测试与传统测试的比较首先,测试的起点和内容有了新的变化。其次,测试的基本单元发生了改变,其测试内容有了延伸。再次,软件的系统构成发生了变化。最后,适用的测试模型发生了改变。因此,传统的测试模型对面向对

13、象软件已经不再适用。针对面向对象软件的开发特点,需要一种新的测试模型。4 面向对象软件测试的层次划分及内容目前,对面向对象软件测试的层次划分尚未达成共识。传统层次测试基于功能模块的层次结构,而在面向对象软件测试中,继承和组装关系刻画了类之问的内在层次,它们既是构造系统结构的基础,也是构造测试结构的基础。面向对象程序的执行实际上是执行一个由消息连接起来的方法序列,而这个方法序列通常是由外部事件驱动的。面向对象软件测试的层次可划分为:4.1 类测试在面向对象中对于类的测试在测试过程上,等同于传统的单元测试”“。传统单元测试主要关注模块的算法实现和模块的接口间数据的传递,而面向对象的类测试主要考察封

14、装在一个类中的方法和类的状态行为。进行类测试时,要把对象与其状态结合起来,进行对象状态行为的测试。因为在工作过程中,对象的状态可能被改变,由此产生新的状态。测试范围主要是类定义之内的属性和服务,以及有限的对外接口的部分。类测试过程不仅仅包括检查输入数据产生的结果是否与预期的吻合,还要考虑对象的状态,整个过程应涉及对象的初念、输入参数、输出参数以及对象的终念。4.2 方法测试方法测试时以考虑封装在类中的一个方法对数掘进行的操作为主。其测试方法,可以采用传统的模块测试方法。由于方法是封装在类中的,并通过向所在对象发消息来执行,所以他的执行与状态有关,特别是在操作的多态性时,设计测试用例时要考虑设置对象的初态,并且要设计一些函数来观察隐蔽的状态值。4.3 类簇测试(集成测试)类簇是指一组相互有影响的类。类簇测试主要根据系统中相关类的层次关系,检查类之问的相互作用的萨确性,即检查各相关类之间消息连接的合法性、子类的继承性以及父类的一致性、动态绑定执行的正确性、类簇协同完成系统功能的正确性等等。他包括测试有两种不同策略:纵向测试、横向测试。4.4 系统测试面向对象的系统测试是对所有程序和外部成员构成的整个系统进行整体测试,检验软件和其他系统成员配合工作是否诈确。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论