发布信息

业务系统变更的测试方法及装置与流程 专利技术说明

作者:admin      2023-06-29 10:35:56     795



计算;推算;计数设备的制造及其应用技术1.本技术实施例涉及计算机技术,尤其涉及一种业务系统变更的测试方法及装置。背景技术:2.在业务系统中进行配置变更是一种常见的实验方式,对变更后的业务系统进行测试能够有效的验证配置变更的有效性。3.目前常见的实现方式中,都是在人工观察业务系统的配置变更的发布完成之后,再手动的触发以及执行测试流程,以验证配置变更的有效性,从而确定配置变更后的业务系统是否达到了预想的效果。4.然而手动的触发以及执行测试流程的实现方式存在一定的时间成本,并且操作效率相对较低。技术实现要素:5.本技术实施例提供一种业务系统变更的测试方法及装置,以克服对业务系统变更的测试效率较低的问题。6.第一方面,本技术实施例提供一种业务系统变更的测试方法,包括:7.监听消息队列,以从所述消息队列中获取业务系统的变更事件所对应的变更消息,所述消息队列用于在业务系统存在变更事件时写入变更事件所对应的变更消息;8.根据所述变更消息,在多个预设的测试用例中获取所述变更事件所对应的目标测试用例;9.根据所述目标测试用例对变更后的业务系统执行测试操作,以得到所述变更事件所对应的测试结果。10.第二方面,本技术实施例提供一种业务系统变更的测试装置,包括:11.处理模块,用于监听消息队列,以从所述消息队列中获取业务系统的变更事件所对应的变更消息,所述消息队列用于在业务系统存在变更事件时写入变更事件所对应的变更消息;12.获取模块,用于根据所述变更消息,在多个预设的测试用例中获取所述变更事件所对应的目标测试用例;13.测试模块,用于根据所述目标测试用例对变更后的业务系统执行测试操作,以得到所述变更事件所对应的测试结果。14.第三方面,本技术实施例提供一种电子设备,包括:15.存储器,用于存储程序;16.处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如上第一方面以及第一方面各种可能的设计中任一所述的方法。17.第四方面,本技术实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如上第一方面以及第一方面各种可能的设计中任一所述的方法。18.第五方面,本技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的设计中任一所述的方法。19.本技术实施例提供一种业务系统变更的测试方法及装置,该方法包括:监听消息队列,以从消息队列中获取业务系统的变更事件所对应的变更消息,消息队列用于在业务系统存在变更事件时写入变更事件所对应的变更消息。根据变更消息在多个预设的测试用例中获取变更事件所对应的目标测试用例。根据目标测试用例对变更后的业务系统执行测试操作,以得到变更事件所对应的测试结果。在业务系统存在变更事件时,将变更事件的变更消息写入消息队列中,之后通过监听消息队列以自动的从消息队列中获取变更消息,并且根据变更消息完成对变更后的业务系统的自动化测试操作,并且将测试结果发送给变更事件所对应的目标设备,从而可以实现业务系统的变更之后的全自动化处理流程,进而可以有效的提升针对变更后的业务系统的测试效率。附图说明20.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。21.图1为本技术实施例提供的业务系统的配置变更的场景示意图;22.图2为本技术实施例提供的业务系统变更的测试方法的流程图;23.图3为本技术实施例提供的业务系统变更的测试方法的流程图二;24.图4为本技术实施例提供的预设映射关系的实现示意图;25.图5为本技术实施例提供的过滤变更消息的实现示意图;26.图6为本技术提供的业务系统变更的测试方法的流程示意图;27.图7为本技术实施例提供的业务系统变更的测试装置的结构示意图;28.图8为本技术实施例提供的电子设备的硬件结构示意图。具体实施方式29.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。30.为了更好的理解本技术的技术方案,下面对本技术所涉及的相关技术进行进一步的详细介绍。31.服务化产品大量存在配置变更能力,其中配置变更能力可以理解为在产品的业务系统中对业务配置或者业务数据进行变更,以实现预想的效果,因为配置变更只需要简单的更改相应配置即可,从而可以达到不经发布即可实现新老功能切换的效果。32.为了实现对业务系统的配置变更的有序统筹,可以通过实验的方式管理业务系统的配置变更,比如说可以针对业务系统发布一项实验,该实验的内容就是针对业务系统的配置变更,之后对该实验进行测试,就可以确定配置变更的有效性。其中配置变更的有效性可以存在两方面含义,一方面是说配置变更后的业务系统可以正常稳定的运行,另一方面是说配置变更后的业务系统可以实现预想的效果或者功能。33.比如说可以以a/b实验为例进行理解,当开发人员需要对业务系统进行变更的时候,比如说可以在业务系统中部署a/b实验,以验证不同的变更方式下相应的效果如何。通过a/b实验可以准确的选取局部指标价值最大化的方案,其中使得a/b时延稳定有效的应用在业务系统中,是质量保障工作中尤为重要的一环。其中如何在多元化测试场景下减小实验变更的验证成本和效率提升,是质量保障的关键。34.基于上述介绍可以确定的是,针对业务系统所发布的一项实验,实际上就是针对业务系统的一些改变,其中实验的内容比如说可以是在业务系统中新增一些功能,或者还可以是在业务系统中修改一些部署,其中具体的实验内容可以根据实际需求进行选择和设置,本实施例对此不做限制。35.在上述介绍内容的基础上,比如说可以结合图1对业务系统的配置变更进行理解,图1为本技术实施例提供的业务系统的配置变更的场景示意图。36.在本实施例中,在业务系统中划分有至少一条业务线,以及在每一条业务线中都包括至少一个应用,其中的一个应用理解为一种服务。比如说在地图场景中,存在一种服务是从地点1到地点2进行路线规划,则这种路线规划服务就可以理解为一个应用,其中一个应用在业务系统中可以理解为作为一个软件单元存在,以为相关的产品提供相应的服务支撑。以及在每一个应用中都配置有至少一项实验,该实验就是针对该应用的一些配置的改变。37.比如说如图1所示,在业务系统中比如说包括业务线a、业务线b以及业务线c,以及在业务线中比如说可以包括应用a和应用b,在业务线b中比如说可以包括应用c。以及参照图1,在应用b中比如说可以配置有实验a、实验b以及实验c。38.以其中的实验a为例,实验a比如说就是针对业务线a中的应用b中的配置的改变。为了确定配置改变之后的效果,就需要对实验a进行测试,之后根据测试结果确定配置改变是否有效。39.在实际实现过程中,具体的业务线的划分,具体的应用的设置,以及具体的实验的配置均可以根据实际需求进行选择设置,本实施例对此不做限制。40.基于上述的介绍可以确定的是,在针对业务系统的实验发布之后,对实验进行测试是非常重要的,基于测试结果就确定该实验所对应的配置更改的效果究竟如何。目前相关技术中在针对配置变更的有效性进行验证的时候,通常是人工观察实验发布完成,之后再手动触发以及执行针对变更后的业务系统的测试流程。然而这样的手动触发以及执行测试流程的实现方式存在一定的时间成本,并且操作效率相对较低。41.以及可以理解的是,当针对业务系统新增一项实验的时候,需要针对该实验进行测试,以及当针对已有的实验进行调整的时候,同样需要针对调整后的实验进行进一步的测试,如果说每一次调整后的实验都需要人工观察发布完成并手动触发测试,无疑会导致针对实验的测试效率大大降低。42.针对现有技术中的问题,本技术提出了如下技术构思:可以设计一套自动化流程,以实现实验发布完成之后,自动的触发后续的测试流程的执行,并且在得到测试结果之后,可以直接将测试结果汇报给相应的人员,从而可以全方面的实现针对业务系统的配置变更的自动化测试,无需人工干预。43.在上述介绍内容的基础上,下面结合具体的实施例对本技术提供的业务系统变更的测试方法进行详细介绍。需要说明的是,本技术中各实施例的执行主体可以是服务器、处理器、计算机以及芯片等具备数据处理功能的设备,本实施例对此不做限制,凡是具备数据处理功能的设备均可以作为本技术中各实施例的执行主体。44.下面首先结合图2对本技术提供的业务系统变更的测试方法进行介绍,图2为本技术实施例提供的业务系统变更的测试方法的流程图。45.如图2所示,该方法包括:46.s201、监听消息队列,以从消息队列中获取业务系统的变更事件所对应的变更消息,消息队列用于在业务系统存在变更事件时写入变更事件所对应的变更消息。47.在本实施例中,开发人员比如说可以进行业务系统的配置变更,当业务系统进行一次配置变更之后,比如说可以针对业务系统发布一个实验,该实验比如说可以是新增的实验,或者该实验还可以是针对已有实验的调整。48.同时可以确定的是,当业务系统进行一次配置变更之后,就可以认为存在一次变更事件,结合上述介绍的内容,其中变更事件可以是新增实验,或者变更事件还可以是针对已经存在的实验的变更,本实施例对变更事件的具体实现方式不做限制,凡是针对业务系统的配置进行了变更的事件,均可以认为是本实施例中的变更事件。49.比如说结合上述介绍的示例,假设开发人员针对业务系统进行配置变更从而新增了一个实验d,则可以认为存在一个变更事件,该变更事件对应的就是新增实验d。或者假设开发人员针对业务系统进行配置变更,从而对原本的实验a进行调整得到实验a`,则也可以认为存在一个变更事件,该变更事件对应的就是将实验a调整为实验a`。50.在一种可能的实现方式中,在业务系统进行了配置变更之后,可以生成变更事件所对应的变更消息,并且将变更消息写入消息队列中,其中生成变更消息并且将变更消息写入消息队列,比如说可以是通过实验平台完成的。51.而本实施例中的处理设备可以监听消息队列,当监听到消息队列中存在消息的时候,就可以消费消息队列中的消息,从而获取业务系统的变更事件所对应的变更消息。其中,变更事件所对应的变更消息中可以包括相关的事件数据,事件数据的具体数据内容可以根据实际需求进行选择和设置。52.s202、根据变更消息,在多个预设的测试用例中获取变更事件所对应的目标测试用例。53.在本实施例中,可以预先设置有多个测试用例,在获取到变更事件所对应的变更消息之后,就可以根据变更消息,在多个预设的测试用例中,获取变更事件所对应的目标测试用例。54.在一种可能的实现方式中,变更消息中可以包括变更事件相应的事件信息,比如说可以预先设置有事件信息和预设的测试用例之间的映射关系,则比如说可以根据映射关系进行匹配,从而在多个预设的测试用例中获取变更事件所对应的目标测试用例。55.或者,还可以根据变更消息中的事件信息和测试用例的用例信息确定匹配度,从而确定变更事件所对应的目标测试用例。本实施例对确定目标测试用例的具体实现方式不做限制,只要目标测试用例是在多个预设的测试用例中确定的,并且是变更事件所对应的测试用例即可。56.s203、根据目标测试用例对变更后的业务系统执行测试操作,以得到变更事件所对应的测试结果。57.在本实施例中,在业务系统进行了配置变更之后,需要对变更后的业务系统进行测试,以确定配置变更的有效性。因此在确定变更事件所对应的目标测试用例之后,就可以根据目标测试用例对变更后的业务系统自动的执行测试操作,从而得到变更事件所对应的测试结果,其中变更事件所对应的测试结果,实际上也就是变更事件所对应的实验的测试结果。58.其中测试结果比如说可以指示发生变更后的业务系统可以稳定运行,并且可以到达预期的目的,则可以确定变更事件所对应的测试结果为成功。或者说测试结果可以指示发生变更后的业务系统无法稳定运行,或者无法达到预期的目的,则可以确定变更事件所对应的测试结果为失败。59.在确定变更事件所对应的测试结果之后,比如说可以向变更事件所对应的目标设备发送该测试结果。或者还可以由目标设备主动获取该测试结果,具体的测试结果汇报方式可以根据实际需求进行选择和设置。60.其中变更事件所对应的目标设备比如说可以是变更事件所对应的实验的发起人的设备,或者还可以是变更事件所对应的实验的负责人的设备,本实施例对此不做限制。61.本实施例中的向变更事件所对应的目标设备发送上述得到的测试结果,就可以实现在监测到业务系统的配置变更之后,就自动化的执行一系列测试流程,并且最终将得到的测试结果也自动化的汇报给相应的人员,以实现针对业务系统的配置变更的快速有效的测试。62.本技术实施例提供的业务系统变更的测试方法,包括:监听消息队列,以从消息队列中获取业务系统的变更事件所对应的变更消息,消息队列用于在业务系统存在变更事件时写入变更事件所对应的变更消息。根据变更消息在多个预设的测试用例中获取变更事件所对应的目标测试用例。根据目标测试用例对变更后的业务系统执行测试操作,以得到变更事件所对应的测试结果。在业务系统存在变更事件时,将变更事件的变更消息写入消息队列中,之后通过监听消息队列以自动的从消息队列中获取变更消息,并且根据变更消息完成对变更后的业务系统的自动化测试操作,从而可以实现业务系统的变更之后的全自动化处理流程,进而可以有效的提升针对变更后的业务系统的测试效率。63.基于上述介绍可以确定的是,在监听消息队列获取到变更消息之后,需要根据变更消息在多个预设的测试用例中,获取变更事件所对应的目标测试用例,在上述介绍内容的基础上,下面结合图3至图5对本技术提供的业务系统变更的测试方法中,确定目标测试用例的实现方式进行进一步的详细介绍。图3为本技术实施例提供的业务系统变更的测试方法的流程图二,图4为本技术实施例提供的预设映射关系的实现示意图,图5为本技术实施例提供的过滤变更消息的实现示意图。64.如图3所示,该方法包括:65.s301、判断业务线标识集合中是否存在变更业务线标识,若是,则执行s302,若否,则执行s307。66.基于上述介绍可以确定的是,变更事件可以是新增的实验,或者还可以是对已有实验的调整。以及每一个实验都隶属于某一个应用,同时每一个应用又隶属于某一条业务线,因此在本实施例中,变更事件所对应的变更消息中例如可以包括:变更事件所对应的变更业务线标识、变更事件所对应的变更应用标识以及变更事件所对应的变更实验标识。67.其中,变更事件所对应的变更实验就是隶属于变更应用的,以及变更事件岁对应的变更应用就是隶属于变更业务线的,也就是说变更事件所对应的变更业务线标识、变更应用标识以及变更实验标识就是遵循具体的实验、应用以及业务线的隶属关系的。68.比如说以上述图1介绍的示例为例,假设当前的变更事件是针对实验a的调整,则可以确定该变更事件所对应的变更实验标识是实验a,以及该变更事件所对应的变更应用标识是应用b,以及该变更事件所对应的变更业务线标识是业务线a。69.在获取到变更事件所对应的变更消息之后,就需要根据变更消息在多个预设的测试用例中,获取变更事件所对应的目标测试用例。70.在一种可能的实现方式中,比如说可以预先设置有业务线标识集合,在业务线标识集合中包括业务系统中所有的业务线,为了保证能够有效的确定变更事件所对应的目标测试用例,则可以首先判断在业务线标识集合中是否存在变更消息中所包括的变更业务线标识。71.在一种可能的实现方式中,如果业务线标识集合中不存在变更业务线标识,那么可以确定的是当前的变更事件所对应的业务线并不是业务系统中所包括的业务线,在这样的场景下,可能是变更事件本身的事件信息错误,也有可能是系统出现异常,总之这样的场景下无法匹配到变更事件所对应的变更业务线标识,则可以直接忽略当前的这个变更事件所对应的变更消息。以及还可以进一步的向目标设备发送告知信息,以告知当前的变更事件所对应的业务线并不是业务系统中存在的业务线。72.s302、根据预设映射关系确定是否存在变更实验标识所对应的测试用例,若是,则执行s303,若否,则执行s304。73.在一种可能的实现方式中,若业务线标识集合中存在变更业务线标识,则可以认为当前的变更事件所对应的业务线是业务系统中所存在的业务线,可以继续执行后续的目标测试用例的匹配操作。74.在本实施例中,例如可以设置有预设映射关系,其中预设映射关系用于指示预设的测试用例、实验标识以及应用标识三者之间的对应关系,对应关系比如说可以表示为应用-》实验-》测试用例。比如说可以结合图4进行理解,如图4所示,假设在预设映射关系中配置有应用b、实验a和测试用例1这三者之间的对应关系,以及应用b、实验b和测试用例2这三者之间的对应关系,其余的实现方式类似,此处不再赘述。在实际实现过程中,预设映射关系中所包括的测试用例、实验以及应用之间的对应关系可以根据实际需求进行选择和设置。75.本实施例中的变更消息中包括变更事件所对应的变更实验标识,在确定业务线标识集合中存在变更业务线标识的基础上,可以进一步的根据上述介绍的预设映射关系确定是否存在变更实验标识所对应的测试用例。76.s303、将预设映射关系中变更实验标识所对应的测试用例确定为目标测试用例。77.在一种可能的实现方式中,如果在预设映射关系中包括变更实验标识和相应的测试用例之间的对应关系,则根据预设映射关系可以确定存在变更实验标识所对应的测试用例,也就是说预先配置有当前的变更事件所属实验所对应的测试用例。则可以直接将预设映射关系中的变更实验标识所对应的测试用例确定为目标测试用例。78.比如说变更消息中变更事件所对应的变更实验标识为实验a,则根据图4所示的预设映射关系可以确定实验a所对应的测试用例1为目标测试用例。79.s304、根据预设映射关系确定是否存在变更应用标识所对应的测试用例,若是,则执行s305,若否,则执行s306。80.在另一种可能的实现方式中,如果在预设映射关系中不包括变更实验标识和相应的测试用例之间的对应关系,则根据预设映射关系可以确定不存在变更实验标识所对应的测试用例,也就是说预先并没有配置当前的变更事件所属实验所对应的测试用例。81.在这种情况下,可以进一步的根据预设映射关系确定是否存在变更应用标识所对应的测试用例。82.本实施例中的变更消息中包括变更事件所对应的变更应用标识,在确定业务线标识集合中存在变更业务线标识,并且不存在变更实验标识所对应的测试用例的基础上,可以进一步的根据上述介绍的预设映射关系确定是否存在变更应用标识所对应的测试用例。83.s305、将预设映射关系中变更应用标识所对应的测试用例确定为目标测试用例。84.在一种可能的实现方式中,如果在预设映射关系中包括变更应用标识和相应的测试用例之间的对应关系,则根据预设映射关系可以确定存在变更应用标识所对应的测试用例,也就是说预先配置有当前的变更事件所属应用所对应的测试用例。则可以直接将预设映射关系中的变更应用标识所对应的测试用例确定为目标测试用例。85.如果说预设映射关系中变更应用标识所对应的测试用例仅有一个,则可以直接将变更应用标识所对应的这一个测试用例确定为目标测试用例。或者,如果说预设映射关系中变更应用标识所对应的测试用例有多个,则可以在多个测试用例中选择一个或者多个作为目标测试用例。其中选择的方式比如说可以是随机选择,或者还可以是按照优先级选择,本实施例对此不做限制。86.此处结合一个具体的示例进行说明,比如说当前的变更事件是针对应用b新增了实验d,参照上述介绍的处理流程,可以确定的是实验d隶属于应用b,以及应用b隶属于业务线a。那么可以首先确定业务线a是存在于业务线标识集合中的。87.以及参照上述介绍的图4可以确定的是,在预设映射关系中并不包括实验d和相应的测试用例的对应关系。因此可以退一步的,根据预设映射关系确定是否存在应用b对应的测试用例,参照图5可以确定,当前应用b对应的测试用例包括测试用例1、测试用例2和测试用例3。则比如说可以在这3个测试用例中选择一个或者多个,将其确定为目标测试用例。88.在确定目标测试用例之后,比如说可以向目标设备发送告知信息,其中告知信息用于指示当前变更实验标识所对应的实验发生了变更,并且其自动化测试已经开始执行,以使得相关人员及时的同步测试进度。89.此处需要说明的是,当前步骤的情况下,实验d是新增的实验,并且在预设映射关系中不存在实验d和相应的测试用例的对应关系,这就表明预先并没有为实验d配置测试用例。在这种情况下,为了保证针对实验d的自动化测试可以顺利完成,可以退而求其次的选择实验d所属的应用b所对应的测试用例进行测试,因为一个应用所对应的测试数据都是类似的,因此这些测试用例可以完成针对实验d的测试,只是相较于专门为实验d配置的测试用例而言,当前情况下所确定的测试用例与实验d的适配性是略逊色的。90.那么可以理解的是,若是为每一个实验都配置对应的测试用例,那么必然测试效果是最好的,因为这样可以保证针对每一个实验都适应性的确定专属的测试用例。但是在一些特殊情况下,针对某些实验并没有配置对应的测试用例,采用实验所属的应用所对应的测试用例进行测试,仍然可以保证自动化测试的顺利进行。91.s306、向目标设备发送通知信息,通知信息用于指示不存在变更事件所对应的目标测试用例。92.在另一种可能的实现方式中,如果说根据第二映射关系确定当前也不存在变更应用标识所对应的测试用例,则可以认为无法自动匹配到变更事件所对应的测试用例。在这种情况下可以向目标设备发送通知信息,其中通知信息用于指示不存在变更事件所对应的目标测试用例,之后开发人员可以进行进一步的处理。93.s307、忽略变更消息。94.本技术实施例提供的业务系统变更的测试方法,通过首先确定变更事件所对应的业务线是否是业务系统中的业务线,则肯定的基础上再进行后续的匹配处理,从而可以有效的避免对异常情况进行后续处理,以节省对异常数据处理所消耗的资源。以及在后续的匹配过程中,当确定存在变更事件所属的实验所对应的测试用例的时候,优先的将实验所对应的测试用例确定为目标测试用例,从而可以精确的匹配到针对变更业务线和变更实验相对应的测试用例。以及在确定不存在变更实验所对应的测试用例的情况下,退一步的匹配变更事件所属的应用所对应的测试用例,然后将其确定为目标测试用例以进行后续的自动化测试,从而可以有效的提升匹配目标测试用例的成功率。95.在上述介绍内容的基础上,在从消息队列中获取到的变更事件的变更消息之后,比如说可以对变更消息进行过滤处理,其中过滤处理可以将不需要进行自动化测试的消息过滤掉,以提升自动化测试流程的执行效率和有效性。下面结合图5进行进一步的详细介绍,图5为本技术实施例提供的业务系统变更的测试方法的消息过滤示意图。96.如图5所示,在从消息队列中获取到变更消息之后,可以过滤掉消息类型不为预设类型的变更消息。97.在一种可能的实现方式中,在变更消息中比如说可以包括消息类型,或者还可以是变更消息携带有自己的消息类型,则可以获取变更消息的消息类型。98.当变更消息的消息类型不是预设类型的时候,可以认为变更消息并不是需要触发自动化测试的消息,则可以直接丢弃变更消息。99.或者,当变更消息的消息类型是预设类型的时候,则可以认为变更消息是需要触发自动化测试的消息,则可以根据变更消息进行后续的处理。100.在实际实现过程中,消息类型比如说可以包括实验变更类、预变更类、发起流程类以及重置状态类等等,比如说仅仅只有其中的实验变更类需要触发后续的自动化测试,则比如说可以设置预设类型为实验变更类。在实际实现过程中,具体的消息类型的划分,以及具体的预设类型均可以根据实际需求进行选择和设置,凡是需要触发自动化测试的消息类型均可以作为本实施例中的预设类型。101.以及在一种可能的实现方式中,如图5所示,本实施例中比如说还可以说配置有测试开启信息,其中测试开启信息用于指示变更事件所对应的自动化测试是否开启。其中测试开启信息比如说是一个开关类的信息,当测试开启信息指示变更事件所对应的自动化测试未开启的时候,可以认为当前的变更事件不需要触发自动化测试,则可以丢弃该变更消息。102.或者,当测试开启信息指示变更事件所对应的自动化测试开启的时候,则可以认为需要触发该变更事件所对应的自动化测试,则可以根据变更消息进行后续的处理。103.其中,测试开启信息比如说可以是针对全局配置的,比如说可以针对全局配置测试开启信息为关闭,也就是说所有的变更事件都不会触发自动化测试。或者,测试开启信息还可以是针对应用配置的,比如说针对应用a配置测试开启信息为关闭,则可以确定应用a下所有的实验所对应的变更事件都不会触发自动化测试。或者测试开启信息还可以针对业务线或者实验配置等等,本实施例对具体的实现方式不做限制。总之可以根据测试开启信息以及变更事件所对应的相应信息,确定测试开启信息具体是指示变更事件所对应的自动化测试是开启还是关闭。104.当测试开启信息指示变更事件所对应的自动化测试关闭的时候,在变更事件发生之后,比如说可以向变更事件所对应的目标设备发送指示信息,以告知当前发生了变更事件,同时没有触发相应实验的自动化测试流程。105.以及在一种可能的实现方式中,为了提高实验配置的自由度,比如说还可以提供黑名单机制,通过将某些实验添加到黑名单中,就可以实现针对黑名单中的实验所对应的变更事件,不会触发自动化测试流程。那么在获取到变更消息之后,如果确定变更消息是属于实验黑名单中的实验的,则可以选择丢弃变更消息。106.基于上述介绍和图5可以确定的是,本实施例中可以通过确定消息类型、通过测试开启信息确定变更事件所对应的自动化测试是否开启、以及实验黑名单的实现方式,实现对获取到的变更消息的过滤,这三项过滤方式是不分先后顺序的,其可以根据实际需求进行设置,通过过滤消息队列中的消息,从而可以保证仅仅针对需要触发自动化测试的变更消息触发自动化测试,进而有效的避免了频繁调用相应接口所导致的服务器的消耗,同时也避免了针对数据库的查询。以及上述介绍的配置测试开启信息的实现方式,可以在服务发生熔断或者降级时候,避免因为测试用例执行造成接口调用错误或者错误数据,其中测试开启信息可以灵活有效的实现对自动化测试触发与否的配置。107.在确定变更事件所对应的测试结果之后,针对异常的测试结果通常需要报告提醒相应的负责人员。但是某些自动化测试的原因可能并非是实验变更所导致的,也有可能是因为测试数据的问题,如果说针对实验的每一次的测试失败都进行提醒的话,则有可能导致对负责人员的频繁打扰。108.因此在本实施例中,可以将变更事件所对应的实验称为变更实验,之后首先确定针对变更实验所执行过的测试用例的总数量,以及可以确定针对变更实验所执行过的测试用例中测试结果为失败的测试用例的数量,之后比如说可以根据后者和前者的比例,确定变更实验所对应的测试失败比例。109.比如说针对实验a总共根据10个测试用例进行过测试,以及其中的2个测试用例所对应的测试结果为失败,则可以确定实验a所对应的测试失败比例为20%。110.当变更实验所对应的测试失败比例大于或等于预设阈值的时候,再向目标设备发送告警信息,其中告警信息用于指示变更实验所对应的测试存在异常。111.在一种可能的实现方式中,在向目标设备发送告警信息的时候,比如说可以通过预设方式进行告警,其中预设方式比如说可以是电话。也就是说此处的告警信息相较于上述介绍的上报测试结果的通知信息,告警信息的提示性更强一点,进而保证相关人员可以及时的发现并介入相应的异常问题。112.可以理解的是,通过这种方式可以实现在变更实验所对应的测试失败的情况达到一定的比例的时候,再向相应的负责人员进行提醒,从而避免了频繁提醒异常而导致的对负责人员的打扰。113.目前的相关技术中除了需要手动触发测试流程的执行,导致测试效率较低的问题之外,还存在因为不能自动记录实验数据以及测试结果,从而导致不能进行多维度的质量数据汇总,不利于业务质量发展的问题总结和调优的问题。在此基础上,本技术提供的业务系统变更的测试方法中,还可以进一步的对测试结果进行汇总以及自动化分析,下面针对这部分内容再进行进一步的详细介绍。114.在本实施例中,在生成测试结果之后,比如说可以获取测试结果所对应的生成时刻,之后可以根据测试结果的生成时刻,测试结果本身以及变更事件所对应的变更消息,生成变更事件所对应的记录消息,之后可以在预设存储空间中存储该记录消息115.其中记录消息比如说可以是如下形式:{变更事件对应的变更消息、测试结果、测试结果的生成时刻}。针对每一个变更事件都可以这样生成一条记录消息,以及记录消息中的具体内容还可以根据实际需求进行选择和设置,本实施例对此不做限制。116.那么在预设存储空间中就存储有多个变更事件各自对应的记录消息,然后就可以根据预设存储空间中所存储的记录消息,确定在目标时段内的测试统计信息。117.其中目标时段可以是根据实际需求进行设置的,以及在根据目标时段进行筛选的时候,可以是筛选生成时刻在目标时段内的记录消息,然后在此基础上进行进一步的筛选。118.其中测试统计信息比如说可以包括测试频率,测试频率也就是说在目标时段内触发了多少次测试。在一种可能的实现方式中,比如说可以统计目标时段内全局(也就是说全部业务线)的测试频率,或者说还可以统计目标时段内指定业务线的测试频率,或者说还可以统计目标时段内指定测试团队的测试频率。其中测试频率的具体归属可以根据实际需求进行选择设置。119.以及测试统计信息比如说还可以包括目标业务线所对应的失败测试占比,其中失败测试占比可以是在目标时段内测试结果为失败的测试用例的总数量,和目标时段内目标业务线所对应的测试结果为失败的测试用例的数量之比。120.假设当前目标时段内测试结果为失败的测试用例的总数量为40个,其中“业务线a”这个目标业务线所对应的测试结果为失败的测试用例为14个,则可以确定“业务线a”这个目标业务线所对应的失败测试占比为35%。121.以及测试统计信息中还可以包括目标应用所对应的失败测试占比,目标实验所对应的失败测试占比等等,其中失败测试占比的含义类似,此处不再赘述。122.以及测试统计信息还可以包括测试结果存在失败的实验列表,比如说可以将目标时段内测试结果存在失败的实验列表列举出来,同时还可以列举出这些实验的测试用例(case)总数,以及这些实验的失败的测试用例数量。123.以及测试统计信息还可以包括目标时段内实验的配置变更频率,比如说可以列举出不同的时段中目标实验的配置变更次数。比如说在10月份目标实验的配置变更了12次,在11月目标实验的配置变更了21次,等等。124.以及测试统计信息还可以包括目标时段内多个实验的配置变更频率的排名,比如说目标时段内配置变更频率排名第一的是实验a,排名第二的是实验b,等等。125.在实际实现过程中,测试统计信息的具体实现方式可以根据实际需求进行选择和设置,凡是根据预设存储空间中所存储的记录消息分析得到的,以及是相应人员所需要的统计数据,均可以作为本实施例中的测试统计信息。通过回收实验测试结果以及实验变更的基础数据,将其生成记录信息,之后就可以根据记录信息自定义的统计多维度的质量数据,从而可对关键问题进行即使的分析和发现,从而可以为后续的业务质量的调整提供可靠的数据依据,从而可以最大程度的实现对测试数据的记录和统计,以提升数据利用率。126.在上述介绍内容的基础上,下面结合图6进行介绍,图6为本技术提供的业务系统变更的测试方法的流程示意图。127.如图6所示,当针对业务系统的实验存在变更事件的时候可以发出消息队列,之后比如说配置平台可以监听消息队列,从而从消息队列中获取变更事件所对应的变更消息。128.以及在获取到变更消息之后,可以首先对变更消息进行过滤处理,具体的过滤处理的实现可以参照上述实施例的介绍。针对过滤处理完成之后剩余的变更消息,可以获取变更消息中的相关配置数据,比如说上述介绍的变更事件所对应的变更业务线标识、变更应用标识以及变更实验标识扥等。129.然后就可以根据变更消息中的相关配置数据确定目标测试用例,并执行自动化测试流程,在触发自动化测试之后比如说可以给相应的目标设备发送消息通知,以及可以通过回调接口获取自动化测试的测试结果。130.之后可以基于测试结果向目标设备发送相应的通知信息,该通知信息比如说可以包括上述实施例介绍的测试结果的汇报,或者还可以包括上述实施例介绍的测试失败的告警信息。131.以及基于测试结果还可以生成变更事件所对应的记录信息,之后对记录信息进行存储,然后基于存储的记录信息就可以进一步的确定自定义的测试统计信息,以用于分析可能的配置变更的风险。132.综上所述,本技术实施例提供的业务系统变更的测试方法中,一方面可以通过设置消息队列等一系列自动化流程,从而在配置变更完成的第一时间自动触发对应的测试用例,免去人工接入的手动触发成本,并且在满足相应条件的情况下及时的向目标设备发送告警信息,以减少问题发现不及时所带来的损失,进而有效的提高实验变更的测试效率。同时通过存储变更事件对应的记录信息,从而可以便于后续进行自定义的数据度量统计,以为业务系统的调整提供有效的数据参考。133.图7为本技术实施例提供的业务系统变更的测试装置的结构示意图。如图7所示,该装置70包括:处理模块701、获取模块702、测试模块以及发送模块704。134.处理模块701,用于监听消息队列,以从所述消息队列中获取业务系统的变更事件所对应的变更消息,所述消息队列用于在业务系统存在变更事件时写入变更事件所对应的变更消息;135.获取模块702,用于根据所述变更消息,在多个预设的测试用例中获取所述变更事件所对应的目标测试用例;136.测试模块703,用于根据所述目标测试用例对变更后的业务系统执行测试操作,以得到所述变更事件所对应的测试结果。137.在一种可能的设计中,所述变更事件所对应的变更消息中包括:所述变更事件所对应的变更业务线标识、所述变更事件所对应的变更应用标识以及所述变更事件所对应的变更实验标识;138.其中,所述业务系统中包括至少一条业务线,任一条所述业务线中包括至少一个应用,任一个所述应用中配置有至少一项实验,所述变更事件为针对已有实验的配置变更,或者所述变更事件为新增实验。139.在一种可能的设计中,所述获取模块702具体用于:140.若确定业务线标识集合中存在所述变更业务线标识,则根据预设映射关系确定是否存在所述变更实验标识所对应的测试用例,所述预设映射关系用于指示预设的测试用例、实验标识以及应用标识三者之间的对应关系;141.若存在,则将所述预设映射关系中所述变更实验标识所对应的测试用例确定为所述目标测试用例;或者,142.若不存在,则根据所述变更应用标识在多个预设的测试用例中获取所述变更事件所对应的目标测试用例。143.在一种可能的设计中,所述获取模块702具体用于:144.根据所述预设映射关系确定是否存在所述变更应用标识所对应的测试用例;145.若存在,则将所述预设映射关系中所述变更应用标识所对应的测试用例确定为所述目标测试用例。146.在一种可能的设计中,所述发送模块704用于:147.向目标设备发送告知信息,所述告知信息用于指示所述变更实验标识对应的实验的自动化测试开始执行148.在一种可能的设计中,所述发送模块704还用于:149.若所述预设映射关系中不存在所述变更应用标识所对应的测试用例,则向目标设备发送通知信息,所述通知信息用于指示不存在所述变更事件所对应的目标测试用例。150.在一种可能的设计中,所述处理模块701还用于:151.在所述获取业务系统的变更事件所对应的变更消息之后,获取所述变更消息的消息类型;152.若所述变更消息的消息类型不为预设类型,则丢弃所述变更消息。153.在一种可能的设计中,所述处理模块701还用于:154.在所述获取业务系统的变更事件所对应的变更消息之后,获取测试开启信息,所述测试开启信息用于指示所述变更事件所对应的自动化测试是否开启;155.若所述测试开启信息指示所述变更事件所对应的自动化测试未开启,则丢弃所述变更消息。156.在一种可能的设计中,所述处理模块701还用于:157.在所述根据所述目标测试用例对变更后的业务系统执行测试操作,以得到所述变更事件所对应的测试结果之后,根据针对变更实验所执行的测试用例的总数量,以及针对所述变更实验所执行的测试用例中测试结果为失败的测试用例的数量,确定所述变更实验对应的测试失败比例,所述变更实验为所述变更事件所对应的实验;158.若所述测试失败比例大于或等于预设阈值,则向所述目标设备发送告警信息,所述告警信息用于指示所述变更实验对应的测试异常。159.在一种可能的设计中,所述处理模块701还用于:160.在所述根据所述目标测试用例对变更后的业务系统执行测试操作,以得到所述变更事件所对应的测试结果之后,获取所述测试结果对应的生成时刻;161.根据所述测试结果对应的生成时刻、所述测试结果以及所述变更事件的变更消息,生成所述变更事件所对应的记录消息,并在预设存储空间中存储所述记录消息。162.在一种可能的设计中,所述处理模块701还用于:163.在所述存储所述记录消息之后,根据所述预设存储空间中所存储的记录消息,确定目标时段内的测试统计信息;164.所述测试统计信息包括如下中的至少一种:测试频率、目标业务线对应的失败测试占比以及测试结果存在失败的实验列表。165.本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。166.图8为本技术实施例提供的电子设备的硬件结构示意图,如图8所示,本实施例的电子设备80包括:处理器801以及存储器802;其中167.存储器802,用于存储计算机执行指令;168.处理器801,用于执行存储器存储的计算机执行指令,以实现上述实施例中业务系统变更的测试方法所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。169.可选地,存储器802既可以是独立的,也可以跟处理器801集成在一起。170.当存储器802独立设置时,该电子设备还包括总线803,用于连接所述存储器802和处理器801。171.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上电子设备所执行的业务系统变更的测试方法。172.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。173.上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本技术各个实施例所述方法的部分步骤。174.应理解,上述处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。175.存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。176.总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。177.上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。178.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。179.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部