灰度测试方法、装置、设备、介质与流程

文档序号:30523918发布日期:2022-06-25 06:03阅读:418来源:国知局
灰度测试方法、装置、设备、介质与流程

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.通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
38.图1示意性示出了根据本公开实施例的灰度测试方法、装置、设备、介质和程序产品的应用场景图;
39.图2示意性示出了根据本公开实施例的灰度测试方法的流程图;
40.图3示意性示出了根据本公开实施例的确定灰度测试结果的方法流程图;
41.图4示意性示出了根据本公开实施例的灰度测试方法逻辑框图;
42.图5示意性示出了根据本公开实施例的灰度测试装置的结构框图;以及
43.图6示意性示出了根据本公开实施例的适于实现灰度测试方法的电子设备的方框图。
具体实施方式
44.以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细
节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
45.在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
46.在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
47.在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。
48.需要说明的是,本公开灰度测试方法和装置可用于金融领域和计算机技术领域,也可用于除金融领域之外的任意领域,本公开灰度测试的方法和装置的应用领域不做限定。
49.在本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
50.在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
51.本公开的实施例提供了一种灰度测试方法,通过接收来自灰度测试发起器的灰度测试服务请求指令,将待测试服务信息和灰度路由策略信息进行匹配,确定与待测试服务信息对应的路由匹配结果。再根据测试服务请求数量和测试服务请求标识,统计与待测试服务信息对应的测试服务请求标识的路由匹配结果,根据与待测试服务信息对应的路由匹配结果和灰度路由策略信息,确定灰度测试结果信息。由于直接将待测试服务信息和灰度路由策略信息进行匹配,得到与待测试服务信息对应的路由匹配结果,降低了相关技术中待测试服务请求经过具体业务场景才能得到路由结果所耗费的时间,提高了测试结果的准确性。
52.图1示意性示出了根据本公开实施例的灰度测试方法的应用场景图。
53.如图1所示,根据该实施例的应用场景100可以包括灰度测试发起器110、通用网关120、路由器130、注册中心140、配置中心150、灰度测试模拟器160。
54.灰度测试发起器110可以包括测试服务请求数配置模块111、测试服务请求生成模块112、测试服务请求发起模块113。其中,测试服务请求书配置模块111用于配置待测试请求数量。测试服务请求生成模块113,用于生成相应请求数量的待测试服务请求。测试服务请求发起模块113用于将测试服务请求生成模块113生成的待测试服务请求发送至灰度测试模拟器160。
55.通用网关120可以为协议转换器,用于促进不同协议之间的兼容性,将不同终端产生的数据转换为统一的标识格式,以便于后续的数据统计。
56.路由器130,用于接收通用网关120上送的报文服务,通过路由配置,将测试服务路
由到消费者服务器群组。
57.注册中心140,用于灰度测试模拟器160将待测试服务请求服务在注册中心进行注册。还可以定时向消费者服务器群组、灰度测试模拟器推送服务路由等信息,实现服务发布和服务订阅功能。
58.配置中心150,用于配置灰度测试模拟器160注册的测试请求服务的灰度路由策略,并将灰度路由策略信息发布到灰度测试模拟器160上。
59.灰度测试模拟器160可以包括测试服务请求处理模块161和路由匹配结果处理模块162。
60.测试服务请求处理模块161包括灰度策略读取子模块1611、灰度路由匹配子模块1612、灰度路由匹配结果登记子模块1613。灰度策略读取子模块1611用于获取配制中心150发布到灰度测试模拟器160上的灰度路由策略信息。灰度路由匹配子模块1612用于将待测试服务请求中的待测试服务信息与灰度路由策略信息进行匹配,得到与待测试服务信息对应的路由匹配结果。灰度路由结果登记子模块1613用于将与待测试服务信息对应的路由匹配结果存储在路由匹配结果数据库中,以便后续进行路由匹配结果的统计。
61.路由匹配结果处理模块162包括路由匹配结果统计子模块1621和灰度测试结果确定子模块1622,用于统计与待测试服务信息对应测试服务请求标识的路由匹配结果。灰度测试结果确定子模块1622,用于根据与待测试服务信息对应测试服务请求标识的路由匹配结果和灰度路由策略信息,确定灰度测试结果。
62.在该实施例的应用场景100中,灰度测试模拟器160启动时,在注册中心140注册待测试请求服务。配置中心150配置待测试请求服务的灰度路由策略信息,并将灰度路由策略信息发布到灰度测试模拟器160中。灰度测试发起器110发起的测试服务请求,经过通用网关120、路由器130到达灰度测试模拟器160,灰度测试模拟器160通过测试服务请求处理模块161读取灰度策略路由信息,并将灰度策略路由信息与待测试服务信息进行匹配,得到路由匹配结果。路由匹配结果处理模块162统计路由匹配结果,并根据灰度路由策略信息和统计之后的路由匹配结果,确定灰度测试结果。
63.需要说明的是,本公开实施例所提供的灰度测试方法一般可以由灰度测试模拟器160执行。相应地,本公开实施例所提供的灰度测试装置一般可以设置于灰度测试模拟器160中。
64.应该理解,图1中的灰度测试发起器、路由器、灰度测试模拟器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的灰度测试发起器、路由器、灰度测试模拟器。
65.以下将基于图1描述的场景,通过图2~图4对公开实施例的灰度测试方法进行详细描述。
66.图2示意性示出了根据本公开实施例的灰度测试方法的流程图。
67.如图2所示,该实施例的灰度测试方法包括操作s210~操作s240。
68.在操作s210,接收来自灰度测试发起器的灰度测试服务请求指令,其中,灰度测试服务请求指令包括测试服务请求数量、测试服务请求标识和与测试服务请求标识对应的待测试服务信息。
69.根据本公开的实施例,与测试服务请求标识对应的待测试服务信息可以包括服务类型信息、服务对象信息和/或服务区域信息。服务类型信息例如:存款服务、线上资金交易
服务等等。服务对象信息例如:用户标识信息等等。服务区域信息例如:实施交易的地区。
70.在操作s220,将待测试服务信息和灰度路由策略信息进行匹配,确定与待测试服务信息对应的路由匹配结果,其中,灰度路由策略信息是通过配置中心配置的。
71.根据本公开的实施例,例如:待测试服务信息a可以为甲地区客户存款服务,待测试服务信息b可以为乙地区客户存款服务。灰度路由策略信息可以为甲地区客户存款服务。将待测试服务信息和灰度路由策略信息进行匹配,可以确定待测试服务信息a与灰度路由策略信息匹配,则待测试服务信息a对应的路由匹配结果为灰度路由结果。待测试服务信息b与灰度路由策略信息不匹配,则待测试服务信息b对应的路由匹配结果为正常路由结果。
72.在操作s230,根据测试服务请求数量和测试服务请求标识,统计与待测试服务信息对应测试服务请求标识的路由匹配结果。
73.根据本公开的实施例,例如:一条灰度测试服务请求指令中可以包括100笔待测试服务,测试服务请求标识可以包括测试服务请求指令的时间信息和待测试服务的流水号信息,例如:该灰度测试服务请求指令是2月1日发起的,则测试服务请求标识可以为2-1-1、2-1-2

