一种开放式SOA面向服务架构的测试方法及系统与流程

文档序号:11517657阅读:496来源:国知局

本发明属于电力系统自动化领域,具体涉及一种开放式soa面向服务架构的测试方法及系统。



背景技术:

特大电网的安全运行需要各级控制中心能具备快速的感知能力,具备强大地快速获取各类数据的能力。同时,电网自动化领域各系统支撑的应用类型及业务部门逐步扩大,系统数据服务对象逐步增加,计算分析类功能将逐步全面在线化的趋势,导致系统间存在着大量的数据交互。

目前电力调度系统中现有的soa产品都是相对封闭的且主要应用于局域网内部的服务访问和管理。而开放式soa的应用,能够有效的改善现有调度系统数据接入方式所带来的不足,充分利用现有网络资源,满足调度自动化系统不断扩大的业务数据需求。然而电力系统开放式soa产品刚刚起步,虽然有着相关标准和互操作实验的支撑,但是随着未来广域环境下异构环境的数据服务接入,以及各类业务服务实时访问和管理需求的增加,对于开放式soa产品的稳定性和安全性提出了更高的要求。

现有技术中存在尚未有对开放式soa的包括稳定性、安全性等提出全面测试的问题。



技术实现要素:

本发明为了克服上述缺陷,提出一种开放式soa面向服务架构的测试方法及系统,可对基于调度数据网开放环境下的开放式soa产品的不同阶段进行分层校验和测试,并通过流程化的报告和日志为后续的修改和调试提供依据。

本发明的目的是采用下述技术方案实现的:

一种开放式soa面向服务架构的测试方法,包括:

将soa标准符合性测试模块和被测系统划分为多个层级;

soa标准符合性测试模块基于每个层级的测试标准和规范对所述被测系统相应层级进行测试。

优选的,所述被测系统包括客户端api和服务端api;

针对所述客户端api,所述soa标准符合性测试模块根据每个层级相应的测试标准和规范对所述客户端api相应层级的客户端关键节点数据进行校验;

针对所述服务端api,所述soa标准符合性测试模块根据每个层级相应的测试标准和规范针对所述服务端api相应层级的服务端关键节点数据进行分析测试,并与所述层级的客户端关键节点数据进行比对,形成测试结果。

生成所述客户端关键节点数据包括:依据相应层级的测试标准和规范生成客户端关键节点数据;

生成所述服务端关键节点数据包括:依据相应层级的测试标准和规范生成服务端关键节点数据。

优选的,将soa标准符合性测试模块和被测系统划分为多个层级,具体包括

将所述被测系统的客户端api划分为编码层,规约层,应用层和传输层,将所述被测系统的服务端划分为解码层,规约层,应用层和传输层;

所述编码层,是对交互数据进行数据编码的功能;

所述规约层,是对编码后的数据形成并添加交互规约相关描述的功能;

所述应用层,是在上述数据基础上添加业务应用需求相关描述的功能;

所述传输层,是在客户端api和服务端api之间通过soa传输管理进行数据传输和和交换的功能;

所述解码层,将数据进行解码的功能;

将所述soa标准符合性测试模块划分为编码符合性测试、规约符合性测试、应用功能测试和异常测试;

所述客户端关键节点数据包括:所述编码层形成的关键节点为a1;所述规约层形成的关键节点为a2;所述应用层形成的关键节点为a3;所述传输层形成的关键节点为a4;

所述服务端关键节点数据:所述解码层形成的关键节点为b0;所述规约层形成的关键节点为b1;所述应用层形成的关键节点为b2;所述传输层形成的关键节点为b3。

所述客户端api接收的服务请求为数据a0;

所述编码符合性测试用于提取数据关键节点a1的数据,根据输入数据a0按照编码规范进行数据编码后,所得结果与关键节点a1进行比对,验证soa客户端api编码层对于编码规范的标准符合性;

所述规约符合性测试用于提取关键节点a2的数据,根据soa架构内部通信规约进行规约信息校验,验证soa客户端api规约层对于内部通信规约的标准符合性;

