论文部分内容阅读
Web服务以XML、WSDL、SOAP和UDDI为核心,采用SOA体系架构,引入了一种新的Web应用的开发、部署和集成的模式。它以其松散耦合性、高度可集成性和规范性等特点得到了广泛的应用。为了保证Web服务的质量,必须对其进行详尽的测试,而测试自动化对于提高测试的质量和效率非常重要,提高测试的自动化程度关键又在于测试用例生成的自动化。本文在对Web服务及测试用例自动生成技术深入研究的基础上,分析了目前Web服务测试用例自动生成研究中存在的不足,并提出了一种基于扩展WSDL的测试用例自动生成方法,生成的测试用例主要包括测试数据和操作序列两部分。本文首先通过在types元素中添加simpleType元素来扩展WSDL的类型定义,用来描述数据类型的基类和刻面约束,通过扩展后的类型定义就可以有效地生成测试数据。同时,基于前人提出的数据类型的抽象模型,本文增加了对复杂数据类型结构的描述,提出了一种更具有可视化和可理解性的抽象模型,该模型有利于测试用例产生过程的形式化描述。根据扩展后WSDL文档生成的测试数据主要包括简单数据类型的测试数据和复杂数据类型的测试数据:简单数据类型的测试数据是通过WSDL文档中定义的数据类型及刻面约束,根据相应的测试数据生成策略而产生;复杂数据类型的测试数据是将简单数据类型的测试数据根据子元素的权重进行选择之后,通过不同的规则组合而生成,从而在保证有效性的同时减少了测试数据的数量。另外,本文在operation元素中添加preop子元素,用来表示operation的前置操作,分析扩展后WSDL文档中的操作依赖关系生成操作序列,结合测试数据,就可以有效地测试复杂的操作流程。根据测试用例的生成,本文还引入了四种测试覆盖准则并分析了他们之间的相互关系。最后,本文设计并实现了一个基于扩展WSDL的测试用例自动生成原型系统-TCGTBEW,并进行了实验验证。实验表明:该方法能够有效地生成Web服务的测试用例,从而提高了Web服务测试的质量和效率。