一种系统间集成测试方法与流程

文档序号:15143969发布日期:2018-08-10 20:13阅读:1023来源:国知局

本发明涉及计算机技术领域,具体涉及一种系统间集成测试方法。



背景技术:

微服务化趋势,使得各自系统或服务分工明确,各司其职,使得测试更专注于保证单模块的功能,而对于系统间的质量保证,只能通过各系统联调这种集成测试方式进行,这种测试以前端业务测试为主导,后端测试支持。在联调测试中一旦发现缺陷或故障,由于调用链复杂,涉及多个服务,需要逐级定位排查是哪些服务出现问题导致的,产生大量人力沟通和时间成本。



技术实现要素:

针对现有技术中的缺陷,本发明提供一种系统间集成测试方法,本发明能够实现两系统中各服务调用的追踪以及页面展示,从而有效缩短了集成测试中的问题排查时间。

为实现上述目的,本发明提供以下技术方案:

本发明提供了一种系统间集成测试方法,包括:

在第一系统和第二系统的各个服务器上分别部署代理程序,所述代理程序用于将出入对应服务器进程的所有流量请求转发至预设中心服务器上;其中,对于第一系统内各个服务器之间、在第二系统内各个服务器之间,或,第一系统和第二系统的各个服务器之间的服务调用,在每一次完整的调用流程中,最早的调用方在流量请求中加入对应的流量请求id,且在整个调用流程中的各级服务器在进行数据传递时也携带所述流量请求id;

所述预设中心服务器接收第一系统以及第二系统的各个服务器上部署的代理程序转发的流量请求并将接收到的流量请求与转发所述流量请求的服务器进行对应存储;

根据所述预设中心服务器上存储的流量请求与转发所述流量请求的服务器的对应关系、流量请求上携带的流量请求id,以及流量请求的调用时序,将每个完整的调用流程中涉及到的各服务器之间的调用关系以及调用数据呈现在预设页面上。

进一步地,所述第一系统和所述第二系统为不同开发语言架构的系统。

进一步地,所述第一系统为商家端系统,所述第二系统为用户端系统。

进一步地,所述预设页面为前端页面。

进一步地,所述第一系统包括3个以上服务器,所述第二系统包括3个以上服务器,不同的服务器用于提供不同的服务。

由上述技术方案可知,本发明提供的系统间集成测试方法,首先在第一系统和第二系统的各个服务器上分别部署代理程序,所述代理程序用于将出入对应服务器进程的所有流量请求转发至预设中心服务器上;其中,对于第一系统内各个服务器之间、在第二系统内各个服务器之间,或,第一系统和第二系统的各个服务器之间的服务调用,在每一次完整的调用流程中,最早的调用方在流量请求中加入对应的流量请求id,且在整个调用流程中的各级服务器在进行数据传递时也携带所述流量请求id;接着所述预设中心服务器接收第一系统以及第二系统的各个服务器上部署的代理程序转发的流量请求并将接收到的流量请求与转发所述流量请求的服务器进行对应存储;最后根据所述预设中心服务器上存储的流量请求与转发所述流量请求的服务器的对应关系、流量请求上携带的流量请求id,以及流量请求的调用时序,将每个完整的调用流程中涉及到的各服务器之间的调用关系以及调用数据呈现在预设页面上。可见,本发明提供的系统间集成测试方法,能够实现两系统中各服务调用的追踪以及页面展示,从而有效缩短了集成测试中的问题排查时间。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的系统间集成测试方法的流程图;

图2是商家端和用户端异构系统之间的服务调用示意图;

图3是本发明实施例提供的系统间集成测试方法的原理示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明一实施例提供了一种系统间集成测试方法,参见图1,该方法包括如下步骤:

步骤101:在第一系统和第二系统的各个服务器上分别部署代理程序,所述代理程序用于将出入对应服务器进程的所有流量请求转发至预设中心服务器上;其中,对于第一系统内各个服务器之间、在第二系统内各个服务器之间,或,第一系统和第二系统的各个服务器之间的服务调用,在每一次完整的调用流程中,最早的调用方在流量请求中加入对应的流量请求id,且在整个调用流程中的各级服务器在进行数据传递时也携带所述流量请求id。

在本步骤中,可以理解的是,每个流量请求中携带的流量请求id为唯一能够表示该流量请求的id。

步骤102:所述预设中心服务器接收第一系统以及第二系统的各个服务器上部署的代理程序转发的流量请求并将接收到的流量请求与转发所述流量请求的服务器进行对应存储。

