微服务系统的自动化测试方法、系统及电子设备与流程

文档序号:40141681发布日期:2024-11-29 15:28阅读:8来源:国知局
微服务系统的自动化测试方法、系统及电子设备与流程

本发明涉及软件测试,具体地涉及一种微服务系统的自动化测试方法、一种微服务系统的自动化测试系统和一种电子设备。


背景技术:

1、智慧园区系统可以包括实现园区多种业务功能的设备,例如采集设备、数据处理设备和显示设备等,采集设备可以获得在智慧园区中各个位置点位数据,位置点位数据可以包括传感器数据、门禁刷卡记录数据、安防摄像头数据、电力/电气终端数据、账单数据等,数据处理设备可以是服务器集群且可以用于位置点位数据的实时值处理、记录历史值、触发警报规则等,显示设备可以是显示屏和获取接口数据的移动电话等,可以将指定的数据进行呈现。智慧园区系统可以是一种微服务系统,该微服务系统可以在微服务架构下被部署有不同数据采集、处理、显示等功能的多个微服务,任意一个微服务可以是作为消息生产者和/或消息消费者的程序实例(含可执行的组件),微服务之间可以通过消息中间件集群进行数据流转。

2、目前,在微服务系统上线之前,通常需要对微服务系统进行测试,完成该测试需要针对微服务系统中每种微服务的生产环境,手动配置相应的测试环境,逐一手动配置是非常繁琐的,同时,由于微服务种类繁多、微服务和消息中间件测试方式不同,则需要编写大量的测试用例脚本,针对每种微服务和消息中间件进行测试,将耗费大量时间和人力成本,实现微服务系统的测试是非常困难的。


技术实现思路

1、本发明的目的是提供一种微服务系统的自动化测试方法、系统及电子设备,避免对不同微服务的测试环境分别进行配置和避免微服务之间使用不同测试用例,实现自动化测试微服务系统,定位存在瓶颈的微服务,改善测试效率和成本。

2、为了实现上述目的,本发明实施例提供一种微服务系统的自动化测试方法,该自动化测试方法包括:

3、记录消息中间件集群的测试环境信息,并记录由待测微服务名称和主题标识名构成的绑定名称,所述消息中间件集群和各微服务均被部署于服务器集群;

4、读取记录的测试环境信息,并与所述消息中间件集群和所述服务器集群连接;

5、调用公共方法层中的封装类,对所述消息中间件集群和所述服务器集群执行消息堆积量测试,记录与主题对应的消息堆积量,该主题的主题标识名为所述绑定名称中主题标识名;

6、基于各主题的消息堆积量的变化趋势,确定存在消费瓶颈的微服务,该微服务的名称为所述绑定名称中待测微服务名称。

7、具体的,所述测试环境信息包括:

8、消息中间件集群的访问信息、关系数据库的访问信息、服务器集群的访问信息、监控采集参数;

9、所述关系数据库用于记录与各绑定名称对应的消息堆积量;

10、所述监控采集参数用于配置消息堆积量的监控总时长和采集间隔。

11、具体的,具有所述待测微服务名称的微服务作为具有所述主题标识名的主题中消息的消费者或属于该主题的消费者组。

12、具体的,其中,进行消息堆积量测试包括:

13、将测试数据输入作为生产者的微服务中;

14、通过测试中的消息中间件集群和各微服务,将所述服务器集群的资源占有度量值增加至指定的阈值;

15、确定当前的消息中间件中的偏移位数据,统计该消息中间件中主题的消息堆积量。

16、具体的,所述确定当前的消息中间件中的偏移位数据,统计该消息中间件中主题的消息堆积量,包括:

17、通过所述封装类,统计各主题的第一偏移位数据;

18、通过所述封装类,统计各主题的消费者组的已消费记录的第二偏移位数据;

19、通过所述封装类,基于所述第一偏移位数据与第二偏移位数据之差值,确定具有所述主题标识名的主题的消息堆积量。

20、具体的,其中,公共方法层包括:读取配置文件的封装类、统计消息堆积量的封装类、统计服务器占用资源的封装类和执行多线程的封装类。

21、具体的,所述基于各主题的消息堆积量的变化趋势,确定存在消费瓶颈的微服务,包括:

22、将所述绑定名称和与所述绑定名称对应的消息堆积量导入可视化分析系统,确定变化趋势图;

23、通过统计工具和所述变化趋势图,确定存在消费瓶颈的、具有所述绑定名称中微服务名称的微服务。

24、具体的,所述基于各主题的消息堆积量的变化趋势,确定存在消费瓶颈的微服务,包括:

