基于BPEL的Web服务组合测试路径生成

2023-07-17 09:30董天骄
计算机应用文摘 2023年13期

摘要:文章以更好地实现服务组合测试为目标,提出基于BPEL的Web服务组合测试路径生成方法。首先将应用于描述BPEL流程的模型WFDAG,通过DAG对Web服务工作流进行建模,有效保证数据流测试路径的生成。然后以此为基础应用扩展后的分析方法,并采取覆盖原则ALL-USES进行数据流测试。最后以变量信息为指标分析所构建的WFDAG模型,从而获取符合所有既定数据流标准的测试路径。

关键词:BPEL;Web服务组合;测试路径生成;WFDAG

中图法分类号:TP393 文献标识码:A

1 引言

BPEL 能够使当前基础的Web 服务根据特定的应用逻辑构成特性更加复杂的业务集合,实现服务的重复应用与价值提升[1] 。但其复杂性会对服务组合测试造成较大的影响。实现服务组合测试需与测试用例相结合,通过测试路径生成测试用例[2] 。基于数据流覆盖的测试原则保证服务组合的正确性是当前最直接、有效的方式,其主要是对某设定的输入获取对应期望输出[3] ,同时利用某些变量的定義完成输入、输出间的关联,该方法具有较为直观的呈现结果。当前,国内外针对数据流相关测试标准方面开展的试验工作尚少[4] 。所以,为解决基于BPEL 的服务组合测试路径生成中存在的问题,需要先提出生成测试路径的方法,以获取符合所有既定数据流标准的测试路径。

2 BPEL 与Web 服务组合

2.1 BPEL

BPEL(Business Process Execution Language)是结合业务流程与Web 服务组合的一种业务流程执行语言,其是以XML 的流程描述语言为基础的一种强有力工具,可为Web 服务技术提供支持。BPEL 可实现业务流程结构的规范化处理以及Web 服务的开发,依赖于WSDL 规范且全部需要的外部资源均被称为WSDL 服务,能够对流程内的数据进行管理,以提高其传输有效性,同时还能够实现生命周期管理的优化,提升管理效率。

2.2 Web 服务组合

Web 服务组合是通过轻量级服务构建复杂性服务,实现服务体系的整体规范化、系统化、综合化,其具有实践性,为企业服务自动化奠定了基础。其中,轻量级服务表示规模小、简单易操作的任务功能,复杂性服务表示构建功能较全或针对用户需求制定的服务,可最大程度地满足用户需要。在轻量级服务过渡至复杂性服务时,需要对所有Web 服务进行连接,以构建一个统一的整体,从而提升企业管理效率。

3 Web 服务工作流建模

WFDAG ( Work Flow DAG) 基于有向无环图(Directed Acyclic Graph, DAG)增加了对BPEL 并发控制与同步依赖关系的处理并统计了相关数据,以便开展数据流分析,从而获得测试路径。DAG 为一个无环的有向图,被广泛应用于描述业务逻辑,其具有简单、直观等优势,因此,通过DAG 对Web 服务工作流进行建模,WFDAG 构成如下。

3.1 开始节点和结束节点

整体工作流的入、出口点分别通过开始、结束节点表示。二者分别负责统计整体工作流的输入参数列表和返回值。在WFDAG 中将开始和结束节点表示为2 个特殊的节点,开始、结束节点分别通过S,E描述,具体见图1。

3.2 活动和连接

如图1 所示,小写字母为WFDAG 内除开始、结束节点外的节点,表示一个活动,指的是某一Web 服务的一项具体操作;一条有向弧段表示一个连接,负责连接2 个相邻的活动,描述了活动间的运行顺序,且储存2 个相邻Web 服务输入与输出的匹配关系。

3.3 有效性

为实现有效、正确的解析,要求WFDAG 设计必须遵循以下要求: (1) WFDAG 内不存在环; (2)WFDAG 之外无孤立活动;(3)所有连接表示参数匹配,两端的参数类型一致。

3.4 WFDAG 的遍历及BPEL 文档的生成

该模型的核心算法主要包括有效性检验、WFDAG 的遍历2 部分。在有效性检验方面,主要对WFDAG 是否存在环进行判断,而通过DAG 构建Web服务工作流模型的重点为WFDAG 的遍历算法,其过程如下。由于WFDAG 表示的是Web 服务工作流的业务流程,对其所有节点的访问次序表示为工作流的业务逻辑,即遍历路径不随机且须从开始节点展开开始遍历,因此工作流中的服务之间存在一种依赖关系。例如,随机相邻的2 个Web 服务a 与b 的连接方向若为a 指向b,则b 依赖于a,主要原因是b 可以有效执行的基础是a 已经完成执行且将a 的返回结果指配给b。基于这种依赖关系,采取的遍历算法称为基于依赖的遍历方式,需要通过Visitor 设计模式对WFDAG 进行设计,并对节点进行具体的访问操作,即将生成BPEL 的元素封装至Visitor 接口的实现类中,

通过实现Visitor 的具体类来生成BPEL 文档的各个部分。

4 测试路径生成

4.1 扩展传统的数据流分析方法

本文采用基于有向无环图的可抵达定义分析法,并应用ALL⁃USES 的覆盖准则(即测试路径覆盖所有定义⁃使用对)。已知传统的可抵达定义计算公式如下:

5 结束语

针对基于BPEL 的Web 服务组合的测试路径生成问题,先对BPEL 流程建模,获取相关变量信息并构建可扩展的有向无环图WFDAG 模型,并以此为基础按照ALL⁃USES 准则进行测试,得出服务组合符合ALL⁃USES 的测试路径。未来还可以通过在建模方法的核心结构中加入复杂语法、验证BPEL 流程中数据流的属性等方式对本文方法展开进一步的研究。

参考文献:

[1] 徐克圣,王兰.基于BPEL 的WEB 服务组合测试路径生成[J].大连交通大学学报,2020,41(2):94⁃99.

[2] 铁威,黄志球,王进.基于BPEL 的RESTFUL WEB 服务异步交互及组合研究[J].计算机工程与科学,2013,35(4):29⁃36.

[3] 周子健,刘冬梅.基于PETRI 网自动化构建BPEL 流程的SMV 模型[J].计算机与数字工程,2021,49(10):2062⁃2068+2132.

[4] 张亚.服务组合BPEL 测试序列生成研究[J].计算机科学,2017,44(1):203⁃207+225.

作者简介:董天骄(1981—),本科,工程师,研究方向:计算机科学与技术。