2-1-100,可以根据测试服务请求标识,统计以上测试服务请求标识对应的100个路由匹配结果。
74.在操作s240,根据与待测试服务信息对应的路由匹配结果和灰度路由策略信息,确定灰度测试结果信息。
75.根据本公开的实施例,例如:统计得到的与待测试服务信息对应的路由匹配结果可以包括30个正常路由匹配结果,70个灰度路由匹配结果,则可以确定灰度覆盖率为70%。灰度路由策略信息为70%~71%,可以确定灰度测结果为灰度测试通过。
76.根据本公开的实施例,通过接收来自灰度测试发起器的灰度测试服务请求指令,将待测试服务信息和灰度路由策略信息进行匹配,确定与待测试服务信息对应的路由匹配结果。再根据测试服务请求数量和测试服务请求标识,统计与待测试服务信息对应的测试服务请求标识的路由匹配结果,根据与待测试服务信息对应的路由匹配结果和灰度路由策略信息,确定灰度测试结果信息。由于直接将待测试服务信息和灰度路由策略信息进行匹配,得到与待测试服务信息对应的路由匹配结果,降低了相关技术中待测试服务请求经过具体业务场景才能得到路由结果所耗费的时间,提高了测试结果的准确性。
77.根据本公开的实施例,将待测试服务信息和灰度路由策略信息进行匹配,确定与待测试服务信息对应的路由匹配结果,包括:
78.在待测试服务信息与灰度路由策略信息匹配的情况下,确定与待测试服务信息对应的路由匹配结果为灰度路由结果;
79.在待测试服务信息与灰度路由策略信息不匹配的情况下,确定与待测试服务信息对应的路由匹配结果为正常路由结果。
80.根据本公开的实施例,例如:待测试服务信息a为用户a取款服务,待测试服务信息b为用户b存款服务,待测试服务信息c为用户c取款服务,待测试服务请器d为用户d存款服务。灰度路由策略信息可以包括白名单用户标识信息和存款服务,白名单用户标识信息中包括用户c标识信息、用户d标识信息、用户e标识信息、用户f标识信息。
81.根据本公开的实施例,例如:可以先匹配服务类型,灰度路由策略中的服务类型为存款服务,而待测试服务信息a和待测试服务信息c中的服务类型均为取款服务,所以待测
试服务信息a、待测试服务c与灰度路由策略信息不匹配,则待测试服务信息a对应的路由匹配结果、待测试服务信息c对应的路由匹配结果均为正常路由结果。
82.根据本公开的实施例,例如:虽然待测试服务信息b、待测试服务信息d中的服务类型与灰度路由策略信息中的服务类型匹配,但是用户b不属于白名单用户,所以待测试服务信息b对应的路由匹配结果为正常路由结果。用户d属于白名单用户,所以待测试服务信息d与灰度路由策略信息匹配,所以待测试服务信息d对应的路由匹配结果为灰度路由结果。
83.根据本公开的实施例,由于利用待测试服务信息与灰度路由策略信息进行信息匹配就可以得到待测试服务对应的路由匹配结果,不需要实际通过应用服务器处理待测试服务请求再得到路由结果,可以减少完成灰度测试所需的时间。
84.图3示意性示出了根据本公开实施例的确定灰度测试结果的方法流程图。
85.如图3所示,该实施例包括操作s310~s330。
86.在操作s310,根据灰度路由结果和正常路由结果,计算第一灰度指标信息。
87.在操作s320,根据灰度路由策略信息,确定第二灰度指标信息。
88.在操作s330,根据第一灰度指标信息和第二灰度指标信息,确定灰度测试结果信息。
89.根据本公开的实施例,第一灰度指标信息可以为实际灰度覆盖率,第二灰度指标信息可以为灰度路由策略信息中的灰度覆盖率。例如:测试服务请求指令中包括100笔待测试服务,统计与待测试服务对应的路由匹配结果可以为灰度路由结果20笔,正常路由结果80笔,可以根据灰度路由结果占路由匹配结果总数的百分比,确定实际灰度覆盖率为20%。灰度路由策略信息中既定的灰度覆盖率可以为22%。
90.根据本公开的实施例,可以将第二灰度指标信息作为阈值,当第一灰度指标信息达到阈值时,可以确定灰度测试结果为灰度测试通过。例如:第二灰度指标为22%,第一灰度指标为20%,则第一灰度指标小于第二灰度指标,未达到阈值,则此次灰度测试结果为灰度测试未通过。
91.根据本公开的实施例,通过统计灰度测试得到的路由匹配结果确定实际的灰度指标,与灰度策略中的灰度指标进行比较,确定灰度测试结果,灰度测试结果可以自动生成,不需要进行大量的手工统计与计算。
92.根据本公开的实施例,根据第一灰度指标信息和第二灰度指标信息,确定灰度测试结果信息,包括:
93.根据第二灰度指标信息,确定灰度指标阈值范围;
94.根据第一灰度指标信息和灰度指标阈值范围,确定灰度测试结果信息。
95.根据本公开的实施例,以第二灰度指标信息为灰度覆盖率为例,灰度指标阈值范围可以包括灰度覆盖率的上限值和下限值,例如:灰度指标阈值范围为20%~22%。根据实际统计得到的路由匹配结果,计算的灰度覆盖率为21%,则第一灰度指标属于这个阈值范围之内,可以确定灰度测试结果为灰度测试通过。
96.根据本公开的实施例,根据第一灰度指标信息和灰度指标阈值范围,确定灰度测试结果信息,包括:
97.在第一灰度指标信息属于灰度指标阈值范围内的情况下,确定灰度测试结果信息为灰度测试通过;
98.在第一灰度指标信息不属于灰度指标阈值范围内的情况下,确定灰度测试结果信息为灰度测试未通过。
99.根据本公开的实施例,例如:灰度指标阈值范围为20%~22%。根据实际统计得到的路由匹配结果,计算的灰度覆盖率为18%,则第一灰度指标不属于这个阈值范围之内,可以确定灰度测试结果为灰度测试未通过。
100.根据本公开的实施例,通过设置灰度指标的阈值范围,可以通过判断第一灰度指标信息是否属于灰度指标阈值范围,确定灰度测试结果,以便于自动监控灰度测试结果。
101.根据本公开的实施例,上述灰度测试方法还包括:根据第一灰度指标信息和灰度测试结果信息,生成灰度测试报告。
102.根据本公开的实施例,灰度测试包括可以包括第一灰度指标信息、灰度测试结果信息,还可以包括第二灰度指标信息和/或灰度指标阈值范围等等。灰度测试报告可以通过邮件的方式发送。例如:第一灰度指标信息为30%,灰度测试结果为灰度测试通过,生成的灰度测试包括可以为本次灰度测试的结果是灰度测试通过,灰度覆盖率为30%。并可以将灰度测试报告通过邮件服务器向客户端发送灰度测试结果邮件。
103.根据本公开的实施例,通过自动生成灰度测试报告,可以实现从灰度测试请求发起到灰度测试结果生成,全流程的自动化,提高灰度测试的效率。
104.根据本公开的实施例,根据测试服务请求数量和测试服务请求标识,统计与待测试服务信息对应测试服务请求标识的路由匹配结果,包括:
105.根据测试服务请求标识,从路由匹配结果数据库中,确定与待测试服务信息对应测试服务请求标识的路由匹配结果;
106.按照测试服务请求数量,统计与待测试服务信息对应测试服务请求标识的路由匹配结果。
107.根据本公开的实施例,在进行灰度测试的过程中,每一笔与待测试服务信息对应测试服务请求标识的路由匹配结果均存储在路由匹配结果数据库中。在进行统计时,可以通过测试服务请求标识,从路由匹配结果数据库中,调取全部的路由匹配结果。例如:灰度测试服务请求指令中包括的待测试服务请求数量为10,测试服务请求标识为可以为a-1、a-2...a-10,从路由匹配结果数据库中,确定带有测试服务请求标识a-1、a-2...a-10的10个路由匹配结果,就是目标路由匹配结果,在统计该10个路由匹配结果中灰度路由结果数量和正常路由结果数量,以供计算第一灰度指标。
108.根据本公开的实施例,根据测试服务标识,从路由匹配结果数据库中确定目标路由匹配结果,并统计与待测试服务对应的路由匹配结果,可以提高灰度测试结果统计的速度及效率。
109.图4示意性示出了根据本公开实施例的灰度测试方法逻辑框图。
110.如图4所示,该实施例包括操作s410~s4。
111.在操作s410,接收来自灰度测试发起器的灰度测试服务请求指令,其中,灰度测试服务请求指令包括测试服务请求数量、测试服务请求标识和与测试服务请求标识对应的待测试服务信息。
112.在操作s420,将待测试服务信息和灰度路由策略信息进行匹配,确定与待测试服务信息对应的路由匹配结果;在待测试服务信息与灰度路由策略信息匹配的情况下,与待
测试服务信息对应的路由匹配结果为灰度路由结果。在待测试服务信息与灰度路由策略信息不匹配的情况下,与待测试服务信息对应的路由匹配结果为正常路由结果。
113.在操作s430,根据测试服务请求数量和测试服务请求标识,统计与待测试服务信息对应测试服务请求标识的路由匹配结果;
114.在操作s440,根据路由匹配结果计算第一灰度指标;
115.在操作s450,确定第一灰度指标是否在灰度阈值范围之内。若是,则执行操作s460,输出灰度测试结果为灰度测试通过。若否,则执行操作s470,输出灰度测试结果为灰度测试未通过。
116.基于上述灰度测试方法,本公开还提供了一种灰度测试装置。以下将结合图5对该装置进行详细描述。
117.图5示意性示出了根据本公开实施例的灰度测试装置的结构框图。
118.如图5所示,该实施例的灰度测试装置500包括接收模块510、匹配模块520、统计模块530和确定模块540。
119.接收模块510,用于接收来自灰度测试发起器的灰度测试服务请求指令,其中,灰度测试服务请求指令包括测试服务请求数量、测试服务请求标识和与测试服务请求标识对应的待测试服务信息。在一实施例中,接收模块510可以用于执行前文描述的操作s210,在此不再赘述。
120.匹配模块520,用于将待测试服务信息和灰度路由策略信息进行匹配,确定与待测试服务信息对应的路由匹配结果,其中,灰度路由策略信息是通过配置中心配置的。在一实施例中,匹配模块520可以用于执行前文描述的操作s220,在此不再赘述。
121.统计模块530,用于根据测试服务请求数量和测试服务请求标识,统计与待测试服务信息对应测试服务请求标识的路由匹配结果。在一实施例中,统计模块530可以用于执行前文描述的操作s230,在此不再赘述。
122.确定模块540,用于根据与待测试服务信息对应的路由匹配结果和灰度路由策略信息,确定灰度测试结果信息。在一实施例中,确定模块540可以用于执行前文描述的操作s240,在此不再赘述。
123.根据本公开的实施例,匹配模块包括第一确定子模块和第二确定子模块。其中,第一确定子模块,用于在待测试服务信息与灰度路由策略信息匹配的情况下,确定与待测试服务信息对应的路由匹配结果为灰度路由结果。第二确定子模块,用于在待测试服务信息与灰度路由策略信息不匹配的情况下,确定与待测试服务信息对应的路由匹配结果为正常路由结果。
124.根据本公开的实施例,确定模块包括计算子模块、第三确定子模块和第四确定单元。其中,计算子模块,用于根据灰度路由结果和正常路由结果,计算第一灰度指标信息。第三确定子模块,用于根据灰度路由策略信息,确定第二灰度指标信息。第四确定子模块,用于根据第一灰度指标信息和第二灰度指标信息,确定灰度测试结果信息。
125.根据本公开的实施例,第四确定子模块包括第一确定单元、第二确定单元。第一确定单元,用于根据第二灰度指标信息,确定灰度指标阈值范围。第二确定单元,用于根据第一灰度指标信息和灰度指标阈值范围,确定灰度测试结果信息。
126.根据本公开的实施例,第二确定单元包括第一确定子单元和第二确定子单元。其
中,第一确定子单元,用于在第一灰度指标信息属于灰度指标阈值范围内的情况下,确定灰度测试结果信息为灰度测试通过。第二确定子单元,用于在第一灰度指标信息不属于灰度指标阈值范围内的情况下,确定灰度测试结果信息为灰度测试未通过。
127.根据本公开的实施例,上述灰度测试装置还包括生成模块,用于根据第一灰度指标信息和灰度测试结果信息,生成灰度测试报告。
128.根据本公开的实施例,统计模块包括第五确定子模块和统计子模块。其中,第五确定子模块,用于根据测试服务请求标识,从路由匹配结果数据库中,确定与待测试服务信息对应测试服务请求标识的路由匹配结果。统计子模块,用于按照测试服务请求数量,统计与待测试服务信息对应测试服务请求标识的路由匹配结果。
129.根据本公开的实施例,接收模块510、匹配模块520、统计模块530和确定模块540中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,接收模块510、匹配模块520、统计模块530和确定模块540中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,接收模块510、匹配模块520、统计模块530和确定模块540中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
130.图6示意性示出了根据本公开实施例的适于实现灰度测试方法的电子设备的方框图。
131.如图6所示,根据本公开实施例的电子设备600包括处理器601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic))等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
132.在ram 603中,存储有电子设备600操作所需的各种程序和数据。处理器601、rom 602以及ram 603通过总线604彼此相连。处理器601通过执行rom 602和/或ram 603中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除rom 602和ram 603以外的一个或多个存储器中。处理器601也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
133.根据本公开的实施例,电子设备600还可以包括输入/输出(i/o)接口605,输入/输出(i/o)接口605也连接至总线604。电子设备600还可以包括连接至i/o接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需
要被安装入存储部分608。
134.本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
135.根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的rom 602和/或ram 603和/或rom 602和ram 603以外的一个或多个存储器。
136.本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的灰度测试方法。
137.在该计算机程序被处理器601执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
138.在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分609被下载和安装,和/或从可拆卸介质611被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
139.在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
140.根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如java,c++,python,“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
141.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所
标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
142.本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
143.以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1