掌桥专利:专业的专利平台
掌桥专利
首页

基于分布式系统的软件测试方法、电子设备及存储介质

文献发布时间:2023-06-19 12:24:27


基于分布式系统的软件测试方法、电子设备及存储介质

技术领域

本发明涉及计算机技术领域,尤其涉及一种基于分布式系统的软件测试方法、电子设备及存储介质。

背景技术

随着计算机技术的发展,越来越多的技术(例如,大数据等)应用在金融领域,传统金融业正在逐步向金融科技转变,然而,由于金融行业的安全性、实时性要求,金融科技也对技术提出了更高的要求。金融科技领域下,为了快速发布新版本的应用,通常将新开发的应用部署到多套环境中进行测试,一套环境是指集成了企业线上的所有业务系统的最小副本,一套环境由一个分布式系统构成。

由于不同的环境是相互隔离的,不同环境中的设备的网际协议地址不同,相关技术中,在采用多个分布式系统对同一个应用进行测试时,针对每个分布式系统设置测试流程,并针对每个分布式系统对应的测试流程编写一套测试用例,编写和维护多套测试用例的工作量较大。

发明内容

有鉴于此,本发明实施例提供一种基于分布式系统的软件测试方法、电子设备及存储介质,以解决相关技术中在采用多个分布式系统对同一个应用进行测试时,编写和维护多套测试用例的工作量较大的技术问题。

为达到上述目的,本发明的技术方案是这样实现的:

本发明实施例提供了一种基于分布式系统的软件测试方法,包括:

接收第一部署请求;其中,所述第一部署请求携带第一业务系统标识、第一应用的安装包和第一应用标识;

从设定数据库中确定出所述第一部署请求携带的第一应用标识对应的设定配置信息;所述设定配置信息包括分布式系统的标识、业务系统标识和地址集合之间的设定对应关系;

从确定出的设定配置信息中,确定出与所述第一业务系统标识匹配的业务系统标识对应的地址集合;

基于确定出的地址集合中的每个地址发送所述第一应用的安装包;

在执行测试脚本中的第一调用指令的情况下,按照设定消息格式,将所述测试脚本的配置信息中包括的业务类型、所述第一调用指令中包括的服务标识和数据,封装为第一请求消息;

将所述第一请求消息中第一设定字段对应的字段值替换为在执行所述测试脚本的过程中确定出的第一逻辑区域标识,得到第二请求消息,并向消息总线发送所述第二请求消息;

接收所述消息总线分发的携带所述服务标识的响应消息;其中,

所述第一设定字段对应的字段值表征所述业务类型;所述第一逻辑区域标识表征部署了待测应用的第一分布式系统对应的逻辑区域标识;所述第二请求消息中包括的所述第一逻辑区域标识,用于供所述消息总线将所述第二请求消息路由至所述第一逻辑区域标识对应的地址集合中的任一地址对应的设备。

上述方案中,所述设定消息格式包括:

第一设定字段,用于写入业务类型;

第二设定字段,用于写入服务标识;

第三设定字段,用于写入调用指令中包括的数据。

上述方案中,所述方法还包括:

获取所述第一分布式系统的标识;

基于分布式系统的标识与逻辑区域标识之间的设定对应关系,确定出所述第一分布式系统的标识对应的第一逻辑区域标识。

上述方案中,所述获取所述第一分布式系统的标识,包括以下之一:

获取通过设定测试界面选择的第一分布式系统的标识;

通过执行定时任务,从所述测试脚本的配置信息中获取第一分布式系统的标识。

上述方案中,所述设定配置信息包括分布式系统的标识、逻辑区域标识、业务系统标识和地址集合之间的设定对应关系。

上述方案中,所述第一部署请求还包括用于部署所述第一应用的分布式系统的标识;所述从确定出的设定配置信息中,确定出与所述第一业务系统标识匹配的业务系统标识对应的地址集合,包括:

基于所述第一部署请求携带的第一业务系统标识和分布式系统的标识,从所述设定配置信息中确定出所述第一部署请求对应的地址集合。

上述方案中,在执行所述测试脚本之前,所述方法还包括:

获取至少一个地址信息和第二应用的安装包;

向第一设备发送第二部署请求;所述第二部署请求携带所述至少一个地址信息和第二应用的安装包;其中,

所述至少一个地址信息用于供所述第一设备发送所述第二应用的安装包。

