一种基于状态机的多节点互操作流程测试系统及方法技术方案

技术编号:37767942 阅读:9 留言:0更新日期:2023-06-06 13:29
本发明专利技术提供了一种基于状态机的多节点互操作流程测试系统、一种基于状态机的多节点互操作流程测试方法。本发明专利技术针对多节点间的、较多交互信息的互操作流程验证需求,一是通过场景预设、仿真模拟、多角色支持等方法,解决“多对多”的节点间互操作验证问题;二是通过有限状态机模型这一基础模型,克服架构和开发语言的局限性,扩展应用场景;三是通过抽取通用的协议解析层解决验证过程中的语法层测试及语法层错误覆盖问题;四是通过构建包含错误流程的预设场景及状态机转换设计,采用将实际应用流程与预设流程模型映射、显示实际流程与预期结果的差异的方式,实现语用层的测试支持及错误覆盖。误覆盖。误覆盖。

【技术实现步骤摘要】
一种基于状态机的多节点互操作流程测试系统及方法


[0001]本专利技术涉及互操作测试
,具体而言,涉及一种基于状态机的多节点互操作流程测试系统、一种基于状态机的多节点互操作流程测试方法。

技术介绍

[0002]目前,在业务流程管理与验证方面,已有许多业务流程建模语言和标准,其中应用较为广泛的是BPMN和BPEL。BPMN是一套图形化的业务流程表示工具,通过提供可视化界面和图形化符号来支持模型的配置,现已成为OMG组织的正式标准;BPEL是一种基于XML的用于描述业务过程的编程语言,主要用于描述Web服务间的通信过程及服务的组合应用。
[0003]同时,在业务流程的互操作测试方面,基于形式化方法的互操作测试是较为重要的领域。目前的普遍思想是使用有限状态机建立被测系统的形式化模型,对其进行全局状态可达性分析,并进而生成测试序列。但互操作测试目前集中在一对一验证的简单情况,无法实现多节点交互测试,导致目前的业务流程管理与验证仅能针对单一流程,不适用于业务之间存在较多交互的流程验证。

技术实现思路