25、确定各主题的消息堆积量高于指定堆积量阈值的时长与监控总时长的比例;

26、确定该比例高于指定比例阈值的主题标识名以及对应的绑定名称,将具有该绑定名称中微服务名称的微服务作为存在消费瓶颈的微服务。

27、本发明实施例提供一种微服务系统的自动化测试系统,该自动化测试系统包括:

28、配置文件模块,用于记录消息中间件集群的测试环境信息,并记录由待测微服务名称和主题标识名构成的绑定名称,所述消息中间件集群和各微服务均被部署于服务器集群;

29、公共方法模块,用于读取记录的测试环境信息,并与所述消息中间件集群和所述服务器集群连接;

30、监控执行模块,用于调用公共方法层中的封装类,对所述消息中间件集群和所述服务器集群执行消息堆积量测试,记录与主题对应的消息堆积量,该主题的主题标识名为所述绑定名称中主题标识名;

31、数据分析模块,用于基于各主题的消息堆积量的变化趋势,确定存在消费瓶颈的微服务,该微服务的名称为所述绑定名称中待测微服务名称。

32、再一方面,本发明实施例提供一种电子设备,该电子设备包括:

33、至少一个处理器;

34、存储器,与所述至少一个处理器连接;

35、其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,所述至少一个处理器通过执行所述存储器存储的指令实现前述的方法。

36、本发明通过绑定名称方式,通过封装类确定微服务对其主题的消息消费情况,实现了对消息中间件集群内的主题的消息堆积量进行实时监控,测试可以自动化地执行,能够将测试数据自动入库和完成数据呈现,为各个微服务的性能分析,提供可靠的数据,同时,可以确定并定位出存在性能(消息消费能力)瓶颈的微服务。本发明通过公共方法层中的封转类将绑定名称对应的微服务和主题的测试、监控功能实现与测试环境进行解耦,当需要监控的消息中间件集群和服务器集群的访问信息发生改变时,只需要修改记录的信息,不需要测试人员对程序脚本的代码了解、掌握,测试人员也能够快速应用于各类智慧园区系统中的测试。

37、本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。



技术特征:

1.一种微服务系统的自动化测试方法,其特征在于,该自动化测试方法包括:

2.根据权利要求1所述的微服务系统的自动化测试方法,其特征在于,所述测试环境信息包括:

3.根据权利要求1所述的微服务系统的自动化测试方法,其特征在于,具有所述待测微服务名称的微服务作为具有所述主题标识名的主题中消息的消费者或属于该主题的消费者组。

4.根据权利要求3所述的微服务系统的自动化测试方法,其特征在于,其中,进行消息堆积量测试包括:

5.根据权利要求4所述的微服务系统的自动化测试方法,其特征在于,所述确定当前的消息中间件中的偏移位数据,统计该消息中间件中主题的消息堆积量,包括:

6.根据权利要求1至5中任意一项所述的微服务系统的自动化测试方法,其特征在于,其中,公共方法层包括:读取配置文件的封装类、统计消息堆积量的封装类、统计服务器占用资源的封装类和执行多线程的封装类。

7.根据权利要求1所述的微服务系统的自动化测试方法,其特征在于,所述基于各主题的消息堆积量的变化趋势,确定存在消费瓶颈的微服务,包括:

8.根据权利要求1所述的微服务系统的自动化测试方法,其特征在于,所述基于各主题的消息堆积量的变化趋势,确定存在消费瓶颈的微服务,包括:

9.一种微服务系统的自动化测试系统,其特征在于,该自动化测试系统包括:

10.一种电子设备,其特征在于,该电子设备包括:


技术总结
本发明提供一种微服务系统的自动化测试方法、系统及电子设备,属于软件测试技术领域。所述方法包括:记录消息中间件集群的测试环境信息,并记录由待测微服务名称和主题标识名构成的绑定名称,所述消息中间件集群和各微服务均被部署于服务器集群;读取记录的测试环境信息,并与所述消息中间件集群和所述服务器集群连接;调用公共方法层中的封装类,对所述消息中间件集群和所述服务器集群执行消息堆积量测试,记录与主题对应的消息堆积量,该主题的主题标识名为所述绑定名称中主题标识名;基于各主题的消息堆积量的变化趋势,确定存在消费瓶颈的微服务,该微服务的名称为所述绑定名称中待测微服务名称。本发明可用于确定微服务的消息消费瓶颈。

技术研发人员:杨天雅
受保护的技术使用者:北京国双科技有限公司
技术研发日:
技术公布日:2024/11/28
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1