本发明实施例还提供了一种电子设备,包括:

第一接收单元,用于接收第一部署请求;其中,所述第一部署请求携带第一业务系统标识、第一应用的安装包和第一应用标识;

第一确定单元,用于从设定数据库中确定出所述第一应用标识对应的设定配置信息;所述设定配置信息包括业务系统标识和地址集合之间的设定对应关系;

第二确定单元,用于从确定出的设定配置信息中,确定出与所述第一业务系统标识匹配的业务系统标识对应的地址集合;

第一发送单元,用于基于确定出的地址集合中的每个地址发送所述第一应用的安装包;

封装单元,用于在执行测试脚本中的第一调用指令的情况下,按照设定消息格式,将所述测试脚本的配置信息中包括的业务类型、所述第一调用指令中包括的服务标识和数据,封装为第一请求消息;

替换单元,用于将所述第一请求消息中第一设定字段对应的字段值替换为在执行所述测试脚本的过程中确定出的第一逻辑区域标识,得到第二请求消息,并向消息总线发送所述第二请求消息;

接收单元,用于接收所述消息总线分发的携带所述服务标识的响应消息;其中,所述第一设定字段对应的字段值表征所述业务类型;所述第一逻辑区域标识表征部署了待测应用的第一分布式系统对应的逻辑区域标识;所述第二请求消息中包括的所述第一逻辑区域标识,用于供所述消息总线将所述第二请求消息路由至基于所述第一逻辑区域标识对应的地址集合中的任一地址对应的设备。

本发明实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,

其中,所述处理器用于运行所述计算机程序时,执行上述基于分布式系统的软件测试方法的步骤。

本发明实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于分布式系统的软件测试方法的步骤。

本发明实施例中,设定数据库中存储的设定配置信息包括业务系统标识和地址集合之间的设定对应关系,可以从设定配置信息中,确定出第一部署请求携带的第一业务系统标识对应的地址信息,由于第一部署请求中不需要携带IP地址,由此,可以共用同一个流程将第一应用部署至不同的分布式系统中,可以提高应用部署效率。在执行测试脚本中的第一调用指令时,按照设定消息格式,将测试脚本的配置信息中包括的业务类型、第一调用指令中包括的服务标识和数据,封装为第一请求消息;第一请求消息的第一设定字段中只写入了业务类型,并未指定部署了待测应用的第一分布式系统对应的第一逻辑区域编号;在执行测试脚本的过程中确定出第一逻辑区域编号的情况下,将第一请求消息中第一设定字段对应的字段值替换为确定出的第一逻辑区域标识,得到第二请求消息,并向消息总线发送第二请求消息,以便消息总线根据第一逻辑区域标识确定出对应的IP地址,并基于确定出的IP地址发送第二消息。由于,逻辑区域标识、分布式系统以及地址集合一一对应,消息总线可以根据逻辑区域标识确定出对应的IP地址,测试脚本中不需要指定部署了待测应用的分布式系统的各设备的IP地址,因此,电子设备通过替换不同的逻辑区域标识即可切换至不同的分布式系统测试待测应用,从而使得电子设备可以共用同一套测试脚本对部署于不同的分布式系统中的待测应用进行测试,相关人员不需要编写和维护多套测试用例,可以提高编写和维护测试脚本的效率。

附图说明

图1为本发明实施例提供的基于分布式系统的软件测试的实现流程示意图;

图2为本发明另一实施例提供的基于分布式系统的软件测试的实现流程示意图;

图3为本发明应用实施例提供的基于分布式系统的软件测试的实现流程示意图;

图4为本发明再实施例提供的电子设备的结构示意图;

图5为本发明实施例提供的电子设备的硬件组成结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为本发明实施例提供的基于分布式系统的软件测试方法的实现流程示意图,其中,流程的执行主体为终端、服务器等电子设备。如图1示出的,基于分布式系统的软件测试方法包括:

步骤101:接收第一部署请求;其中,所述第一部署请求携带第一业务系统标识、第一应用的安装包和第一应用标识。

这里,第一部署请求用于请求将第一应用部署至对应的分布式系统。

步骤102:从设定数据库中确定出所述第一部署请求携带的第一应用标识对应的设定配置信息;所述设定配置信息包括业务系统标识和地址集合之间的设定对应关系。