步骤103:根据所述预设中心服务器上存储的流量请求与转发所述流量请求的服务器的对应关系、流量请求上携带的流量请求id,以及流量请求的调用时序,将每个完整的调用流程中涉及到的各服务器之间的调用关系以及调用数据呈现在预设页面上。

在本步骤中,所述预设页面可以为前端页面。

可以理解的是,在前端业务测试时,通过展示各个系统服务器间的调用关系和数据情况,一旦在测试过程中发现缺陷,前端业务测试人员就能迅速定位和排查是哪些服务(服务器提供的服务)的故障引发的,从而极大地降低了各业务线测试人员、研发人员的沟通成本,提高了多异构系统间的集成测试效率。

由上述技术方案可知,本实施例提供的系统间集成测试方法,首先在第一系统和第二系统的各个服务器上分别部署代理程序,所述代理程序用于将出入对应服务器进程的所有流量请求转发至预设中心服务器上;其中,对于第一系统内各个服务器之间、在第二系统内各个服务器之间,或,第一系统和第二系统的各个服务器之间的服务调用,在每一次完整的调用流程中,最早的调用方在流量请求中加入对应的流量请求id,且在整个调用流程中的各级服务器在进行数据传递时也携带所述流量请求id;接着所述预设中心服务器接收第一系统以及第二系统的各个服务器上部署的代理程序转发的流量请求并将接收到的流量请求与转发所述流量请求的服务器进行对应存储;最后根据所述预设中心服务器上存储的流量请求与转发所述流量请求的服务器的对应关系、流量请求上携带的流量请求id,以及流量请求的调用时序,将每个完整的调用流程中涉及到的各服务器之间的调用关系以及调用数据呈现在预设页面上。可见,本实施例提供的系统间集成测试方法,能够实现两系统中各服务调用的追踪以及页面展示,从而有效缩短了集成测试中的问题排查时间。

可以理解的是,在使用同语言开发的两个系统中,通过一些框架的统一限定,如可以通过日志等把多级系统调用关系和数据进行展示,也相对简单。但是对于不同语言开发的两个系统,无法或不便通过日志等将多级系统调用关系和数据进行展示,而本发明提供的系统间集成测试方法,通过进程级别的底层流量转发以及唯一id传递方法,不需要对各系统进行日志统一,因而也适用于不同开发语言架构的系统测试。

如图2所示,所述第一系统为商家端系统,所述第二系统为用户端系统。下面以图2所示的一类微服务为例对本实施例提供的系统间集成测试方法进行详细介绍。

参见图2,一种典型调用过程如下:

1、商家端人员发起操作,产生对a服务的调用;

2、a服务产生事件,如数据库变更操作,触发b服务;

3、b服务收到事件,发出对c服务的调用,对c服务返回数据进行处理后,通过消息系统,传递数据到用户端;

4、e服务消费消息并处理,可能发起用户端数据库操作;

5、用户端人员通过前端访问d服务,获取到从商家端同步的最新数据。

为对商家端和用户端两系统进行集成测试,参见图3,实现方案如下:

①实现一个常驻agent程序,并在上述5个服务主机(a、b、c、d和e)上部署,agent程序用于对所有出入对应服务进程的请求流量拷贝,并将请求转发到一个中心server上。

②实现一个中心server服务,用于接收1中各主机agent程序转发的流量请求,并对请求中的数据进行存储。

③实现一个前端页面,对2中的存储数据进行统计以及展示。

其中,在各个服务调用时,在一次调用过程中,最早的调用方在请求中加入唯一id,各级服务在数据传递时,都带上该唯一id;在异构系统中的消息传递时,也在消息中携带该唯一id。由于各级服务所在主机上的agent程序都转发的所有该服务的出入请求在2中的存储数据中也会收集到,在3中的页面上,根据唯一id,以及调用时序,可以还原一次调用中的调用关系以及数据,从而实现了对这次调用的追踪,因而可以方便地定位在联调测试中发现的问题,也可以满足部分服务监控的需求。

可见,本实施例提供的系统间集成测试方法,可以满足集成测试的需求。同时,稍微扩展即可满足部分业务及服务的监控需求,也可以满足后端数据测试中的自动化需求

可以理解的是,当前主流的集成测试方案,经常涉及到多系统联调、多人员参与,在定位及排查问题时耗时耗力,而本发明实施例通过实现各服务调用的追踪以及页面展示,能够有效缩短集成测试中的问题排查时间。此外,通过本发明实施例提供的测试方法,也可以完成在后端服务中的测试自动化,提高后端测试人员的工作效率。

以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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