所述应用功能测试用于提取关键节点a3数据,根据soa特定业务需求或服务模式的应用服务请求对其进行分析测试,同时与关键节点a2数据进行比对形成应用功能信息符合性测试结果;

当所述soa标准符合性测试模块针对所述服务端api进行测试时:

所述应用功能测试用于提取关键节点b3的数据,通过分析测试经过传输层解析后的数据,并与a3的数据进行比对,形成应用功能一致性测试结果;

所述规约符合性测试用于提取关键节点b2的数据,通过分析测试所述数据包经过应用层解析后的数据,并与a2数据进行比对,形成规约一致性测试结果;

所述编码符合性测试用于提取关键节点b1和b0数据,通过分析测试所述数据包经过规约层解析后的服务请求数据,并与a1的数据进行比对,形成编解码一致性测试结果。

优选的,还包括判断测试角色,所述测试角色包括:客户端开发者、服务端开发者或soa开发者中的任意组合;

当测试角色为客户端开发者和服务端开发者时,所述层级包括但不限于:功能层和传输层;当测试角色为soa开发者时,所述层级包括但不限于:编码层、规约层。

优选的,所述soa标准符合性测试模块还包括对从所述客户端api传输到所述服务端api的数据进行测试,包括:

数据从所述客户端api传输到所述服务端api时生成关键节点b4;

针对所述客户端和服务端,所述异常测试提取关键节点a4和b4的数据,采用模拟网络传输中的各种异常情况,对soa传输管理处理和恢复异常的能力进行分析和测试,并对关键节点a4和b4的数据进行比对形成异常测试处理结果。

本发明还提供一种开放式soa面向服务架构的测试系统,包括:soa标准符合性测试模块、层级管理模块;

所述层级管理模块用于将soa标准符合性测试模块和被测系统划分为多个层级;

所述soa标准符合性测试模块的每个层级根据本层的测试标准和规范对被测系统相应层级进行测试。

所述被测系统包括客户端api和服务端api;

针对所述客户端api,所述soa标准符合性测试模块用于:根据所述soa标准符合性测试模块的每个层级相应的测试标准和规范对所述客户端api相应层级的客户端关键节点数据进行校验;

针对所述服务端api,所述soa标准符合性测试模块用于:根据所述soa标准符合性测试模块每个层级针对所述服务端api相应层级的服务端关键节点数据进行分析测试,并与所述层级的客户端关键节点数据进行比对,形成测试结果。

所述层级管理模块将所述被测系统的客户端api划分的多个层级包括:编码层,规约层,应用层和传输层,将所述被测系统的服务端api划分的多个层级包括:解码层,规约层,应用层和传输层;

所述soa标准符合性测试模块包括编码符合性测试模块、规约符合性测试模块、应用功能测试模块和异常测试模块;

所述编码符合性测试模块用于对所述编/解码层测试,所述规约符合性测试模块用于对所述规约层测试,所述应用功能测试模块用于对所述应用层测试,所述异常测试模块用于对传输层测试。

优选的,还包括关键节点管理模块,包括:

针对所述客户端api:所述编码层形成的关键节点为a1;所述规约层形成的关键节点为a2;所述应用层形成的关键节点为a3;所述传输层形成的关键节点为a4;

针对所述服务端api:所述解码层形成的关键节点为b0;所述规约层形成的关键节点为b1;所述应用层形成的关键节点为b2;所述传输层形成的关键节点为b3;

所述soa标准符合性测试模块的每层级根据所述层级的测试标准和规范对所述关键节点进行验证。

针对所述客户端:

所述编码符合性测试模块用于提取数据关键节点a1的数据,根据输入数据a0按照编码规范进行数据编码后,所得结果与关键节点a1进行比对,验证soa客户端api编码层对于编码规范的标准符合性;

所述规约符合性测试模块用于提取关键节点a2的数据,根据soa架构内部通信规约进行规约信息校验,验证soa客户端api规约层对于内部通信规约的标准符合性;