其中,设定数据库中存储有多个应用对应的设定配置信息;设定配置信息至少包括至少一个业务系统标识和至少一个地址集合之间的设定对应关系。

电子设备基于应用标识与设定配置信息之间的设定对应关系,从设定数据库中确定出第一应用标识对应的设定配置信息。

实际应用时,在开发人员开发出新应用或者开发出应用的新功能的情况下,需要对新应用或添加新功能的应用进行测试,开发人员可以通过设定的配置界面对待测试应用进行配置。电子设备在获取到待测试应用对应的设定配置信息的情况下,将待测试应用的应用标识和对应的设定配置信息,关联写入设定的数据库。设定配置信息中包括分布式系统的标识、逻辑区域的信息、业务系统标识和地址(IP地址)集合之间的设定对应关系。其中,逻辑区域的信息包括业务类型(或称逻辑区域的名称)和逻辑区域标识(或称逻辑区域ID)。地址集合是指组成分布式系统的设备的IP地址的集合。逻辑区域标识可以按地域进行划分。

在一些实施例中,所述设定配置信息包括分布式系统的标识、逻辑区域标识、业务系统标识和地址集合之间的设定对应关系。即,设定配置信息包括至少一个分布式系统的标识、至少一个逻辑区域标识、至少一个业务系统标识和至少一个地址集合之间的设定对应关系。

示例性地,设定数据库中存储的设定配置信息如表1所示:

表1

其中,上表中Rdcn对应为业务类型,例如,Rdcn表征对私转账业务;M0、N0、K0和L0对应为逻辑区域标识。

步骤103:从所述设定配置信息中,确定出与所述第一业务系统标识匹配的业务系统标识对应的地址集合。

电子设备基于确定出的设定配置信息中包括的设定对应关系,确定出与第一业务系统标识匹配的业务系统标识对应的地址集合。

考虑到同一个应用可以部署至不同的分布式系统中,同一应用对应的设定配置信息中包括至少两个分布式系统的标识,不同的分布式系统标识可能对应同一个业务系统,因此,为了更快更准确地确定出第一部署请求对应的地址集合,以将第一应用部署至对应的分布式系统,在一些实施例中,在设定配置信息包括分布式系统的标识、逻辑区域标识、业务系统标识和地址集合之间的设定对应关系的情况下,所述第一部署请求还包括用于部署所述第一应用的分布式系统的标识;所述从所述设定配置信息中,确定出与所述第一业务系统标识匹配的业务系统标识对应的地址集合,包括:

基于所述第一部署请求携带的第一业务系统标识和分布式系统的标识,从所述设定配置信息中确定出所述第一部署请求对应的地址集合。

这里,电子设备在确定出第一应用标识对应的设定配置信息的情况下,基于设定配置信息中包括的设定对应关系,以及基于第一部署请求携带的第一业务系统标识和分布式系统的标识,从该设定配置信息中确定出第一部署请求对应的地址集合。

需要说明的是,在第一部署请求中未携带分布式系统的标识的情况下,表征不指定分布式系统,将第一应用部署至第一业务系统标识对应的所有地址集合对应的所有设备中,从而实现将第一应用部署至第一业务系统标识对应的所有分布式系统。

步骤104:基于确定出的地址集合中的每个地址发送所述第一应用的安装包。

电子设备基于确定出的地址集合中的每个地址,发送第一部署请求中携带的第一应用的安装包,以便接收到第一应用的安装包的设备安装第一应用。

本实施例中,第一部署请求中不需要携带IP地址,因此,可以共用同一个流程将第一应用部署至不同的分布式系统中,可以提高应用部署效率。

步骤105:在执行测试脚本中的第一调用指令的情况下,按照设定消息格式,将所述测试脚本的配置信息中包括的业务类型、所述第一调用指令中包括的服务标识和数据,封装为第一请求消息。

这里,电子设备在接收到待测应用对应的至少一个测试脚本,且检测到设定的启动测试操作的情况下,执行该测试脚本中的测试指令,从而采用该测试脚本对待测应用的设定功能进行测试,并验证测试结果与设定结果是否一致。其中,测试脚本为自动化测试用例对应的测试脚本。

其中,待测应用包括采用步骤101至步骤104所述的方法部署至分布式系统中的第一应用,还可以包括采用其他方式部署至分布式系统的第二应用,例如,通过其他电子设备部署至分布式系统的方式。

