用于微服务架构的测试方法、装置和电子设备制造方法及图纸

技术编号:29583855 阅读:12 留言:0更新日期:2021-08-06 19:42
本公开公开了一种用于微服务架构的测试方法,涉及云计算技术领域,进一步涉及分布式系统技术领域。具体实现方案为:获取线上产生的流量数据;识别所获取的流量数据中由读操作产生的读流量数据;滤除所获取的流量数据中读流量数据以外的流量数据,得到测试数据集;以及使用测试数据集对上述微服务架构中的业务模块进行测试。本公开还公开了一种用于微服务架构的测试的装置、一种电子设备、一种存储有计算机指令的非瞬时计算机可读存储介质。

【技术实现步骤摘要】
用于微服务架构的测试方法、装置和电子设备
本公开涉及云计算
,进一步涉及分布式系统
本公开提供了一种用于微服务架构的测试方法、一种用于微服务架构的测试装置、一种电子设备、一种存储有计算机指令的非瞬时计算机可读存储介质、一种计算机程序产品。
技术介绍
微服务架构中的业务模块在变更后、上线前需要进行测试。在传统的测试场景中,可以提供一套与生产环境类似的线下环境进行测试。测试用的数据可以是人工构造的或线上引流产生的。
技术实现思路
本公开提供了一种用于微服务架构的测试方法、装置、设备、计算机可读存储介质以及计算机程序产品。根据第一方面,提供了一种用于微服务架构的测试方法,包括:获取线上产生的流量数据;识别所获取的流量数据中由读操作产生的读流量数据;滤除所获取的流量数据中读流量数据以外的流量数据,得到测试数据集;以及使用测试数据集对上述微服务架构中的业务模块进行测试。根据第二方面,提供了一种用于微服务架构的测试装置,包括:获取模块,用于获取线上产生的流量数据作为测试数据集;识别模块,用于识别所获取的流量数据中由读操作产生的读流量数据;滤除模块,用于滤除所获取的流量数据中读流量数据以外的流量数据,得到测试数据;以及测试模块,用于使用测试数据对上述微服务架构中的业务模块进行测试。根据第三方面,提供了一种电子设备,包括:至少一个处理器;以及与上述至少一个处理器通信连接的存储器;其中,上述存储器存储有可被上述至少一个处理器执行的指令,上述指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行上述的方法。根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,上述计算机指令用于使上述计算机执行上述的方法。根据第五方面,提供了一种计算机程序产品,包括计算机程序,上述计算机程序在被处理器执行时实现上述的方法。应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。附图说明附图用于更好地理解本方案,不构成对本公开的限定。其中:图1是根据本公开的一个实施例的可以应用用于微服务架构的测试方法的示例性系统架构示意图;图2是根据本公开一个实施例的用于微服务架构的测试方法的流程图;图3是根据本公开另一实施例的用于对业务模块进行测试的方法的流程图;图4A和图4B是根据本公开一个实施例的用于微服务架构的测试方法的原理图;图5是根据本公开一个实施例的用于微服务架构的测试装置的框图;图6是根据本公开的一个实施例的用于微服务架构的测试方法的电子设备的框图。具体实施方式以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。本公开的技术方案中,所涉及的相关数据(如流量数据)的记录、存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。应用微服务架构的在线系统中包含的业务模块可以达到数百个。业务模块的变更以天为单位级别。变更后的模块在上线前,需要对其进行性能测试和回归测试,以降低模块变更对线上系统带来可能的稳定性和速度风险,其中回归测试是指针对变更后的新版本模块,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。性能测试或者回归测试需要将测试数据提供给变更后的业务模块,然后令变更后的业务模块在测试环境中执行相应的操作以得到测试结果。在传统的测试场景中,测试环境可以是一套与生产环境类似的线下环境,存在仿真不充分、维护成本高等问题。在传统的测试场景中,可选择人工构造或线上引流的方式来生成测试数据。人工构造的数据有很大的弊端,例如维护成本较高,且数据多样性不足以反映线上真实使用场景。此外,采用线上引流的方式,则需隔离写入操作,避免污染生产环境数据。本公开的实施例提供了一种用于微服务架构的测试方法。通过获取线上产生的真实流量数据作为测试数据集,并对测试数据集中的数据加标签,以滤除由于写操作产生的写流量数据,由此提高测试数据的准确性,从而提高测试的准确性。图1是根据本公开的一个实施例的可以应用用于微服务架构的测试方法的示例性系统架构示意图。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的
技术实现思路
,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。如图1所示,根据该实施例的系统架构100可以包括微服务架构110和测试管理平台120。微服务架构110包括服务层111,服务层111内包括多个业务模块,例如业务模块1111和业务模块1112。业务模块运行的环境可以称为生产环境。微服务架构110还可以包括访问层、接口层和存储层(图1中未示出)。微服务架构可以是云原生架构,因此微服务架构具有云原生应用下资源隔离、容器化的特点。示例性地,微服务架构110可以是提供各种服务的服务架构,例如对用户利用终端设备所浏览的网站或客户端应用提供支持的后台管理服务架构。该服务架构可以布局在云服务器。云服务器又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(″VirtualPrivateServer″,虚拟专用服务器,或简称″VPS″)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。测试管理平台120可以从生产环境中获取线上数据,并根据线上数据生成测试数据集,也可以获取人工构造的数据生成测试数据集。当业务模块需要被测试时,测试管理平台120可以将待测试的业务模块部署在生产环境,例如服务层111中,也可以将待测试的业务模块部署在模拟生产环境搭建的仿真环境中。部署完成后,使用上述测试数据集对待测试的业务模块进行测试,得到测试结果。当待测试的业务模块被部署到微服务架构时,由于微服务架构可以是云原生架构,待测试的业务模块在执行相应操作时是与其它业务模块隔离的,因此待测试的业务模块在生产环境测试不会影响原系统的稳定性。图2是根据本公开一个实施例的用于微服务架构的测试方法的流程图。如图2所示,该用于微服务架构的测试方法200可以包括操作S210~S240。接下来将参考图2详细描述根据本公开一个实施例的用于微服务架构的测试方法的流程图。在操作S210,获取线上产生的流量数据。例如,可以录制一定时间(例如0.5小时或1小时)内的线上生产环境中产生的流量数据,也可以录制线上生产环境产生的全部数据。例如,流量数据中可以包括业务模块的历史流量峰值。该历史流量峰值可以作为测试业务模块的流量QPS(〞Queries-per-second″,每秒查询率)本文档来自技高网
...

