面向对象集成测试的分层增量测试策略

来源 :上海交通大学 | 被引量 : 0次 | 上传用户:a13456400000
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
面向对象软件的三个主要特征是:封装、继承和多态。封装造成信息的隐藏,而继承和多态则在类之间简单的聚合和关联的关系上加入层次化,并造成潜在的动态依赖,从而导致类之间关系变得错综复杂。这种突出的特点对面向对象软件测试提出了新的要求——软件测试不仅要适应面向对象软件的特性,而且要快速、准确、清晰地检查所有的关系。在整个软件测试中,集成测试是最重要同时也是最困难的,从哪里开始测试,沿怎样的路径进行测试又是集成测试中最核心的两大问题。 本篇论文的目标是提供一种进行面向对象集成测试的策略。这种策略基于Kung等人在其回归测试方法中提出的测试层次概念,并且融入了增量测试的观点。首先,本文从前期的设计文档中直接得到UML类图,并作为类间关系分析的ORD图,这样省去了使用逆向工程算法从程序代码中生成ORD图的工作。接着,对ORD图上的每一个类进行类间关系的分析,包括静态关系和动态关系,使用两个类集合和一个布尔函数来表示。然后,基于分析的结果定义测试层次,它由三部分组成——目标类集(T_aim)、依赖集(T_dep)、类型(T_type),从后面可以看到,一个测试层次对应着集成测试的一个测试单元。接下来,根据两点前提对符合条件的测试层次两两排出测试优先顺序,然后整理所有的优先顺序制定出整个软件的集成测试顺序,并通过图形直观地表现出来。随后,本文在此测试顺序图上进行了两项深入的工作。其一,按照简化规则将测试层次重写,其目的是为测试层次中添加更多的信息,主要是依赖集中各个类在测试中的作用;其二,考虑了抽象类的影响,抽象类不可实例化的性质使得一些测试层次的测试不可行,必须删除这些测试层次,合并它的出入边,并将其目标类的测试顺延至后面可行的测试层次上。最后,本文给出测试顺序自动生成工具的设计,并通过代码实现了这个工具的软件核心部分。 整个测试的目标是最小化需要建立的桩函数的数目来减少测试的开销,方法是在测试一个类之前先测试它所依赖的各个类,并且每一次测试最多增加一个新类,即所谓的增量测试。 本文的案例分析是对一个User Interface子系统进行测试。应用上面的分层测试策略,得到最终的集成测试顺序图。从该测试顺序图上,可以清晰、直观地看到每一个测试层次的测试目标、相关类的作用、测试的是静态关系还是动态关系,以及哪些测试层次必须顺序执行,哪些可以并行执行,这样,方便了测试人员测试用例的选择,测试资源的分配,测试方案的制定,从而提高了整个测试的效率。
其他文献
近年来离散制造企业高度重视信息化的建设,经过几年的发展,已初具成效。在几年的业务发展中,企业内产生了大量的信息化数据,包括办公文档、业务订单、数据报表、图片、音频、
近年来随着多媒体应用的领域逐渐扩展,人们在对新的先进编码技术进行理论研究的同时,也加大了实用化的力度。目前MPEG-4视频的简单框架(SimpleProfile)方案以其在低码率、高
随着Internet高速网络中实时和多媒体应用业务的迅速发展,要求通信网络能提供高效的服务质量(QoS)支持,但是传统的“尽力而为”网络机制并不能满足QoS通信的要求,近几年的研
Web是为了实现程序到用户的交互,而Web Services则是为程序到程序的交互做准备。Web Services使公司可以降低进行电子商务的成本、更快的部署解决方案以及开拓新机遇。其关键
目前,我们已经进入了以网络计算为中心的时代,人们迫切需要在任何时候、任何地点访问所需数据,移动计算为之提供了手段。它是无线通信、网络技术与移动计算设备相结合的产物,是一
随着网络技术和通信技术的不断发展,电子商务已经不再局限于以往的交易模式和技术模式,因为计算机已经不是唯一的一种能够进行互联网通信的终端设备。并且随着经济的发展,电子商
随着互联网、云计算、移动计算的发展,高质量高效率的自然语言处理应用有力的促进了智能人机交互的发展。然而,大多数的自然语言处理应用需要大规模的统计模型,高质量的算法
计算机博弈是人工智能研究领域一个重要的分支,也是博弈理论研究的热点方向之一。博弈论按照博弈的参与者是否掌握所有的局面信息可以分为完备信息博弈和非完备信息博弈。其
云计算是一种2007年才出现的新型服务模式。它的出现正在悄然改变着信息技术产业的商业服务模式。云计算通过对物理资源的整合,为用户提供了按需服务的计算能力和存储能力。
运动捕捉技术的兴起极大地方便了计算机动画创作,但是这种方法也存在一定的问题,如,设备的使用受到场地的限制、捕捉到的数据存在噪音、运动捕捉数据的复用问题等等。随着运