实际应用时,采用同一套测试脚本对至少两个不同的分布式系统中部署的同一个待测应用进行测试。其中,每个分布式系统构成一个测试环境,每个分布式系统由多个业务系统构成,一个子系统可以对应一个集群。一套测试脚本中包括至少一个测试脚本,每个测试脚本用于测试第一应用的至少一项设定功能。

电子设备在执行测试脚本中包括的测试指令的过程中,判断当前执行的测试指令是否为第一调用指令,得到判断结果。实际应用时,电子设备在检测到当前执行的测试指令中包括设定标识时,将当前执行的测试指令确定为第一调用指令。

在判断结果表征当前执行的测试指令为第一调用指令的情况下,按照设定消息格式,将测试脚本的配置信息中包括的业务类型、第一调用指令中包括的服务标识和数据,封装为第一请求消息。

其中,测试脚本中包括配置信息和测试指令;配置信息至少包括测试脚本的标识和待测的设定功能对应的第一业务所属的业务类型。第一调用指令表征调用分布式系统中任一业务系统提供的任一服务的指令。第一调用指令中包括调用的服务的服务标识和相关数据。

在一些实施例中,所述设定消息格式包括:

第一设定字段,用于写入业务类型;

第二设定字段,用于写入服务标识;

第三设定字段,用于写入调用指令中包括的数据,该数据包括请求获取的数据,还可以包括传入参数。

实际应用中,第一设定字段的字段名称为targetDCN;第二字段的字段名称为Service ID;第三字段的字段名称为Data,第一请求消息如下所示:

其中,服务标识为10000256;业务类型的标识为Rdcn。

步骤106:将所述第一请求消息中第一设定字段对应的字段值替换为在执行所述测试脚本的过程中确定出的第一逻辑区域标识,得到第二请求消息,并向消息总线发送所述第二请求消息。

其中,所述第一设定字段对应的字段值表征所述业务类型;所述第一逻辑区域标识表征部署了待测应用的第一分布式系统对应的逻辑区域标识;所述第二请求消息中包括的所述第一逻辑区域标识,用于供所述消息总线将所述第二请求消息路由至所述第一逻辑区域标识对应的地址集合中的任一地址对应的设备。

这里,电子设备在执行测试脚本的过程中确定出第一逻辑区域标识,在确定出第一逻辑区域标识,并且得到第一请求消息的情况下,将第一请求消息中第一设定字段对应的字段值替换为确定出的第一逻辑区域标识,得到第二请求消息,并向消息总线发送第二请求消息。需要说明的是,此时,电子设备利用测试脚本对第一分布式系统中部署的待测应用进行测试。

其中,电子设备可以获取测试人员选中的第一逻辑区域标识,也可以通过其他方式获取第一逻辑区域标识,在此不限定获取第一逻辑区域标识的方式。实际应用时,测试人员可以在电子设备执行测试脚本的过程中选中第一逻辑区域标识,也可以在选中第一逻辑区域标识之后,触发电子设备开始执行测试脚本。

在一些实施例中,当确定出的第一逻辑区域标识为M0时,第二请求消息如下所示:

