论文部分内容阅读
为了获得可靠的、可信的、高质量的服务,对服务实施充分的、完全的测试是至关重要的。总体上看,目前的Web服务测试尚处在初级的阶段,研究人员主要通过传统的技术,在原有的测试基础上根据Web服务的特点对测试方法进行改进,大部分研究集中在对单个服务的独立操作进行测试,虽然这些研究能够为服务生成丰富的测试用例,然而在实际的应用中,单个的服务功能有限,服务的应用是由多个单个的服务组合而成,服务之间具有一定的逻辑顺序关系,因此,需要进一步展开对组合后的Web服务测试的相关研究。针对上述问题,本文使用UML活动图建模技术,根据OWL-S文档中的服务过程信息,提取出与服务的控制流程对应的过程图,据此生成、约简测试数据,生成最终的测试用例,从而提高测试用例的生成效率,降低测试成本。本文的主要思路如下所示:首先,基于用户需求使用UML活动图进行组合服务的建模;接着,基于UML活动图与Process Model的映射规则设计相应的转换算法,将UML活动图转换成Process Model;并定义过程图,设计Process Model过程模型到过程图的转换算法,根据Process Model过程模型到过程图的转换规则完成Process Model过程模型到过程图的转换;对过程图添加节点和与之对应的边,形成扩展的过程图;根据扩展的过程图的路径与事件一一对应的思想设计扩展的过程图到事件的转换算法,通过此算法完成扩展的过程图到事件的转换过程;最后,用事件启发的方式生成测试数据,指导测试用例的选择与约简。基于上述的理论研究,本文提出了一个组合Web服务测试框架。根据给出的组合Web服务测试流程并通过查询城市天气预报组合Web服务这一实例,完成了UML建模、模型转换、过程图转换、过程图扩展以及事件集的生成,并根据路径覆盖准则,通过事件启发的方式生成了测试数据。本文设计了对比实验,验证本文方法生成的测试数据比通过WSDL文档生成的测试数据更有效。此外,通过对查询城市天气预报组合Web服务中植入错误,从每个事件对应的测试数据中选出若干测试数据组成约简后的测试用例集,验证约简后的测试用例集的测试效果。实验结果表明,本文方法是可行和有效的。