一种服务测试方法和装置与流程

文档序号:13719608阅读:128来源:国知局
技术领域本发明涉及面向服务架构(SOA,service-orientedarchitecture)技术,尤其涉及一种服务开发接入SOA平台过程中的服务测试方法和装置。

背景技术:
网络服务(Webservice)是一个平台独立的、低耦合的、自包含的、基于可编程的web的应用程序,可使用开放的可扩展标记语言(XML,ExtensibleMarkupLanguage)标准来描述、发布、发现、协调和配置应用程序。目前,对运行在服务器的webservice程序的测试主要包括:服务提供方的端点地址测试和服务接入到SOA平台后的测试,其中,服务提供方的端点地址测试指服务提供方提供的webservice程序的可用性与规范性测试;服务接入到SOA平台后的测试指将提供方提供的webservice配置封装到SOA平台后,提供一个新的webservice的网络服务描述语言(WSDL,WebServicesDescriptionLanguage)地址,然后对这个新的webservice的测试。目前,在搭建SOA平台后,对服务器的webservice程序是否可用的测试主要依靠人工来进行,包括通过人工的方法针对业务系统提供的WSDL地址进行二次开发及发布等。因此,测试周期长,且由于SOA平台服务接入过程完全依靠人工,导致测试效率和准确性都很低,而人力成本却较高;并且SOA平台的服务测试能力不能对各业务系统兼容。

