基于内置式合约的构件测试方法研究

来源 :华侨大学 | 被引量 : 0次 | 上传用户:wzlzcy_yt190057
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来软件开发呈现出了突飞猛进的发展,软件开发技术也从早期的结构化编程,发展到后来的面向对象技术,直至现在的软件构件技术。基于构件的软件工程(Component-Based Software Engineering,简称CBSE)凭借自身的可复用性,开发的高效性等优点,逐渐成为一种新的趋势。然而,软件构件技术在带来增加可重用性,减少开发成本的同时,也带来了前所未有的问题,例如构件系统的测试。由于构件本身的特殊性,当某个构件在投入使用之前经过了完整的测试,证明该构件不存在缺陷,但当将此构件部署到构件系统中时,未能从其它构件得到所依赖的服务,或者对内存、处理器周期出现竞争的情况,才发现并不能与当前的系统环境很好的配合使用。为此需在构件系统的集成阶段耗费更多的时间和精力进行测试,这样就使得构件技术的优势大打折扣。传统的构件测试技术,将多余的测试时间花在已经过充分验证的构件本身正确性上,由于构件并不像硬件存在老化现象,就造成了资源与时间的浪费。所以本文将重点放在了构件的配置变化对构件的影响上,包括部署环境、对应的服务组件和系统所在的平台。   本文从构件使用者和开发者的角度分析构件及构件化软件的测试,利用B.Meyer的合约化软件设计思想作为构件测试的理论基础,并在其上面进行了扩展与改进,提出了一种基于内置合约检查的构件测试技术,增强了构件对于运行环境的自测试能力。构件在被部署到新的系统环境中时,内置的合约测试组件能够自动测试其服务端(包括运行环境)是否遵守彼此之间合约,并验证自身在运行阶段履行其所声明的义务的能力。利用合约测试组件内提供的测试强度配置接口,可以方便的根据所部署环境的需求,对测试用例规模进行选择。若在系统的集成阶段出现了问题,也能够方便地从抛出的异常信息定位到出错的位置。基于内置合约检查的构件测试技术的提出,有效增强了构件的可复用性,降低了部署构件系统的成本,使构件开发向“即插即用”的目标更进了一步。本文从构件系统中最基本的客户-服务关系的两端对合约测试进行了设计,包括在服务端添加易于测试的合约测试接口,以及客户端的合约测试组件的详细设计,并在最后给出了合约测试构件的部分实现代码。
其他文献
在这个信息和科技高速发展的时代,企业的经营理念由“以产品为中心”转向“以客户为中心”的同时,企业也不断加快信息化建设的步伐,目前客户关系管理系统(CRM)已经成为帮助企业管
随着气象数据库管理系统、数据挖掘技术的发展,天气预报预测系统的研究和应用正在成为研究热点之一。天气预报预测系统能为天气预报决策者提供更好的计算机辅助决策手段,对提
当今的网络监控系统对通信网络来说具有至关重要的意义,他们周期性的收集各种网络性能数据,找出性能异常,并分析问题的根因,其效力和效率决定了网络的服务质量(quality of se
随着计算机技术的快速发展和社会需求的急剧增长,空间信息系统技术飞速发展,其应用领域在不断扩大。面对海量的空间数据及其复杂的数据特征,如何提高空间数据的查询效率成为
本文提出了一种移动计算的大数据服务应用,它是一种基于上下文情境处理网络平台用户文本数据的方法,应用数据挖掘技术和深度机器学习技术来进行想法/行为建模和数据分析。研究
从大型数据库中挖掘频繁模式是数据挖掘研究的一类基本问题,也是该领域最具挑战性的一个研究热点。其中频繁子图挖掘旨在解决结构化模式挖掘问题,诸如化学,生物学,WWW应用等
探井生产管理决策支持系统试图应用人工智能技术完成计算机智能辅助决策功能,以提高探井生产管理中决策的准确性和决策速度,降低探井生产成本。在该系统的研发过程中,由于专
Web服务组合技术用于解决用户提出的复杂功能请求,它能够搜集已有的、实现简单功能的服务,并将其按照特定的逻辑结构组合在一起,协同完成复杂功能。目前,已有服务组合标准众
目前我国正处在经济和社会迅速发展的时期,全面建设社会主义和谐社会,对防震减灾工作提出了很高的要求。建立地震灾害过程综合模拟仿真系统对于减小地震造成的影响有着重大的
人脸年龄的估计是近年来的热点方向,大量的研究人员对此进行了深入,广泛地研究。我们认为人脸年龄的估计结果应该是一个动态的范围或者是多个离散的年龄而不是某一个年龄值或