论文部分内容阅读
随着Web服务组合的发展,Web服务组合越来越复杂,Web服务的质量也成为关注热点。Web服务的测试,尤其是Web服务组合的测试,成为保障Web服务组合质量的重要环节。BPEL是描述Web服务组合的一种业务流程执行语言,一个BPEL文档中描述了Web服务的执行顺序以及Web服务之间的交互关系,因此,Web服务组合的测试可以基于BPEL文档来进行。目前,基于BPEL描述的Web服务组合的测试主要是将BPEL文档转化为BPEL控制流图,根据控制流图对Web服务组合进行测试。BPEL文档中,结构化活动描述服务间的控制流信息,变量之间的交互描述服务间的数据流信息。控制流图只能描述控制流[3],无法描述数据流信息,所产生的测试序列有些是不可行的,而且控制流图不能很好地描述异步、并发的行为。由于Petri网适合于描述异步、并发的行为,所以将基于BPEL描述的Web服务组合转化为Petri网描述来表达。然而,一般Petri网只能描述控制流信息,为了同时描述Web服务组合的控制流和数据流,本文用扩展的着色Petri网(Extended Colored Petri Net,简称ECPN)对BPEL文档建模,着色Petri网可以描述不同类型的数据,ECPN模型在描述业务流程控制流时能够同时描述流程的数据流。针对目前Web服务组合测试只从数据流或控制流某一方面考虑,导致所产生的一些测试序列不可执行的问题,本文提出了一种针对Web服务组合交互行为的基于ECPN控制流和数据流结合的测试方法。该方法主要从以下几个方面进行探讨和研究:1、利用扩展的着色Petri网对基于BPEL描述的Web服务组合进行建模。将扩展的着色Petri网作为中间模型对BPEL的基本活动、结构化活动进行描述。ECPN模型在描述业务流程控制流时能同时描述流程的数据流。2、利用建立的ECPN模型进行数据流分析生成测试序列。根据建立的ECPN模型,结合数据流的分析方法,得到基于数据流分析的测试序列。3、用控制流分析ECPN并发结构生成测试序列。为测试并发结构,利用控制流分析并发结构,产生并发结构的测试序列。4、通过实验说明基于BPEL的ECPN模型的建立以及根据该模型分别从数据流和控制流两方面生成测试序列的过程。