技术实现要素:
有鉴于此,本发明实施例期望提供一种服务测试方法和装置,能够缩短测试周期,提高测试效率和准确性。为达到上述目的,本发明的技术方案是这样实现的:本发明实施例提供了一种服务测试方法,所述方法包括:将业务系统提供的服务地址进行封装和配置,并发布到SOA平台测试环境;生成模拟客户端请求,对所述封装和配置后的服务地址进行服务测试。上述方案中,所述方法还包括:记录测试结果;其中,所述测试结果中包括但不限于:实例日志、错误日志、调用时长。上述方案中,在将业务系统提供的服务地址进行封装和配置之前,所述方法还包括:对业务系统提供的服务地址进行校验,判断所述服务地址是否符合规范。上述方案中,所述将业务系统提供的服务地址进行封装和配置包括:构建SOA平台服务端,通过所述SOA平台服务端对业务系统提供的服务地址进行封装,并对所述封装后的服务地址进行配置。上述方案中,所述生成模拟客户端请求包括:根据业务系统提供的服务地址构建模拟客户端,通过所述模拟客户端模拟请求参数,生成模拟客户端请求;其中,所述请求参数为webservice接口制定的输入参数,包括但不限于:调用方、调用时间、业务查询内容、验证字段内容。本发明实施例还提供了一种服务测试装置,所述装置包括:封装配置模块、测试模块;其中,所述封装配置模块,用于将业务系统提供的服务地址进行封装和配置,并发布到SOA平台测试环境;所述测试模块,用于生成模拟客户端请求,对所述封装和配置后的服务地址进行服务测试。上述方案中,所述装置还包括存储模块,用于记录测试结果;其中,所述测试结果中包括但不限于:实例日志、错误日志、调用时长。上述方案中,所述装置还包括校验模块,用于对业务系统提供的服务地址进行校验,判断所述服务地址是否符合规范。上述方案中,所述封装配置模块具体用于:构建SOA平台服务端,通过所述SOA平台服务端对业务系统提供的服务地址进行封装,并对所述封装后的服务地址进行配置。上述方案中,所述测试模块具体用于:生成模拟客户端请求,对所述封装和配置后的服务地址进行服务测试。本发明实施例所提供的服务测试方法和装置,先将业务系统提供的服务地址进行封装和配置,并发布到SOA平台测试环境;再生成模拟客户端请求,对所述封装和配置后的服务地址进行服务测试。如此,能够不需要人工参与,直接将服务提供方提供的服务进行测试,缩短了测试周期,提高了测试效率和准确性,且能够适用于不同的业务系统。附图说明图1为本发明实施例SOA平台服务架构拓扑示意图;图2为本发明实施例服务测试方法流程示意图;图3为本发明实施例服务测试装置结构示意图。具体实施方式本发明实施例中,先将业务系统提供的服务地址进行封装和配置,并发布到SOA平台测试环境;再生成模拟客户端请求,对所述封装和配置后的服务地址进行服务测试。首先,对本发明实施例所述服务测试方法的应用场景进行了解,图1为本发明实施例SOA平台服务架构拓扑示意图,如图1所示,所述服务架构包括四层:第一层为消费层,指服务消费方;第二层为企业服务总线,用于统一管理服务接口,统一发布信息;第三层为服务测试平台,用于让服务提供方进行服务接入的自助测试;第四层是业务系统,即服务提供方。上述SOA平台服务架构的作用是使服务消费方能够使用服务提供方提供的服务,即服务提供方将提供的服务发布到企业业务总线,服务消费方从企业业务总线获取服务提供方提供的服务。而一般情况下,服务提供方提供的服务地址并不能够直接被消费方使用,需要将服务提供方提供的服务地址进行处理后再提供给服务消费方使用;并且,服务提供方提供的服务地址在进行处理后,有可能会存在错误,因此,本发明实施例中,在成功建立SOA平台后,由位于第四层的业务系统根据指定的规范开发并提供webservice服务,发布后提供服务的WSDL地址到第三层的测试平台;然后在第三层的测试平台构建SOA平台服务端,通过所述SOA平台服务端对业务系统提供的服务地址进行封装,并对所述封装后的服务地址进行配置,然后发布到SOA平台测试环境;这里,所述SOA平台测试环境为位于第二层的企业服务总线;之后在测试平台构建模拟客户端,通过所述模拟客户端模拟请求参数,生成模拟客户端请求;对所述封装和配置后的服务地址进行服务测试,并记录测试结果。如此,能够在不需要人工干预的情况下,完成服务接入SOA平台后的服务测试。下面结合附图及具体实施例,对本发明技术方案的实施作进一步的详细描述。图2为本发明实施例服务测试方法流程示意图,如图2所示,本发明实施例服务测试方法包括以下步骤:步骤201:将业务系统提供的服务地址进行封装和配置,并发布到SOA平台测试环境;本步骤中,所述封装是指对所述服务地址进行二次开发,按照SOA平台的简单对象访问协议(SOAP,SimpleObjectAccessProtocol)修改业务系统提供的服务的WSDL文件、XML结构定义(XSD,XMLSchemasDefinition)文件、以及内部节点参数;所述配置是指将封装好的服务地址进行部署,如部署到SOA平台。进行封装和配置之后的服务地址与原来的服务地址的不同之处在于wsdl地址,主要是IP与端口不同。本发明实施例中,在将业务系统提供的服务地址进行封装和配置之前,所述方法还包括:对业务系统提供的服务地址进行校验,判断所述服务地址是否符合规范。所述将业务系统提供的服务地址进行封装和配置包括:构建SOA平台服务端,通过所述SOA平台服务端对业务系统提供的服务地址进行封装,并对所述封装后的服务地址进行配置。具体的,选择适配器,根据SOA平台提供的服务自动封装组件构建SOA平台服务端,并通过所述SOA平台服务端对业务系统提供的服务地址进行封装和配置,之后发布到配置的SOA平台企业服务总线环境。当发布失败时,则根据服务规范的内容,返回失败的标示符及异常消息,用于分析失败原因。这里,发布失败的原因包括:提供方的端点地址配置有误、获取数据源配置错误、或者封装的格式与SOA平台的版本规范不一致等等。步骤202:生成模拟客户端请求,对所述封装和配置后的服务地址进行服务测试;所述生成模拟客户端请求包括:根据业务系统提供的服务地址构建模拟客户端,通过所述模拟客户端模拟请求参数,生成模拟客户端请求;其中,所述请求参数为webservice接口制定的输入参数,包括但不限于:调用方、调用时间、业务查询内容、验证字段内容。本步骤中,所述测试可以为类似SOAPUi的客户端测试;构建模拟客户端,通过所述模拟客户端模拟请求参数,生成模拟客户端请求,对所述封装和配置后的服务地址进行服务测试。例如,由模拟客户端模拟服务消费方的行为,生成一组请求参数,请求服务提供方提供的服务,并接收测试结果。本发明实施例中,在进行服务测试后,所述方法还包括记录测试结果,并将通过测试的服务地址提供给消费方使用;其中,所述测试结果中包括但不限于:实例日志、错误日志、调用时长等,用于提供实例日志查询,进行异常跟踪分析,快速的定位服务问题。本发明实施例仅仅是以上述过程为例,具体实现过程中,可根据实际应用场景对具体步骤进行调整、替换、删除等。本领域的技术人员对本发明进行简单变动和变型仍然不脱离本发明的精神和范围。比如,在能够实现本发明所述发明目的的情况下,上述步骤可以适当互换,部分过程可以调整顺序,以形成新的实施例,这些调整均属于本发明所述范围。本发明实施例还提供了一种服务测试装置,图3为本发明实施例服务测试装置结构示意图,如图3所示,所述装置包括:封装配置模块31、测试模块32;其中,所述封装配置模块31,用于将业务系统提供的服务地址进行封装和配置,并发布到SOA平台测试环境;本发明实施例中,所述装置还包括校验模块33,用于对业务系统提供的服务地址进行校验,判断所述服务地址是否符合规范。所述封装配置模块31具体用于:构建SOA平台服务端,通过所述SOA平台服务端对业务系统提供的服务地址进行封装,并对所述封装后的服务地址进行配置。所述封装是指对所述服务地址进行二次开发,按照SOA平台的简单对象访问协议(SOAP,SimpleObjectAccessProtocol)修改业务系统提供的服务的WSDL文件、XML结构定义(XSD,XMLSchemasDefinition)文件、以及内部节点参数;所述配置是指将封装好的服务地址进行部署,如部署到SOA平台。进行封装和配置之后的服务地址与原来的服务地址的不同之处在于wsdl地址,主要是IP与端口不同。具体的,所述封装配置模块31选择适配器,根据SOA平台提供的服务自动封装组件构建SOA平台服务端,并通过所述SOA平台服务端对业务系统提供的服务地址进行封装和配置,之后发布到配置的SOA平台企业服务总线环境。当发布失败时,则根据服务规范的内容,返回失败的标示符及异常消息,用于分析失败原因。发布失败的原因包括:提供方的端点地址配置有误、获取数据源配置错误、或者封装的格式与SOA平台的版本规范不一致等等。所述测试模块32,用于生成模拟客户端请求,对所述封装和配置后的服务地址进行服务测试。本发明实施例中,所述测试模块32具体用于:据业务系统提供的服务地址构建模拟客户端,通过所述模拟客户端模拟请求参数,生成模拟客户端请求;其中,所述请求参数为webservice接口制定的输入参数包括但不限于:调用方、调用时间、业务查询内容、验证字段内容。本步骤中,所述测试模块32对所述封装和配置后的服务地址进行服务测试可以为类似SOAPUi的客户端测试;构建模拟客户端,通过所述模拟客户端模拟请求参数,生成模拟客户端请求,对所述封装和配置后的服务地址进行服务测试。例如,由模拟客户端模拟服务消费方的行为,生成一组请求参数,请求服务提供方提供的服务,并接收测试结果。本发明实施例中,所述装置还包括存储模块34,用于在进行服务测试后,记录测试结果,并将通过测试的服务地址提供给消费方使用;其中,所述测试结果中包括但不限于:实例日志、错误日志、调用时等,用于提供实例日志查询,进行异常跟踪分析,快速的定位服务问题。图3中所示的服务测试装置中的各处理模块的实现功能,可参照前述服务测试方法的相关描述而理解。本领域技术人员应当理解,图3所示的服务测试装置中各处理单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现,比如:可由中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)实现;所述存储单元也可以由各种存储器、或存储介质实现。在本发明所提供的几个实施例中,应该理解到,所揭露的方法、装置及系统,可以通过其他的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其他形式的。上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。另外,在本发明各实施例中的各功能模块可以全部集成在一个处理模块中,也可以是各模块分别单独作为一个模块,也可以两个或两个以上模块集成在一个模块中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-OnlyMemory)、磁碟或者光盘等各种可以存储程序代码的介质。或者,本发明实施例上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。本发明是实例中记载的服务测试方法、装置和系统只以上述实施例为例,但不仅限于此,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1