所述应用功能测试模块用于提取关键节点a3数据,根据soa特定业务需求或服务模式的应用服务请求对其进行分析测试,同时与关键节点a2数据进行比对形成应用功能信息符合性测试结果;

针对所述服务端:

所述应用功能测试模块用于提取关键节点b3的数据,通过分析测试经过传输层解析后的数据,并与a3的数据进行比对,形成应用功能一致性测试结果;

所述规约符合性测试模块用于提取关键节点b2的数据,通过分析测试所述数据包经过应用层解析后的数据,并与a2数据进行比对,形成规约一致性测试结果;

所述解码符合性测试模块用于提取关键节点b1和b0数据,通过分析测试所述数据包经过规约层解析后的服务请求数据,并与a1的数据进行比对,形成编解码一致性测试结果。

与最接近的现有技术比,本发明的有益效果为:

本发明提供的开放式soa面向服务架构的测试方法,将soa标准符合性测试模块和被测系统划分为多个层级,可适应soa架构中不同的标准规范测试需求。soa标准符合性测试模块基于每个层级的测试标准和规范对所述被测系统相应层级进行测试,具备较高的灵活性和通用性,满足soa架构中的服务数据交互、性能和异常处理能力的全面校验。

本发明提供的测试系统,包括soa标准符合性测试模块、测试结果生成模块、传输模块和至少两个角色;所述角色根据所述层级生成或解析相应的关键节点;角色间通过所述传输模块进行数据交互;

所述soa标准符合性测试模块包括多个层级,所述每个层级用于针对不同的测试标准和规范进行测试,包括:关键节点生成单元、关键节点解析单元和测试单元;

基于以上测试系统对soa架构中的服务数据交互流程、soa架构性能和异常处理能力等进行了全面的评判。该测试系统通过提取关键节点的方式,不直接对数据交互流程进行干预,因此不会对正常的数据通信流程产生影响;

所述测试单元用于针对不同层级进行测试通过确定开放式soa面向服务架构各层级包含的关键节点;调用测试用例对关键节点的数据进行soa标准符合性测试,最终获得开放式soa面向服务架构各层级的测试结果。采用测试用例的方式,可适应soa架构中不同的标准规范测试需求,具有良好的通用性和适应性;有效支撑电网数据服务的安全稳定运行。可对基于调度数据网开放环境下的开放式soa产品的不同层级进行分层校验和测试,提高服务请求者和服务提供者对于开放式soa产品的标准符合性,大大缩短了开放式soa产品及相关应用的投入周期,保证了开放式soa产品的稳定性和安全性。

附图说明

图1为本发明实施例提供的开放式soa面向服务架构测试系统结构示意图;

具体实施方式

下面结合附图对本发明的具体实施方式作进一步详细的说明。

本发明涉及一种开放式soa面向服务架构的测试系统和方法,通过确定开放式soa面向服务架构各层级包含的关键节点;调用测试用例对关键节点的数据进行soa标准符合性测试,最终获得开放式soa面向服务架构各层级的测试结果。基于以上测试系统对soa架构中的服务数据交互流程、soa架构性能和异常处理能力等进行了全面的评判。该测试系统包括soa标准符合性测试模块、测试结果生成模块、传输模块和至少两个角色;角色间通过所述传输模块进行数据交互;所述角色根据所述层级生成或解析相应的关键节点;

soa标准符合性测试模块包括多个层级,每个层级用于针对不同的测试标准和规范进行测试,包括:关键节点生成单元、关键节点解析单元和测试单元;

测试单元用于针对不同层级进行测试。

测试单元包括测试用例,测试用例存储于对应的测试集中,不同的测试用例用于针对不同层级进行测试记录并形成测试报告。

角色包括客户端角色和服务端角色;其中,

客户端角色用于根据所述层级生成相应层级的关键节点;

服务端角色用于根据所述层级解析相应层级的关键节点。

