论文部分内容阅读
面向服务的体系架构(SOA)已成为基于Web的分布式系统的主要发展趋势。Web服务作为SOA的一种实现形式,已得到广泛的关注与应用。在这样的形势下,Web服务的质量成为学术界和产业界最为关注的问题。一旦某一Web服务存在严重的质量问题,将会给使用者造成不可估量的损失与危害,因此,需要对Web服务的质量进行评估。而对Web服务质量评估的一个有效方法即为测试。但是人工手动测试需要耗费大量的时间,如能采用自动化测试方法代替繁琐、耗时、易出错的人工测试,则可快速与准确地完成对Web服务的测试,从而提高软件质量,节省开支,并极大地提高测试效率。由于Web服务的自身特性,Web服务自动化测试的一些难题仍然没有解决,其中一个主要的难点就在于测试用例的自动生成。本文首先对目前国内外的研究现状和研究成果进行了分析,在简要介绍Web服务、Web服务测试及对象约束语言的相关理论和相关技术之后,深入研究了Web服务测试技术中测试用例自动化产生的问题,将基于对象约束语言(OCL)的形式化描述方法应用到Web服务测试中,其核心思想是利用OCL对Web服务描述模型WSDL进行扩展,增加服务调用参数的形式化约束表示,主要包括前置条件和后置条件的描述,Web服务测试者通过解析WSDL文档中的输入参数类型和OCL描述中的前置条件和后置条件,利用等价类划分和边界值分析的方法自动产生测试用例,实现对该Web服务的自动化测试。本文基于上述思想,在深入分析OCL的基础上,以SAWSDL框架为基础,引入OCL,构建了扩展的WSDL模型。以该模型为基础,研究了Web服务自动测试的方法与技术。最后,本文开发了一个基于OCL的Web服务测试原型系统,并进行了实验验证,实验表明:该方法能够有效地生成Web服务的测试用例,从而提高了Web服务测试的质量和效率。