在实际应用中,当第一设定字段的字段名称为targetDCN,第二字段的字段名称为Service ID,第三字段的字段名称为Data时,第二请求消息为:{\"serviceId\":\"01300181\",\"targetDCN\":\"M0\",\"input\":{\"data\":\"data\"}}。

电子设备在向消息总线发送所述第二请求消息之后,消息总线基于第二请求消息中的第一逻辑区域标识,从第一设定对应关系中确定出第一逻辑区域标识对应的第一地址集合;消息总线将第二请求消息路由至确定出的第一地址集合中任一地址对应的设备,以触发该设备对第二请求消息进行处理,并基于处理结果和第二请求消息中包括的服务标识,向消息总线发送第二请求消息对应的响应消息。消息总线在接收到第二请求消息对应的响应消息的情况下,基于第二请求消息对应的响应消息携带的服务标识,将第二请求消息对应的响应消息向发送第二请求消息的电子设备发送。

实际应用时,第一设定对应关系表征逻辑区域标识和地址集合之间的设定对应关系。消息总线访问设定数据库,从设定数据库中存储的设定配置信息中确定出第一逻辑区域标识对应的第一地址集合。设定配置信息如上文的表1所示。在设定配置信息包括分布式系统的标识、逻辑区域标识、业务系统标识和地址集合之间的设定对应关系的情况下,电子设备可以从第一应用对应的设定配置信息中,确定出第一逻辑区域标识对应的第一地址集合。

为了节省测试人员查找或选择第一逻辑区域标识所消耗的时间,以提高自动化测试效率在一些实施例中,电子设备还可以通过以下方式确定出第一逻辑区域标识:

获取所述第一分布式系统的标识;

基于分布式系统的标识与逻辑区域标识之间的设定对应关系,确定出所述第一分布式系统的标识对应的第一逻辑区域标识。

这里,电子设备可以获取测试人员选中的第一分布式系统的标识;当测试脚本中的配置信息还包括第一分布式系统的标识时,电子设备也可以从测试脚本中的配置信息中,获取第一分布式系统的标识。

电子设备在获取到第一分布式系统的标识的情况下,基于分布式系统的标识与逻辑区域标识之间的设定对应关系,确定出第一分布式系统的标识对应的第一逻辑区域标识。

实际应用时,电子设备访问设定数据库,从设定数据库中确定出第一分布式系统的标识对应的第一逻辑区域标识。设定数据库中存储有分布式系统的标识与逻辑区域标识之间的设定对应关系。

实际应用时,在设定数据库中存储的设定配置信息包括分布式系统的标识、逻辑区域标识、业务系统标识和地址集合之间的设定对应关系的情况下,电子设备可以基于服务标识与业务系统标识之间的设定对应关系,确定出第一调用指令中包括的服务标识对应的目标业务系统标识,基于获取到的第一分布式系统的标识和目标业务系统标识,从第一应用对应的设定配置信息中,确定出对应的第一逻辑区域标识。

考虑到测试人员可以手动选择第一分布式系统的标识,编写测试脚本的人员也可以将第一分布式系统的标识写入测试标本的配置信息中,在一些实例中,所述获取所述第一分布式系统的标识,包括以下之一:

获取通过设定测试界面选择或输入的第一分布式系统的标识;

通过执行定时任务,从所述测试脚本的配置信息中获取第一分布式系统的标识。

这里,电子设备在对部署于第一分布式系统中的待测应用进行测试的情况下,获取测试人员通过设定测试界面选择或输入的第一分布式系统的标识,并将获取到的第一分布式系统的标识传递给该待测应用对应的一套测试脚本。

测试脚本中的配置信息还可以包括第一分布式系统的标识,电子设备在对部署于第一分布式系统中的待测应用进行测试的情况下,通过执行定时任务,从测试脚本中的配置信息中,获取第一分布式系统的标识。

步骤107:接收所述消息总线分发的携带所述服务标识的响应消息。

电子设备接收消息总线基于服务标识分发的响应消息。

本发明实施例中,在执行测试脚本中的第一调用指令时,按照设定消息格式,将测试脚本的配置信息中包括的业务类型、第一调用指令中包括的服务标识和数据,封装为第一请求消息;第一请求消息的第一设定字段中只写入了业务类型,并未指定部署了待测应用的第一分布式系统对应的第一逻辑区域编号;在执行测试脚本的过程中确定出第一逻辑区域编号时,将第一请求消息中第一设定字段对应的字段值替换为确定出的第一逻辑区域标识,得到第二请求消息,并向消息总线发送第二请求消息,以便消息总线根据第一逻辑区域标识确定出对应的IP地址,并基于确定出的IP地址发送第二消息。由于,逻辑区域标识与分布式系统以及地址集合一一对应,消息总线可以根据逻辑区域标识确定出对应的IP地址,测试脚本中不需要指定部署了待测应用的分布式系统的各设备的IP地址,因此,电子设备通过替换不同的逻辑区域标识即可切换至不同的分布式系统测试待测应用,从而使得电子设备可以共用同一套测试脚本对部署于不同的分布式系统中的待测应用进行测试,相关人员不需要编写和维护多套测试用例,可以提高编写和维护测试脚本的效率。

考虑到在实际应用中,测试人员可以通过其他设备统一将待测应用部署至不同的分布式系统,图2示出了本发明另一实施例提供的基于分布式系统的软件测试方法的实现流程示意图。图2对应的实施例与在图1对应的实施例的区别在于,在执行所述测试脚本之前,所述方法还包括:

步骤201:获取至少一个地址信息和第二应用的安装包;其中,所述至少一个地址信息用于供所述第一设备发送所述第二应用的安装包。

电子设备获取测试人员输入或选择的至少一个地址信息,以及获取测试人员选中的第二应用的安装包。其中,至少一个地址信息是需要部署第二应用的分布式系统对应的地址信息。

步骤202:向第一设备发送第二部署请求;所述第二部署请求携带所述至少一个地址信息和第二应用的安装包。

电子设备在获取到至少一个地址信息和第二应用的安装包的情况下,向第一设备发送第二部署请求,第二部署请求携带获取到的地址信息和第二应用的安装包。第一设备在接收到第二部署请求的情况下,基于第二部署请求携带的每个地址信息发送第二应用的安装包,从而使得对应的分布式系统中的设备在接收到第二应用的安装包的情况下,安装第二应用。

其中,步骤203~步骤205的实现过程请参照步骤105~步骤107的相关描述,此处不赘述。需要说明的是,由于此时的待测应用为第二应用,电子设备在执行完步骤205之后,在执行步骤107的情况下,因此,第一逻辑区域标识表征部署了第二应用的第一分布式系统对应的逻辑区域标识。

本实施例中,电子设备在获取到至少一个地址信息和第二应用的安装包的情况下,向第一设备发送第二部署请求,以通过第一设备分发第二应用的安装包,从而将第二应用部署至不同的分布式系统,可以减少执行测试脚本的电子设备的数据处理量,提高执行测试脚本的电子设备的数据处理速度。

图3示出了本发明应用实施例提供的基于分布式系统的软件测试方法的实现流程示意图。如图3示出的,基于分布式系统的软件测试方法包括:

步骤301:接收第一部署请求;其中,所述第一部署请求携带第一业务系统标识、第一应用的安装包、第一应用标识以及用于部署所述第一应用的第一分布式系统的标识。

这里,第一部署请求用于请求将第一应用部署至对应的分布式系统。

步骤302:从设定数据库中确定出所述第一部署请求携带的第一应用标识对应的设定配置信息;所述设定配置信息包括分布式系统的标识、逻辑区域标识、业务系统标识和地址集合之间的设定对应关系。

其中,步骤302的实现过程请参照步骤102中的相关描述,此处不赘述。

步骤303:基于所述第一业务系统标识和所述第一分布式系统的标识,从所述设定配置信息中确定出所述第一部署请求对应的地址集合。

其中,步骤303的实现过程请参照步骤103的相关描述,此处不赘述。

步骤304:基于确定出的地址集合中的每个地址发送所述第一应用的安装包。

步骤305:在执行测试脚本中的第一调用指令的情况下,按照设定消息格式,将所述测试脚本的配置信息中包括的业务类型、所述第一调用指令中包括的服务标识和数据,封装为第一请求消息。

其中,电子设备执行测试脚本对第一分布式系统中的第一应用进行测试。

步骤306:在执行所述测试脚本的情况下,获取所述第一分布式系统的标识。

其中,步骤306和步骤305可以同时执行。

步骤307:基于所述第一分布式系统的标识和第一所述服务标识对应的目标业务系统标识,从所述设定配置信息中确定出第一逻辑区域标识。

步骤308:将所述第一请求消息中第一设定字段对应的字段值替换为确定出的第一逻辑区域标识,得到第二请求消息,并向消息总线发送所述第二请求消息。

其中,所述第一设定字段对应的字段值表征所述业务类型;所述第一逻辑区域标识表征部署了待测应用的第一分布式系统对应的逻辑区域标识;所述第二请求消息中包括的所述第一逻辑区域标识,用于供所述消息总线将所述第二请求消息路由至基于第一设定对应关系确定出的地址集合中任一地址对应的设备;所述第一设定对应关系表征逻辑区域标识和地址集合之间的设定对应关系。

步骤309:接收所述消息总线分发的携带所述服务标识的响应消息。

为实现本发明实施例的基于分布式系统的软件测试方法,本发明实施例还提供了一种电子设备,如图4所示,该电子设备包括:

第一接收单元41,用于接收第一部署请求;其中,所述第一部署请求携带第一业务系统标识、第一应用的安装包和第一应用标识;

第一确定单元42,用于从设定数据库中确定出所述第一应用标识对应的设定配置信息;所述设定配置信息包括业务系统标识和地址集合之间的设定对应关系;

第二确定单元43,用于从确定出的设定配置信息中,确定出与所述第一业务系统标识匹配的业务系统标识对应的地址集合;

第一发送单元44,用于基于确定出的地址集合中的每个地址发送所述第一应用的安装包;封装单元45,用于在执行测试脚本中的第一调用指令的情况下,按照设定消息格式,将所述测试脚本的配置信息中包括的业务类型、所述第一调用指令中包括的服务标识和数据,封装为第一请求消息;

替换单元46,用于将所述第一请求消息中第一设定字段对应的字段值替换为在执行所述测试脚本的过程中确定出的第一逻辑区域标识,得到第二请求消息,并向消息总线发送所述第二请求消息;

第二接收单元47,用于接收所述消息总线分发的携带所述服务标识的响应消息;其中,

所述第一设定字段对应的字段值表征所述业务类型;所述第一逻辑区域标识表征部署了待测应用的第一分布式系统对应的逻辑区域标识;所述第二请求消息中包括的所述第一逻辑区域标识,用于供所述消息总线将所述第二请求消息路由至所述第一逻辑区域标识对应的地址集合中的任一地址对应的设备。

在一些实施例中,所述设定消息格式包括:

第一设定字段,用于写入业务类型;

第二设定字段,用于写入服务标识;

第三设定字段,用于写入调用指令中包括的数据。

在一些实施例中,该电子设备还包括:

第一获取单元,用于获取所述第一分布式系统的标识;

第三确定单元,用于基于分布式系统的标识与逻辑区域标识之间的设定对应关系,确定出所述第一分布式系统的标识对应的第一逻辑区域标识。

在一些实施例中,所述第一获取单元具体用于以下之一:

获取通过设定测试界面选择或输入的第一分布式系统的标识;

通过执行定时任务,从所述测试脚本的配置信息中获取第一分布式系统的标识。

在一些实施例中,所述设定配置信息包括分布式系统的标识、逻辑区域标识、业务系统标识和地址集合之间的设定对应关系。

在一些实施例中,所述第一部署请求还包括用于部署所述第一应用的分布式系统的标识;第二确定单元43具体用于:基于所述第一部署请求携带的第一业务系统标识和分布式系统的标识,从所述设定配置信息中确定出所述第一部署请求对应的地址集合。

在一些实施例中,该电子设备还包括:

第二获取单元,用于在执行所述测试脚本之前,获取至少一个地址信息和第二应用的安装包;

第二发送单元,用于向第一设备发送第二部署请求;所述第二部署请求携带所述至少一个地址信息和第二应用的安装包;其中,

所述至少一个地址信息用于供所述第一设备发送所述第二应用的安装包。

实际应用时,电子设备包括的各单元可通过电子设备中的处理器,比如中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital Signal Processor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-ProgrammableGate Array)等实现,或者通过电子设备中的处理器和通信接口共同实现。