[0004]为了改善上述技术问题至少之一,本专利技术的一个目的在于提供一种基于状态机的多节点互操作流程测试系统,简称测试系统,用于满足多节点间的、较多交互信息的互操作流程验证需求。
[0005]为实现上述目的,本专利技术第一方面的技术方案提供的基于状态机的多节点互操作流程测试系统,包括数据收发模块、数据解析模块、状态机运行管理模块、应用仿真模块、测试激励生成模块、用户界面。
[0006]具体地,数据收发模块用于对各节点收发的测试激励信息进行实时采集;测试激励信息包括人机交互信息及节点间的互操作信息;数据解析模块与数据收发模块相连,用于对测试激励信息进行语法层测试及语义层测试;其中,语法层测试用检测测试激励信息的格式是否符合预设格式要求,语义层测试用于解析测试激励信息,以获取测试激励信息中的数据内容,包括场景及角色;状态机运行管理模块与数据解析模块相连,用于根据解析出的数据内容,加载场景库及角色库,并为各节点分配场景及角色,以使节点在不同状态下能够执行与角色相应的任务并向其他节点发送相应的互操作信息;应用仿真模块与数据解析模块相连,用于对节点获取的测试激励信息进行语用层测试,语用层测试用于判断该节点在当前状态下是否能执行测试激励信息中的角色的任务;且应用仿真模块与状态机运行管理模块相连,用于根据场景确定互操作流程,并根据互操作流程驱动状态机运行管理模块进行各节点的状态机的状态切换,以切换节点的状态,使节点在通过语用层测试后执行相应的角色任务;状态机运行管理模块用于在应用仿真模块的驱动下,读取状态机模型库,并根据解析的测试激励信息,进行节点的状态机的运行管理,实现状态切换,并向应用仿真模块反馈状态切换情况;测试激励生成模块与应用仿真模块及数据收发模块相连,用于根
据互操作流程,在通过语用层测试后,生成节点间的互操作信息,发送给数据收发模块,用于激励另一节点;用户界面与应用仿真模块相连,用于根据互操作流程的执行顺序,实时更新并显示各节点的状态切换情况、语法层测试结果、语义层测试结果及语用层测试结果。
[0007]另外,本专利技术提供的上述技术方案中的基于状态机的多节点互操作流程测试系统还可以具有如下附加技术特征:
[0008]在上述技术方案中,数据收发模块还用于对测试激励信息进行格式化处理,用于将测试激励信息统一为预设格式。
[0009]在上述技术方案中,多节点互操作流程测试系统被配置为多节点之一。在另一些技术方案中,多节点互操作流程测试系统与多节点部署于同一物理机上。
[0010]综上,本专利技术所提供的本技术方案所提供的测试系统基于场景库、角色库及有限状态机模型构建,可与被测节点协同构建相应互操作场景,触发场景运行,侦听获取场景中交互的信息,通过格式化处理、信息匹配,分析出实际流程中各节点承担的角色,同时进行信息时间关联、信息交互关联等处理,实现实际应用流程与预设流程模型映射,给出实际流程与预期结果的差异,进而通过完成整个互操作流程,实现多节点间的交互信息的互操作验证(即包括语法层、语义层及语用层测试)。
[0011]本专利技术第二方面的技术方案提供了一种基于状态机的多节点互操作流程测试方法。该测试方法包括如下步骤:
[0012]步骤S1,构建场景库、角色库和状态机模型集合,并进行初始化;场景库用于为节点分配任务场景,角色库用于为节点加载用于执行任务的角色,状态机模型集合用于为节点分配状态机,以避免该节点同时存在于多个互操作流程中,相互干涉;
[0013]步骤S2,接收测试激励信息,并将接收测试激励信息的节点作为当前节点;测试激励信息包括人机交互信息及节点间的互操作信息;
[0014]步骤S3,对测试激励信息进行语法层测试及语义层测试;其中,语法层测试用检测测试激励信息的格式是否符合预设格式要求,语义层测试用于解析测试激励信息,以获取测试激励信息中的数据内容,数据内容包括场景、角色,其中,场景用于确定互操作流程,角色用于确定节点的执行任务;
[0015]其中,若测试激励信息的格式符合预设格式要求,则认为通过语法层测试,执行步骤S4,若测试激励信息的格式不符合预设格式要求,则认为未通过语法层测试,返回步骤S2,等待接收测试激励信息;
[0016]步骤S4,根据解析出的数据内容,为当前节点从场景库中匹配对应的场景、从角色库中匹配对应的角色;并对数据内容进行语用层测试,根据语用层测试结果更新当前节点的状态机,驱动当前节点执行相应的任务、更新当前节点的状态,并向其他节点发送互操作信息;
[0017]步骤S5,更新并显示当前节点的状态切换情况、语法层测试结果、语义层测试结果及语用层测试结果。
[0018]其中,步骤S4包括:
[0019]根据解析出的数据内容,为接收测试激励信息的当前节点从场景库中匹配对应的场景、从角色库中匹配对应的角色,根据场景确定当前互操作流程,并判断当前互操作流程对应的状态机模型集合中是否存在与测试激励信息对应的状态机;
[0020]若不存在对应的状态机,则认为数据内容属于新的互操作流程,根据当前节点的场景和角色,创建对应的状态机,并根据创建的状态机,更新当前节点的状态;
[0021]若存在对应的状态机,则认为数据内容属于当前互操作流程,进行语用层测试,语用层测试用于判断为当前节点分配的角色是否为能执行任务的角色;若当前节点在当前状态下的角色是能执行任务的角色,则认为通过语用层测试,根据当前互操作流程,驱动当前节点执行相应的任务、更新当前节点的状态,并向其他节点发送互操作信息;
[0022]若当前节点在当前状态下的角色不是能执行任务的角色,则认为未通过语用层测试,返回步骤S2,等待接收测试激励信息。
[0023]另外,本专利技术提供的上述技术方案中的基于状态机的多节点互操作流程测试方法还可以具有如下附加技术特征:
[0024]在上述技术方案中,在步骤S5之后还包括:
[0025本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于状态机的多节点互操作流程测试系统,其特征在于,包括:数据收发模块,用于对各节点收发的测试激励信息进行实时采集;所述测试激励信息包括人机交互信息及节点间的互操作信息;数据解析模块,与所述数据收发模块相连,用于对测试激励信息进行语法层测试及语义层测试;其中,所述语法层测试用检测测试激励信息的格式是否符合预设格式要求,所述语义层测试用于解析测试激励信息,以获取测试激励信息中的数据内容,包括场景及角色;状态机运行管理模块,与所述数据解析模块相连,用于根据解析出的数据内容,加载场景库及角色库,并为各节点分配场景及角色,以使节点在不同状态下能够执行与角色相应的任务并向其他节点发送相应的互操作信息;应用仿真模块,与所述数据解析模块相连,用于对节点获取的测试激励信息进行语用层测试,所述语用层测试用于判断该节点在当前状态下是否能执行测试激励信息中的角色的任务;且所述应用仿真模块与所述状态机运行管理模块相连,用于根据场景确定互操作流程,并根据互操作流程驱动所述状态机运行管理模块进行各节点的状态机的状态切换,以切换节点的状态,使节点在通过语用层测试后执行相应的角色任务;所述状态机运行管理模块用于在所述应用仿真模块的驱动下,读取状态机模型库,并根据解析的测试激励信息,进行节点的状态机的运行管理,实现状态切换,并向所述应用仿真模块反馈状态切换情况;测试激励生成模块,与所述应用仿真模块及所述数据收发模块相连,用于根据互操作流程,在通过语用层测试后,生成节点间的互操作信息,发送给所述数据收发模块,用于激励另一节点;用户界面,与所述应用仿真模块相连,用于根据互操作流程的执行顺序,实时更新并显示各节点的状态切换情况、语法层测试结果、语义层测试结果及语用层测试结果。2.根据权利要求1所述的基于状态机的多节点互操作流程测试系统,其特征在于,所述数据收发模块还用于对测试激励信息进行格式化处理,用于将测试激励信息统一为预设格式。3.根据权利要求1或2所述的基于状态机的多节点互操作流程测试系统,其特征在于,所述多节点互操作流程测试系统被配置为多节点之一;或者所述多节点互操作流程测试系统与多节点部署于同一物理机上。4.一种基于状态机的多节点互操作流程测试方法,其特征在于,包括如下步骤:步骤S1,构建场景库、角色库和状态机模型集合,并进行初始化;所述场景库用于为节点分配任务场景,所述角色库用于为节点加载用于执行任务的角色,所述状态机模型集合用于为节点分配状态机,以避免该节点同时存在于多个互操作流程中,相互干涉;步骤S2,接收测试激励信息,并将接收测试激励信息的节点作为当前节点;所述测试激励信息包...

【专利技术属性】
技术研发人员:唐素纯季祥业陈颖
申请(专利权)人:中国舰船研究院中国船舶集团有限公司第七研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1