【技术保护点】
1.一种用于微服务架构的测试方法,包括:/n获取线上产生的流量数据;/n识别所获取的流量数据中由读操作产生的读流量数据;/n滤除所获取的流量数据中读流量数据以外的流量数据,得到测试数据集;以及/n使用测试数据集对所述微服务架构中的业务模块进行测试。/n

【技术特征摘要】
1.一种用于微服务架构的测试方法,包括:
获取线上产生的流量数据;
识别所获取的流量数据中由读操作产生的读流量数据;
滤除所获取的流量数据中读流量数据以外的流量数据,得到测试数据集;以及
使用测试数据集对所述微服务架构中的业务模块进行测试。


2.根据权利要求1所述的方法,其中,所述识别所获取的流量数据中由读操作产生的读流量数据包括:
给识别出的读流量数据加标签。


3.根据权利要求1所述的方法,其中,所述使用测试数据集对所述微服务架构中的业务模块进行测试包括:
响应于业务模块发生变更,部署发生变更的变更后业务模块和变更前业务模块,分别作为变更业务模块和原业务模块;以及
使用所述测试数据集对所述变更业务模块和所述原业务模块进行测试,得到测试结果。


4.根据权利要求3所述的方法,还包括:
在所述测试结果符合预定条件的情况下,确定所述变更业务模块通过测试;
所述预定条件包括以下中的至少一个:
变更业务模块对于请求的响应内容与原业务模块对于所述请求的响应内容之间的差异在预定范围内;
变更业务模块对于请求的响应时间小于等于原业务模块对于所述请求的响应时间;
变更业务模块没有出现异常资源占用;以及
变更业务模块没有出现处理中断。


5.根据权利要求3所述的方法,还包括,在得到测试结果之后,删除变更业务模块和原业务模块。


6.根据权利要求1所述的方法,其中,所述获取线上产生的流量数据作为测试数据集包括周期性地获取线上产生的流量数据。


7.一种用于微服务架构的测试装置,包括:
获取模块,用于获取线上产生的流量数据作为测试数据集;
识别模块,用于识别所获取的流量数据中由读操作产生的读流量数据;
滤除模块,用于滤除所获取的流量数据中读流量数据以外的流量数据,得到测试数据;以及
测试模块,用于使用测试数据对所述微服务架构中的...

【专利技术属性】
技术研发人员:李斯李文根强伟刘成
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1