所述层级包括编码层,规约层,应用层和传输层;

所述客户端角色根据所述编码层生成关键节点a1;

所述客户端角色根据所述规约层生成关键节点a2;

所述客户端角色根据所述应用层生成关键节点a3;

所述客户端角色根据所述传输层用于生成关键节点a4;

所述客户端角色通过所述传输模块将数据传输给所述服务端角色;

所述服务端角色对所述编码层进行解析得到关键节点b1;

所述服务端角色对所述编码层进行解析得到关键节点b2:

所述服务端角色对所述规约层进行解析得到关键节点b3:

所述服务端角色对所述应用层进行解析得到关键节点b4。

编码层的测试用例为编码符合性测试,所述规约层测试用例为规约符合性测试,所述应用层测试用例为应用功能测试;

编码符合性测试用于提取数据关键节点a1的数据,根据原始关键节点a0按照编码规范进行数据编码后,所得结果与关键节点a1进行比对,验证soa客户端api编码层对于编码规范的标准符合性;

规约符合性测试提取关键节点a2的数据,根据soa架构内部通信规约进行规约信息校验,验证soa客户端api规约层对于内部通信规约的标准符合性;通信规约包括:远动的104、476规约、消息总线和电力系统通用服务协议规范;

应用功能测试提取关键节点a3数据,根据soa特定业务需求或服务模式的应用服务请求对其进行分析测试,同时与关键节点a2数据进行比对形成应用功能信息符合性测试结果;

异常测试提取关键节点a4和b4的数据,采用模拟网络传输中的各种异常情况,对soa传输管理处理和恢复异常的能力进行分析和测试,并对关键节点a4和b4的数据进行比对形成异常测试处理结果;

应用功能测试提取关键节点b3的数据,通过分析测试经过传输层解析后的服务请求数据,并与a3的数据进行比对,形成应用功能一致性测试结果;

规约符合性测试提取关键节点b2的数据,通过分析测试经过应用层解析后的服务请求数据,并与a2数据进行比对,形成规约一致性测试结果;

编码符合性测试提取关键节点b1和b0数据,通过分析测试经过规约层解析后的服务请求数据,并与a1的数据进行比对,形成编解码一致性测试结果。

服务服务请求数据:如pc定位者rpclocator,事件日志eventlog,dhcpclient,;软件服务softwareservice,如分布式服务distributionservice,警告服务alertservice安全服务securityservice,日志服务;业务服务businessservice,如帐号和客户服务,销售服务,订单服务,采购服务等数据。

soa标准符合性测试包括编码符合性测试、规约符合性测试、应用功能测试和异常测试;其测试方法包括单一数据标准符合性校验和双端数据一致性校验;单一数据标准符合性校即在数据交互过程中可保证不中断运行的前提下,选取关键节点对应的测试集,调用其包含的测试用例实时对各层级的关键节点的数据进行测试;双端数据一致性校验,是等待接收端成功接收服务访问请求,及整个数据交互结束后,对关键节点对应层级的关键节点数据进行测试。

编码符合性测试中,若使用asn.1编码,则调用编码符合性测试子集中对应的asn.1编码测试用例,若使用电力系统模型数据动态消息编码,则调用编码符合性测试集中对应的动态消息编码测试用例进行测试;

规约符合性测试包括:调用传统远动的104、476规约、消息总线和电力系统通用服务协议规范用例进行测试;可针对不同规约进行测试用例的替换;

应用功能测试包括:调用并发测试、压力测试以及雪崩测试用例进行测试;

异常测试包括:调用采用网络堵塞、延迟、丢包以及冗余包等异常或扰动测试用例进行测试。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本申请的技术方案而非对其保护范围的限制,尽管参照上述实施例对本申请进行了详细的说明,所属领域的普通技术人员应当理解:本领域技术人员阅读本申请后依然可对申请的具体实施方式进行种种变更、修改或者等同替换,这些变更、修改或者等同替换,其均在其申请待批的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1