需要说明的是:上述实施例提供的电子设备在进行基于分布式系统的软件测试时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的电子设备与基于分布式系统的软件测试方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

基于上述程序模块的硬件实现,且为了实现本发明实施例的方法,本发明实施例还提供了一种电子设备。图5为本发明实施例电子设备的硬件组成结构示意图,如图5所示,电子设备5包括:

通信接口51,能够与其它设备比如网络设备等进行信息交互;

处理器52,与所述通信接口51连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的基于分布式系统的软件测试方法。而所述计算机程序存储在存储器53上。

当然,实际应用时,电子设备5中的各个组件通过总线系统54耦合在一起。可理解,总线系统54用于实现这些组件之间的连接通信。总线系统54除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统54。

本发明实施例中的存储器53用于存储各种类型的数据以支持电子设备5的操作。这些数据的示例包括:用于在电子设备5上操作的任何计算机程序。

可以理解,存储器53可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器53旨在包括但不限于这些和任意其它适合类型的存储器。

上述本发明实施例揭示的方法可以应用于处理器52中,或者由处理器52实现。处理器52可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器52中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器52可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器52可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器53,处理器52读取存储器53中的程序,结合其硬件完成前述方法的步骤。

可选地,所述处理器52执行所述程序时实现本发明实施例的各个方法中由终端实现的相应流程,为了简洁,在此不再赘述。

在示例性实施例中,本发明实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的第一存储器53,上述计算机程序可由终端的处理器52执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。

在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 基于分布式系统的软件测试方法、电子设备及存储介质
  • 软件测试方法、电子设备及存储介质
技术分类

06120113284189