CN112242911A - 基于网络流量的测试方法及装置、存储介质、电子设备 - Google Patents
基于网络流量的测试方法及装置、存储介质、电子设备 Download PDFInfo
- Publication number
- CN112242911A CN112242911A CN201910647173.5A CN201910647173A CN112242911A CN 112242911 A CN112242911 A CN 112242911A CN 201910647173 A CN201910647173 A CN 201910647173A CN 112242911 A CN112242911 A CN 112242911A
- Authority
- CN
- China
- Prior art keywords
- test
- posterior distribution
- schemes
- feedback data
- network traffic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供一种基于网络流量的测试方法及装置、电子设备、存储介质;涉及计算机技术领域。所述基于网络流量的测试方法包括:配置多个测试方案的理论反馈数据对应的后验分布,并执行下述循环过程,直至多个测试方案对应的测试结果数据满足目标条件:通过后验分布对多个测试方案的网络流量进行配置,以使多个测试方案根据配置的网络流量执行并确定对应的实际反馈数据;根据实际反馈数据对后验分布进行更新,并通过更新后的后验分布确定多个测试方案对应的测试结果数据。本公开能够在测试结果数据满足目标条件时结束测试,不需要通过网络流量累积大量样本数据,缩短了测试的周期,提高了测试的效率,保证了测试的时效性。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种基于网络流量的测试方法、基于网络流量的测试装置、电子设备以及计算机可读存储介质。
背景技术
随着科学技术的发展,用户对于产品或者服务的要求越来越高,用户的使用体验越来越被各大企业或商家所关心。AB测试(又称分组测试或分桶测试)是为网络WEB或应用程序APP界面或流程制作的两个(A/B)或多个(A/B/n)策略,在同一时间维度,分别让组成成分相同(相似)的访客群组(目标人群)随机的访问这些策略,以便于收集各群组中的用户体验数据和业务数据,最后分析、评估出最好的策略并采用。
然而,现有技术中在测试方案组数很多的时候每组中的测试方案分配到的网络流量会很小,或者测试场景本身网络流量很小时,固定样本检验的方式需要积累较多的样本数,才能够达到一个较高的检验精度,该方式降低了测试的效率。同时由于网络流量较小,测试周期就会较长,如果某个测试方案是有时效性的,传统方法的测试过程较长,不能保证测试结果的时效性。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种基于网络流量的测试方法、基于网络流量的测试装置、电子设备以及计算机可读存储介质,进而在一定程度上克服由于网络流量较小时,导致测试周期较长,测试效率较低,且不能保证测试时效性的问题。
根据本公开的第一方面,提供一种基于网络流量的测试方法,包括:
配置多个测试方案的理论反馈数据对应的后验分布,并执行下述循环过程,直至所述多个测试方案对应的测试结果数据满足目标条件:
通过所述后验分布对所述多个测试方案的网络流量进行配置,以使所述多个测试方案根据配置的所述网络流量执行并确定对应的实际反馈数据;
根据所述实际反馈数据对所述后验分布进行更新,并通过更新后的所述后验分布确定所述多个测试方案对应的测试结果数据。
在本公开的一种示例性实施例中,通过所述后验分布对所述多个测试方案的网络流量进行配置,包括:
对更新前的所述后验分布进行采样处理,确定所述多个测试方案的实际反馈数据对应的最优比例数据集集;
根据所述最优比例数据集集对所述多个测试方案的网络流量进行配置。
在本公开的一种示例性实施例中,配置多个测试方案的理论反馈数据对应的后验分布,包括:
配置所述多个测试方案的理论反馈数据的先验分布,并根据所述先验分布确定所述多个测试方案对应的后验分布。
在本公开的一种示例性实施例中,配置多个测试方案的理论反馈数据的先验分布,包括:
通过汤普森算法、上限置信区间算法或者增强学习算法中的一种或多种,配置所述多个测试方案对应的先验分布。
在本公开的一种示例性实施例中,通过更新后的所述后验分布确定所述多个测试方案对应的测试结果数据,包括:
对更新后的所述后验分布进行采样处理,确定所述多个测试方案对应的最优比例数据集集以及剩余价值数据;其中,所述最优比例数据集集包括所述多个测试方案的实际反馈数据对应的多个最优比例。
在本公开的一种示例性实施例中,所述目标条件包括:所述多个测试对应的所述最优比例数据集中任意测试方案的所述最优比例等于或高于第一预设阈值;和/或
所述多个测试方案对应的剩余价值数据等于或低于第二预设阈值。
在本公开的一种示例性实施例中,所述测试结果数据包括最优比例数据集集,所述对更新后的所述后验分布进行采样处理,确定所述多个测试方案对应的测试结果数据,还包括:
对更新后的所述后验分布进行预设次数的随机采样,确定所述多个测试方案对应实际反馈数据的各最优次数;
将所述多个测试方案的所述各最优次数占所述预设次数的比例作为最优比例,并将所述多个测试方案对应的多个所述最优比例作为所述多个测试方案对应的最优比例数据集集。
在本公开的一种示例性实施例中,所述测试结果数据包括剩余价值数据,对更新后的所述后验分布进行采样处理,确定所述多个测试方案对应的测试结果数据,包括:
对更新后的所述后验分布进行预设次数的随机采样,确定所述预设次数的所述多个测试方案对应的多个剩余价值;
将所述多个剩余价值中处于预设分位点的一所述剩余价值作为所述多个测试方案对应的剩余价值数据。
在本公开的一种示例性实施例中,对更新后的所述后验分布进行预设次数的随机采样,确定所述预设次数的所述多个测试方案对应的多个剩余价值,包括:
对更新后的所述后验分布进行预设次数的随机采样,确定所述多个测试方案对应实际反馈数据中的真实最大反馈数据;
获取所述多个测试方案对应理论反馈数据中的理论最优反馈数据,并根据所述真实最大反馈数据以及所述理论最优反馈数据确定所述多个测试方案对应的多个剩余价值。
在本公开的一种示例性实施例中,所述后验分布包括第一参数以及第二参数,根据所述实际反馈数据对所述后验分布进行更新,包括:
将所述实际反馈数据作为概率数据创建伯努利分布;
对所述伯努利分布进行随机采样处理,根据随机采样处理的结果对所述后验分布的所述第一参数以及所述第二参数进行更新。
在本公开的一种示例性实施例中,根据所述实际反馈数据对所述后验分布进行更新,还包括:
获取当前批次对应的所述实际反馈数据,根据所述当前批次的所述实际反馈数据对所述后验分布进行更新。
在本公开的一种示例性实施例中,在所述多个测试方案对应的测试结果数据满足目标条件之后,所述方法还包括:
结束所述多个测试方案的执行,并根据所述最优比例数据集确定所述多个测试方案对应的测试结果。
根据本公开的第二方面,提供一种基于网络流量的测试装置,包括:
测试配置单元,用于配置多个测试方案的理论反馈数据对应的后验分布,并执行下述循环过程,直至所述多个测试方案对应的测试结果数据满足目标条件:
网络流量配置单元,用于通过所述后验分布对所述多个测试方案的网络流量进行配置,以使所述多个测试方案根据配置的所述网络流量执行并确定对应的实际反馈数据;
后验分布更新单元,用于根据所述实际反馈数据对所述后验分布进行更新,并通过更新后的所述后验分布确定所述多个测试方案对应的测试结果数据。
在本公开的一种示例性实施例中,所述网络流量配置模块包括:
后验分布采样单元,用于对更新前的所述后验分布进行采样处理,确定所述多个测试方案的实际反馈数据对应的最优比例数据集;
流量分配单元,用于根据所述最优比例数据集对所述多个测试方案的网络流量进行配置。
在本公开的一种示例性实施例中,所述测试配置模块包括:
先验分布确定单元,用于配置所述多个测试方案的理论反馈数据的先验分布,并根据所述先验分布确定所述多个测试方案对应的后验分布。
在本公开的一种示例性实施例中,所述先验分布单元通过下述步骤获取多个测试方案的先验分布:通过汤普森算法、上限置信区间算法或者增强学习算法中的一种或多种,配置所述多个测试方案对应的先验分布。
在本公开的一种示例性实施例中,所述后验分布更新模块包括:
测试结果数据确定单元,用于对更新后的所述后验分布进行采样处理,确定所述多个测试方案对应的最优比例数据集以及剩余价值数据;其中,所述最优比例数据集包括所述多个测试方案的实际反馈数据对应的多个最优比例。
在本公开的一种示例性实施例中,所述后验分布更新模块中的目标条件具体可以包括:所述多个测试方案对应的所述最优比例数据集中任意测试方案的所述最优比例等于或高于第一预设阈值;和/或所述多个测试方案对应的剩余价值数据等于或低于第二预设阈值。
在本公开的一种示例性实施例中,所述测试结果数据确定单元还包括:
最优次数确定单元,用于对更新后的所述后验分布进行预设次数的随机采样,确定所述多个测试方案对应实际反馈数据的各最优次数;
最优比例数据集确定单元,用于将所述多个测试方案的所述各最优次数占所述预设次数的比例作为最优比例,并将所述多个测试方案对应的多个所述最优比例作为所述多个测试方案对应的最优比例数据集。
在本公开的一种示例性实施例中,所述测试结果数据确定单元还包括:
剩余价值确定单元,用于对更新后的所述后验分布进行预设次数的随机采样,确定所述预设次数的所述多个测试方案对应的多个剩余价值;
剩余价值数据确定单元,用于将所述多个剩余价值中处于预设分位点的一所述剩余价值作为所述多个测试方案对应的剩余价值数据。
在本公开的一种示例性实施例中,所述剩余价值确定单元通过下述步骤计算剩余价值数据:对更新后的所述后验分布进行预设次数的随机采样,确定所述多个测试方案对应实际反馈数据中的真实最大反馈数据;获取所述多个测试方案对应理论反馈数据中的理论最优反馈数据,并根据所述真实最大反馈数据以及所述理论最优反馈数据确定所述多个测试方案对应的多个剩余价值。
在本公开的一种示例性实施例中,所述后验分布更新模块通过下述步骤对后验分布进行更新:将所述实际反馈数据作为概率数据创建伯努利分布;对所述伯努利分布进行随机采样处理,根据随机采样处理的结果对所述后验分布的所述第一参数以及所述第二参数进行更新。
在本公开的一种示例性实施例中,所述后验分布更新模块还包括:
批次更新单元,用于获取当前批次对应的所述实际反馈数据,根据所述当前批次的所述实际反馈数据对所述后验分布进行更新。
在本公开的一种示例性实施例中,所述基于网络流量的测试装置还包括:
测试结束单元,用于结束所述多个测试方案的执行,并根据所述最优比例数据集确定所述多个测试方案对应的测试结果。
根据本公开的第三方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的方法。
根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。
本公开示例性实施例可以具有以下部分或全部有益效果:
在本公开的一示例实施方式所提供的基于网络流量的测试方法中,配置多个测试方案的理论反馈数据对应的后验分布,并执行下述循环过程,直至多个测试方案对应的测试结果数据满足目标条件:通过后验分布对多个测试方案的网络流量进行配置并确定对应的实际反馈数据;根据实际反馈数据对后验分布进行更新并通过更新后的后验分布确定多个测试方案对应的测试结果数据。一方面,根据后验分布对多个测试方案的网络流量进行配置,确保在网络流量较小的情况下将流量优先分给表现较优的测试方案,提升测试结果的精确性,提高测试执行的效率;另一方面,在每一次循环过程中更新后验分布,根据后验分布重新配置流量并确定测试结果数据,在测试结果数据满足目标条件时结束循环过程,能够缩短测试的执行周期,进一步提高测试执行的效率,保证测试的时效性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本公开实施例的一种基于网络流量的测试方法及装置的示例性系统架构的示意图;
图2示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图;
图3示意性示出了根据本公开的一个实施例的根据流量容器分配流量的示意图;
图4示意性示出了根据本公开的一个实施例的基于网络流量的测试方法的流程图;
图5示意性示出了根据本公开的一个实施例的配置网络流量的流程图;
图6示意性示出了根据本公开的一个实施例的确定多个测试方案对应的最优比例数据集的流程图;
图7示意性示出了根据本公开的一个实施例的确定多个测试方案对应的剩余价值数据的流程图;
图8示意性示出了根据本公开的一个实施例的对后验分布进行更新的流程图;
图9示意性示出了根据本公开的另一个实施例中的系统应用场景的示意图;
图10示意性示出了根据本公开的一个实施例的基于网络流量的测试装置的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本公开实施例的一种基于网络流量的测试方法及装置的示例性应用环境的系统架构的示意图。
如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
本公开实施例所提供的基于网络流量的测试方法一般由服务器105执行,相应地,基于网络流量的测试装置一般设置于服务器105中。但本领域技术人员容易理解的是,本公开实施例所提供的基于网络流量的测试方法也可以由终端设备101、102、103执行,相应的,基于网络流量的测试装置也可以设置于终端设备101、102、103中,本示例性实施例中对此不做特殊限定。举例而言,在一种示例性实施例中,可以是用户通过终端设备101、102、103将实际反馈数据上传至服务器105,服务器通过本公开实施例所提供的基于网络流量的测试方法将实际反馈数据分配给多个试验,并计算最终的测试结果等。
图2示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图2示出的电子设备的计算机系统200仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图2所示,计算机系统200包括中央处理单元(CPU)201,其可以根据存储在只读存储器(ROM)202中的程序或者从存储部分208加载到随机访问存储器(RAM)203中的程序而执行各种适当的动作和处理。在RAM 203中,还存储有系统操作所需的各种程序和数据。CPU201、ROM 202以及RAM 203通过总线204彼此相连。输入/输出(I/O)接口205也连接至总线204。
以下部件连接至I/O接口205:包括键盘、鼠标等的输入部分206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分207;包括硬盘等的存储部分208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分209。通信部分209经由诸如因特网的网络执行通信处理。驱动器210也根据需要连接至I/O接口205。可拆卸介质211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器210上,以便于从其上读出的计算机程序根据需要被安装入存储部分208。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分209从网络上被下载和安装,和/或从可拆卸介质211被安装。在该计算机程序被中央处理单元(CPU)201执行时,执行本申请的方法和装置中限定的各种功能。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图4~图8所示的各个步骤等。
以下对本公开实施例的技术方案进行详细阐述:
目前,一个大规模AB测试系统,面临一个巨大的挑战:某个产品关注的测试指标可能有成百上千个,每天都需要有上百个测试方案同时运行,但是如果一个测试方案有100个不同的策略同时执行测试,那么每个组分配到的流量就会很小,而且测试的周期会很长。一些技术方案中,要么通过固定样本的T-Test模型以及多对比修正算法(FWER/FDR)进行ABN测试(一个对照组A,多个测试方案组B,C,D……);要么通过MAB模型(Multi-armed banditproblem,多臂老虎机模型)进行测试。
但是,对于这些方案,在测试组数较多的时候每组分配到的网络流量较小,或者测试场景本身网络流量很小。图3示意性示出了根据本公开的一个实施例的根据流量容器分配流量的示意图,例如参考图3所示,测试系统将整体网络流量分为10000个桶(Buckets,流量容器,测试系统根据测试方案所占桶数的比例为测试方案配置网络流量),测试方案组一占万分之八的桶数,而测试方案组中包含的测试方案A以及测试方案B仅能分到万分之四的流量,甚至更少。而固定样本T-Test模型以及多对比修正算法的检验需要积累较多的样本数,以便于提高检验精度,但是由于流量比较小,因此测试的周期会较长。或者如果一个测试方案是有时效性的,那么这些测试方案的测试的周期过长,导致最终的测试结果不具备时效性。
基于上述一个或多个问题,本示例实施方式提供了一种基于网络流量的测试方法。该基于网络流量的测试方法可以应用于上述服务器105,也可以应用于上述终端设备101、102、103中的一个或多个,本示例性实施例中对此不做特殊限定。下面以服务器执行该基于网络流量的测试方法为例进行说明,参考图4所示,该基于网络流量的测试方法可以包括以下步骤S410至步骤S430:
步骤S410、配置多个测试方案的理论反馈数据对应的后验分布,并执行下述循环过程,直至所述多个测试方案对应的测试结果数据满足目标条件:
步骤S420、通过所述后验分布对所述多个测试方案的网络流量进行配置,以使所述多个测试方案根据配置的所述网络流量执行并确定对应的实际反馈数据;
步骤S430、根据所述实际反馈数据对所述后验分布进行更新,并通过更新后的所述后验分布确定所述多个测试方案对应的测试结果数据。
在本示例实施方式所提供的基于网络流量的测试方法中,一方面,根据后验分布对多个测试方案的网络流量进行配置,确保在网络流量较小的情况下将流量优先分给表现较优的测试方案,提升测试结果的精确性,提高测试执行的效率;另一方面,在每一次循环过程中更新后验分布,根据后验分布重新配置流量并确定测试结果数据,在测试结果数据满足目标条件时结束循环过程,能够缩短测试的执行周期,进一步提高测试执行的效率,保证测试的时效性。
下面,对于本示例实施方式的上述步骤进行更加详细的说明。
在步骤S410中,配置多个测试方案的理论反馈数据对应的后验分布,并执行下述步骤S420至步骤S430的循环过程,直至所述多个测试方案对应的测试结果数据满足目标条件。
在本开的一个示例实施例中,多个测试方案可以是指同一测试组中的不同策略对应的测试方案,例如对于“标题大小占显示界面的比例对用户的吸引力”的测试方案组,多个测试方案可以是测试方案A“标题占显示界面的比例为10%对用户的吸引力”、测试方案B“标题占显示界面的比例为10%对用户的吸引力”、测试方案C“标题占显示界面的比例为10%对用户的吸引力”以及测试方案D“标题占显示界面的比例为10%对用户的吸引力”对应的测试,当然,此处仅是示意性说明,不应对本公开造成任何特殊限定。理论反馈(Reward)数据可以是指在多个测试方案执行前,通过相关的计算模型估计多个测试方案对应的反馈数据。
具体的,服务器配置多个测试方案的理论反馈数据对应的后验分布可以是指服务器配置多个测试方案的理论反馈数据的先验分布,然后根据先验分布确定多个测试方案对应的后验分布。先验分布(Prior distribution,验前分布或者事前分布)可以是指与试验结果无关或与随机抽样无关,反映在进行统计测试之前根据其他有关参数(例如理论反馈数据)的知识而得到的概率分布。后验分布可以是指根据先验分布计算得到的条件分布,因为在抽样以后得到,故称为后验分布。本示例实施例中,先验分布以及后验分布均可以是贝塔分布(BetaDistribution,B分布),本示例实施例对此不做特殊限定。其中,贝塔分布可以是指一个作为伯努利分布和二项式分布的共轭先验分布的密度函数,具体可以是指一组定义在(0,1)区间的连续概率分布。
进一步的,服务器可以通过汤普森算法、上限置信区间算法或者增强学习算法中的一种,配置多个测试方案对应的先验分布。汤普森算法(Thompson Sampling,汤普森采样算法)可以是指一种统计采样方法,是实现MAB模型实现的一种方法。上限置信区间算法(Upper Confidence Bound Apply to Tree,UCB)可以是指是一种博弈树搜索算法,能够将蒙特卡洛树搜索(Monte—Carlo Tree Search,MCTS)方法与UCB公式结合,在工作模式上是时间可控的且具有较好的鲁棒性。增强学习算法(Reinforcement learning,RL)可以是指用于描述和解决智能体(Agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。服务器通过汤普森算法、上限置信区间算法或者增强学习算法中的一种,例如服务器通过汤普森算法可以得到多个测试方案对应的理论反馈数据以及配置该理论反馈数据对应的先验分布,且得到的先验分布是贝塔分布,本示例对此不作特殊限定。
服务器可以对测试方案组进行配置,例如假设测试方案组有四个测试方案A,B,C,D,根据汤普森算法可以得到,这四个测试方案的理论反馈数据的先验分布是贝塔分布,具体可以如下:测试方案A的分布Beta(A_alpha,A_beta),测试方案B的分布Beta(B_alpha,B_beta),测试方案C的分布Beta(C_alpha,C_beta),测试方案D的分布Beta(D_alpha,D_beta)。在测试组执行前,初始化每个组的先验分布,使alpha以及beta的值为1。当然,此处仅是示意性说明,不应对本公开造成任何特殊限定。
进一步的,在配置多个测试方案的理论反馈数据对应的后验分布之后,服务器执行循环过程(即步骤S320以及步骤S330),直至多个测试方案对应的测试结果数据满足目标条件。当服务器判定多个测试方案对应的测试结果数据不满足目标条件时,继续执行循环过程;当服务器判定多个测试方案对应的测试结果数据满足目标条件时,则结束多个测试方案的执行,并根据确定多个测试方案对应的测试结果。测试结果数据可以是指根据更新后的后验分布得到的用于确定测试结果的数据,例如测试结果数据可以是多个测试对应的最优比例数据集,测试结果数据也可以是多个测试对应的剩余价值数据,本示例实施例对此不做特殊限定。测试结果可以是指测试组对应的最终结果,例如测试结果可以是测试方案A,B,C,D中测试方案A对应的策略方案作为测试组的最优方案。
具体的,目标条件可以包括多个测试方案对应的最优比例数据集中任意测试方案的最优比例等于或高于第一预设阈值;和/或多个测试方案对应的剩余价值数据等于或低于第二预设阈值。第一预设阈值可以是指用于判定最优比例数据集中某个测试方案的最优比例是否达到结束测试的临界值,例如第一预设阈值可以是95%,当多个测试方案中测试方案A的最优比例等于或者高于95%时,此时可以认为测试方案A相对于其他测试方案具有非常突出的表现,不需要在进行后续的测试,则将测试方案A对应的策略作为测试方案组的测试结果。当然,第一预设阈值也可以是99%,具体可以根据实际情况设定或者用户进行自定义设置,本示例实施例对此不做特殊限定。第二预设阈值可以是指用于判定剩余价值数据是否达到结束测试的临界值,例如第二预设阈值可以是5%,当多个测试方案对应的剩余价值数据等于或者低于5%时,此时认为多个测试方案已经不需要再进行执行,可以根据当前剩余价值数据对应的最优比例数据集确定测试结果。
在步骤S420中,通过所述后验分布对所述多个测试方案的网络流量进行配置,以使所述多个测试方案根据配置的所述网络流量执行并确定对应的实际反馈数据。
在本开的一个示例实施例中,网络流量可以是指网络上目标人群(可以认为是组成成分相同或者相似的访客人群)在一定时间内打开或者点击某个网站地址的访问量或者点击量。实际反馈数据可以是指多个测试方案根据分配的网络流量执行后得到的目标人群的反馈(Reward)数据,该实际反馈数据相对于理论反馈数据而言。
图5示意性示出了根据本公开的一个实施例的配置网络流量的流程图。参考图5所示,在步骤S510中,服务器对更新前的后验分布进行采样处理,确定多个测试方案的实际反馈数据对应的最优比例数据集;在步骤S520中,,服务器根据最优比例数据集对多个测试方案的网络流量进行配置。具体的,更新前的后验分布可以是指在循环过程中相对于更新后的后验分布的后验分布(即步骤S330更新后验分布之前的旧的后验分布),此时的后验分布还没有进行更新。当然更新前的后验分布也可以是指初次进入循环过程前,根据多个测试方案对应的先验分布得到的后验分布,本示例实施例对此不做特殊限定。采样处理可以是指对后验分布进行预设次数的随机采样,例如预设次数可以是10000次,具体数值可以根据实际情况进行设定或者用户进行自定义设置,本示例实施例对此不做特殊限定。随机采样可以是指蒙特卡洛采样(Markov ChainMonte Carlo,MCMC),也可以是指吉布斯采样(Gibbssampling),本公开对此不做特殊限定。
最优比例数据集可以是指用于对多个测试方案对应的策略优劣进行判断的数据,例如最优比例数据集可以包括测试方案A对应的最优比例为50%,测试方案B对应的最优比例为10%,测试方案C对应的最优比例为20%,测试方案D对应的最优比例为20%,此时认为测试方案A对应的策略较其他测试方案对应的策略表现更优秀。当然,此处仅是示意性说明,不应对本公开造成任何特殊限定。具体的,服务器根据最优比例数据集对多个测试方案的网络流量进行配置可以包括服务器根据最优比例数据集确定多个测试方案对应的流量容器(Buckets),根据该流量容器配置多个测试方案的网络流量。举例而言,假设服务器分配给整个测试方案组2%的流量,测试方案A对应的最优比例为50%,测试方案B对应的最优比例为10%,测试方案C对应的最优比例为20%,测试方案D对应的最优比例为20%;对应的,如果有10000个流量容器,则测试方案A对应的流量容器为5000,测试方案B对应的流量容器为1000,测试方案C对应的流量容器为2000,测试方案D对应的流量容器为2000;那么服务器配置给测试的流量为:测试方案A对应的网络流量为1%,测试方案B对应的网络流量为0.2%,测试方案C对应的网络流量为0.4%,测试方案D对应的网络流量为0.4%。当然,此处仅是示意性说明,不应对本公开造成任何特殊限定。
在步骤S430中,根据所述实际反馈数据对所述后验分布进行更新,并通过更新后的所述后验分布确定所述多个测试方案对应的测试结果数据。
在本开的一个示例实施例中,更新后的所述后验分布可以是指循环过程中根据实际反馈数据对旧的后验分布进行更新后得到的先验分布,相对于更新前的后验分布而言。
具体的,服务器获取当前批次对应的实际反馈数据,根据当前批次的实际反馈数据对所述后验分布进行更新。当前批次(Batch)可以是指按批次获取实际反馈数据的当前时间对应的批次,例如定义一个批次为10分钟,即每10分钟获取一次实际反馈数据,并根据该10分钟内的实际反馈数据对后验分布进行更新。
进一步的,服务器对更新后的后验分布进行采样处理,确定多个测试方案对应的最优比例数据集以及剩余价值数据。最优比例数据集可以包括多个测试方案的实际反馈数据对应的多个最优比例,例如最优比例数据集可以包括测试方案A对应的最优比例为50%,测试方案B对应的最优比例为10%,测试方案C对应的最优比例为20%,测试方案D对应的最优比例为20%。剩余价值数据可以是指用于判定多个测试方案是否需要继续执行的数据。
具体的,图6示意性示出了根据本公开的一个实施例的确定多个测试方案对应的最优比例数据集的流程图。参考图6所示,在步骤S610中,服务器可以对更新后的后验分布进行预设次数的随机采样,确定多个测试方案对应实际反馈数据的各最优次数;在步骤S620中,服务器将多个测试方案的各最优次数占预设次数的比例作为最优比例,并将多个测试方案对应的多个最优比例作为多个测试方案对应的最优比例数据集。举例而言,服务器对更新后的后验分布进行10000次的蒙特卡洛采样,对每次蒙特卡洛采样后的多个测试方案确定最优的测试方案,在进行10000次采样后确定各测试方案对应的最优次数,例如测试方案A对应最优次数为5000,则测试方案A的最优比例为50%;测试方案B对应最优次数为1000,则测试方案B的最优比例为10%;测试方案C对应最优次数为2000,则测试方案C的最优比例为20%;测试方案D对应最优次数为2000,则测试方案D的最优比例为20%,则将测试方案A,测试方案B,测试方案C,测试方案D对应的各最优比例作为测试组的最优比例数据集。
图7示意性示出了根据本公开的一个实施例的确定多个测试方案对应的剩余价值数据的流程图。参考图7所示,在步骤S710中,服务器对更新后的后验分布进行预设次数的随机采样,确定预设次数的多个测试方案对应的多个剩余价值;在步骤S720中,服务器将多个剩余价值中处于预设分位点的一剩余价值作为多个测试方案对应的剩余价值数据。具体的,预设分位点可以是指用于在多个剩余价值中获取具有代表性的剩余价值的分位点,例如预设分位点可以是95%,例如在10000个剩余价值中的第950位的剩余价值作为多个测试方案的剩余价值数据。当然预设分位点还可以96%,具体可以根据实际情况而定或者用户可以自定义设置,本示例实施例对此不做特殊限定。剩余价值的计算方法可以是服务器对更新后的后验分布进行预设次数的随机采样,确定多个测试方案对应实际反馈数据中的真实最大反馈数据;获取多个测试方案对应理论反馈数据中的理论最优反馈数据,并根据真实最大反馈数据以及理论最优反馈数据确定多个测试方案对应的多个剩余价值。真实最大反馈数据可以是指实际反馈数据中在多个测试方案实际执行时表现最优的反馈数据,理论最优反馈数据可以是指通过算法模型计算得到的、多个测试方案理论上表现最优的反馈数据。服务器通过计算真实最大反馈数据与理论最优反馈数据的差值与理论最优反馈数据的比值作为多个测试方案对应的剩余价值,例如真实最大反馈数据可以表示为R,理论最优反馈数据可以表示为O,多个测试方案对应的剩余价值可以表示为S,则剩余价值的计算如式(1)所示:
通过式(1)可以知道,当剩余价值越小时,表示实际反馈数据越接近理论反馈数据。由于不断对多个测试方案的网络流量进行重新配置,因此当剩余价值等于或者小于第二预设阈值时,服务器可以判定已经找到表现最优的测试方案,此时可以结束测试的执行。优选的,如可以将10000个剩余价值中处于95%分位点即第950位的剩余价值作为多个测试方案的剩余价值数据。
进一步的,服务器将实际反馈数据作为概率数据创建伯努利分布;对伯努利分布进行随机采样处理,根据随机采样处理的结果对后验分布的第一参数以及第二参数进行更新。伯努利分布(Bernoulli distribution,零一分布或者两点分布)可以是指一个离散型机率分布,试验结果只有两个。随机采样处理可以是指对伯努利分布进行随机采样(例如可以是蒙特卡洛采样)。第一参数可以是指后验分布(可以是贝塔分布)对应的“alpha”值,第二参数可以是指后验分布(可以是贝塔分布)对应的“beta”值。服务器根据随机采样处理的结果对后验分布进行更新,例如,如果对该伯努利分布进行随机采样得到结果为1,则更新后验分布中的参数“alpha’=alpha+1”,其中“alpha’”表示更新后的第一参数,“alpha”表示更新前的第一参数;如果对该伯努利分布进行随机采样得到结果为0,则更新后验分布中的参数“beta’=beta+1”,其中“beta’”表示更新后的第二参数,“beta”表示更新前的第二参数。
图8示意性示出了根据本公开的一个实施例的对后验分布进行更新的流程图。
参考图8所示,执行主体可以是服务器,步骤S810,测试开始前,配置多个测试方案(例如一个测试组下配置测试方案A,测试方案B,测试方案C,测试方案D),并根据预设算法(例如汤普森算法、上限置信区间算法或者增强学习算法中的一种)确定多个测试方案对应的理论反馈数据以及先验分布,并根据先验分布确定多个测试方案对应的后验分布;步骤S820,对多个测试方案的后验分布(测试方案A,测试方案B,测试方案C,测试方案D)进行预设次数的随机采样(例如10000次的蒙特卡洛采样);步骤S830,确定多个测试方案对应的最优比例数据集以及剩余价值数据;步骤S840,判断最优比例数据集中任意测试方案的最优比例是否等于或高于第一预设阈值;或者判断多个测试方案对应的剩余价值数据是否等于或低于第二预设阈值;或者判断最优比例数据集中任意测试方案的最优比例是否等于或高于第一预设阈值且多个测试方案对应的剩余价值数据是否等于或低于第二预设阈值。当最优比例数据集中任意测试方案的最优比例等于或高于第一预设阈值,或者多个测试方案对应的剩余价值数据等于或低于第二预设阈值,或者最优比例数据集中任意测试方案的最优比例等于或高于第一预设阈值且多个测试方案对应的剩余价值数据等于或低于第二预设阈值时,执行步骤S890,否则执行步骤S850;步骤S850,根据最优比例数据集确定多个测试方案对应的流量容器,并根据该流量容器对多个测试方案配置网络流量;步骤S860,执行配置完网络流量的多个测试方案,并获取对应的实际反馈数据;步骤S870,根据得到的实际反馈数据对后验分布进行更新;步骤S880,对更新后的后验分布进行预设次数的随机采样;步骤S890,结束多个测试方案的执行,并根据最新更新的后验分布确定的最优比例数据集确定测试结果(即将最优比例数据集中最优比例等于或者高于第一预设阈值的测试方案对应的策略作为测试组的策略)。
图9示意性示出了根据本公开的另一个实施例中的系统应用场景的示意图。
参考图9所示,该系统可以包括Web图形用户交互系统901、测试流量管理系统902、测试接入系统903以及测试指标分析系统904。
测试人员(用户)可以通过Web图形用户交互系统901设计测试方案、配置测试方案、观测测试以及管理测试方案,是测试系统的用户入口。在通过Web图形用户交互系统901配置完测试方案之后,系统将配置好的测试方案提交给了测试方案流量管理系统902,以提供合理的随机流量分配算法,灰度下将测试方案配置数据传送到多IDC(InternetDataCenter,互联网数据中心)的代理服务,然后通过该代理服务,将测试方案配置数据最终下发到测试接入系统903中的测试机器Agent(可以是指能自主活动的软件或者硬件实体)模块上。做后台测试的业务逻辑机器需要部署Agent模块,使用API(ApplicationProgramming Interface,应用程序接口)接口从Agent模块中的共享内存中读取测试方案配置和流量分配信息,通过API做随机采样,抽样出测试人群,然后接收到测试方案配置数据并执行测试。如果测试采样人群有某些特殊要求,例如年龄大于24岁的女大学生,测试接入系统903中的流量筛选模块可以读取测试系统画像的Cookie(可以是指某些网站为了辨别用户身份、进行会话跟踪(session)而储存在用户本地终端上的数据)信息,并一起传入API,而API会随机采样网络流量且保证满足过滤条件。将筛选的用户测试画像可以通过ProfileSvr写入测试系统。如果用户需要严格控制测试人数,例如测试最多限制10万用户参与,则可以通过测试接入系统903中的AccurateSvr模块把人数限制同步到Cookie中,API采样时不会大于这个人数限制。如果是客户端测试,例如ios或者andriod客户端可以通过测试接入系统903中的后台模块AppSvr代理调用API,对用户进行采样。具体的,本公开中的基于网络流量的测试方法通过测试指标分析系统904中的Spark Streaming(实时流处理)框架执行。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
进一步的,本示例实施方式中,还提供了一种基于网络流量的测试装置。该基于网络流量的测试装置可以应用于一服务器或终端设备。参考图10所示,该基于网络流量的测试装置1000可以包括测试配置模块1010、网络流量配置模块1020以及后验分布更新模块1030。其中:
测试配置模块1010,用于配置多个测试方案的理论反馈数据对应的后验分布,并执行下述循环过程,直至所述多个测试方案对应的测试结果数据满足目标条件:
网络流量配置模块1020,用于通过所述后验分布对所述多个测试方案的网络流量进行配置,以使所述多个测试方案根据配置的所述网络流量执行并确定对应的实际反馈数据;
后验分布更新模块1030,用于根据所述实际反馈数据对所述后验分布进行更新,并通过更新后的所述后验分布确定所述多个测试方案对应的测试结果数据。
在本公开的一种示例性实施例中,所述网络流量配置模块1020包括:
后验分布采样单元,用于对更新前的所述后验分布进行采样处理,确定所述多个测试的实际反馈数据对应的最优比例数据集;
流量分配单元,用于根据所述最优比例数据集对所述多个测试的网络流量进行配置。
在本公开的一种示例性实施例中,所述测试配置模块1010包括:
先验分布确定单元,用于配置所述多个测试方案的理论反馈数据的先验分布,并根据所述先验分布确定所述多个测试方案对应的后验分布。
在本公开的一种示例性实施例中,所述先验分布单元通过下述步骤获取多个测试方案的先验分布:通过汤普森算法、上限置信区间算法或者增强学习算法中的一种或多种,配置所述多个测试方案对应的先验分布。
在本公开的一种示例性实施例中,所述后验分布更新模块1030包括:
测试结果数据确定单元,用于对更新后的所述后验分布进行采样处理,确定所述多个测试方案对应的最优比例数据集以及剩余价值数据;其中,所述最优比例数据集包括所述多个测试方案的实际反馈数据对应的多个最优比例。
在本公开的一种示例性实施例中,所述后验分布更新模块1030中的目标条件具体可以包括:所述多个测试方案对应的所述最优比例数据集中任意测试方案的所述最优比例等于或高于第一预设阈值;和/或所述多个测试方案对应的剩余价值数据等于或低于第二预设阈值。
在本公开的一种示例性实施例中,所述测试结果数据确定单元还包括:
最优次数确定单元,用于对更新后的所述后验分布进行预设次数的随机采样,确定所述多个测试方案对应实际反馈数据的各最优次数;
最优比例数据集确定单元,用于将所述多个测试方案的所述各最优次数占所述预设次数的比例作为最优比例,并将所述多个测试方案对应的多个所述最优比例作为所述多个测试方案对应的最优比例数据集。
在本公开的一种示例性实施例中,所述测试结果数据确定单元还包括:
剩余价值确定单元,用于对更新后的所述后验分布进行预设次数的随机采样,确定所述预设次数的所述多个测试方案对应的多个剩余价值;
剩余价值数据确定单元,用于将所述多个剩余价值中处于预设分位点的一所述剩余价值作为所述多个测试方案对应的剩余价值数据。
在本公开的一种示例性实施例中,所述剩余价值确定单元通过下述步骤计算剩余价值数据:对更新后的所述后验分布进行预设次数的随机采样,确定所述多个测试方案对应实际反馈数据中的真实最大反馈数据;获取所述多个测试方案对应理论反馈数据中的理论最优反馈数据,并根据所述真实最大反馈数据以及所述理论最优反馈数据确定所述多个测试方案对应的多个剩余价值。
在本公开的一种示例性实施例中,所述后验分布更新模块1030通过下述步骤对后验分布进行更新:将所述实际反馈数据作为概率数据创建伯努利分布;对所述伯努利分布进行随机采样处理,根据随机采样处理的结果对所述后验分布的所述第一参数以及所述第二参数进行更新。
在本公开的一种示例性实施例中,所述后验分布更新模块1030还包括:
批次更新单元,用于获取当前批次对应的所述实际反馈数据,根据所述当前批次的所述实际反馈数据对所述后验分布进行更新。
在本公开的一种示例性实施例中,所述基于网络流量的测试装置1000还包括:
测试结束单元,用于结束所述多个测试方案的执行,并根据所述最优比例数据集确定所述多个测试方案对应的测试结果。
上述基于网络流量的测试装置中各模块或单元的具体细节已经在对应的基于网络流量的测试方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (15)
1.一种基于网络流量的测试方法,其特征在于,包括:
配置多个测试方案的理论反馈数据对应的后验分布,并执行下述循环过程,直至所述多个测试方案对应的测试结果数据满足目标条件:
通过所述后验分布对所述多个测试方案的网络流量进行配置,以使所述多个测试方案根据配置的所述网络流量执行并确定对应的实际反馈数据;
根据所述实际反馈数据对所述后验分布进行更新,并通过更新后的所述后验分布确定所述多个测试方案对应的测试结果数据。
2.根据权利要求1所述的基于网络流量的测试方法,其特征在于,通过所述后验分布对所述多个测试方案的网络流量进行配置,包括:
对更新前的所述后验分布进行采样处理,确定所述多个测试方案的实际反馈数据对应的最优比例数据集;
根据所述最优比例数据集对所述多个测试方案的网络流量进行配置。
3.根据权利要求1所述的基于网络流量的测试方法,其特征在于,配置多个测试方案的理论反馈数据对应的后验分布,包括:
配置所述多个测试方案的理论反馈数据的先验分布,并根据所述先验分布确定所述多个测试方案对应的后验分布。
4.根据权利要求3所述的基于网络流量的测试方法,其特征在于,配置多个测试方案的理论反馈数据的先验分布,包括:
通过汤普森算法、上限置信区间算法或者增强学习算法中的一种或多种,配置所述多个测试方案对应的先验分布。
5.根据权利要求1所述的基于网络流量的测试方法,其特征在于,通过更新后的所述后验分布确定所述多个测试方案对应的测试结果数据,包括:
对更新后的所述后验分布进行采样处理,确定所述多个测试方案对应的最优比例数据集以及剩余价值数据;其中,所述最优比例数据集包括所述多个测试方案的实际反馈数据对应的多个最优比例。
6.根据权利要求5所述的基于网络流量的测试方法,其特征在于,所述目标条件包括:所述多个测试方案对应的所述最优比例数据集中任意测试方案的所述最优比例等于或高于第一预设阈值;和/或
所述多个测试方案对应的剩余价值数据等于或低于第二预设阈值。
7.根据权利要求5所述的基于网络流量的测试方法,其特征在于,所述测试结果数据包括最优比例数据集,所述对更新后的所述后验分布进行采样处理,确定所述多个测试方案对应的测试结果数据,还包括:
对更新后的所述后验分布进行预设次数的随机采样,确定所述多个测试方案对应实际反馈数据的各最优次数;
将所述多个测试方案的所述各最优次数占所述预设次数的比例作为最优比例,并将所述多个测试方案对应的多个所述最优比例作为所述多个测试方案对应的最优比例数据集。
8.根据权利要求5所述的基于网络流量的测试方法,其特征在于,所述测试结果数据包括剩余价值数据,对更新后的所述后验分布进行采样处理,确定所述多个测试方案对应的测试结果数据,包括:
对更新后的所述后验分布进行预设次数的随机采样,确定所述预设次数的所述多个测试方案对应的多个剩余价值;
将所述多个剩余价值中处于预设分位点的所述剩余价值作为所述多个测试方案对应的剩余价值数据。
9.根据权利要求8所述的基于网络流量的测试方法,其特征在于,对更新后的所述后验分布进行预设次数的随机采样,确定所述预设次数的所述多个测试方案对应的多个剩余价值,包括:
对更新后的所述后验分布进行预设次数的随机采样,确定所述多个测试方案对应实际反馈数据中的真实最大反馈数据;
获取所述多个测试方案对应理论反馈数据中的理论最优反馈数据,并根据所述真实最大反馈数据以及所述理论最优反馈数据确定所述多个测试方案对应的多个剩余价值。
10.根据权利要求1所述的基于网络流量的测试方法,其特征在于,所述后验分布包括第一参数以及第二参数,根据所述实际反馈数据对所述后验分布进行更新,包括:
将所述实际反馈数据作为概率数据创建伯努利分布;
对所述伯努利分布进行随机采样处理,根据随机采样处理的结果对所述后验分布的所述第一参数以及所述第二参数进行更新。
11.根据权利要求10所述的基于网络流量的测试方法,其特征在于,根据所述实际反馈数据对所述后验分布进行更新,还包括:
获取当前批次对应的所述实际反馈数据,根据所述当前批次的所述实际反馈数据对所述后验分布进行更新。
12.根据权利要求2所述的基于网络流量的测试方法,其特征在于,在所述多个测试方案对应的测试结果数据满足目标条件之后,所述方法还包括:
结束所述多个测试方案的执行,并根据所述最优比例数据集确定所述多个测试方案对应的测试结果。
13.一种基于网络流量的测试装置,其特征在于,包括:
测试配置模块,用于配置多个测试方案的理论反馈数据对应的后验分布,并执行下述循环过程,直至所述多个测试方案对应的测试结果数据满足目标条件:
网络流量配置模块,用于通过所述后验分布对所述多个测试方案的网络流量进行配置,以使所述多个测试方案根据配置的所述网络流量执行并确定对应的实际反馈数据;
后验分布更新模块,用于根据所述实际反馈数据对所述后验分布进行更新,并通过更新后的所述后验分布确定所述多个测试方案对应的测试结果数据。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-12任一项所述的方法。
15.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910647173.5A CN112242911B (zh) | 2019-07-17 | 2019-07-17 | 基于网络流量的测试方法及装置、存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910647173.5A CN112242911B (zh) | 2019-07-17 | 2019-07-17 | 基于网络流量的测试方法及装置、存储介质、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112242911A true CN112242911A (zh) | 2021-01-19 |
CN112242911B CN112242911B (zh) | 2022-08-12 |
Family
ID=74167425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910647173.5A Active CN112242911B (zh) | 2019-07-17 | 2019-07-17 | 基于网络流量的测试方法及装置、存储介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112242911B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553256A (zh) * | 2021-06-18 | 2021-10-26 | 北京百度网讯科技有限公司 | 一种ab测试方法、装置及电子设备 |
CN114490372A (zh) * | 2022-01-20 | 2022-05-13 | 北京火山引擎科技有限公司 | 测试方案确定方法、装置、计算机可读介质及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106301957A (zh) * | 2016-09-29 | 2017-01-04 | 北京奇艺世纪科技有限公司 | 一种网络流量峰值的预测方法及装置 |
CN106713015A (zh) * | 2016-12-07 | 2017-05-24 | 武汉斗鱼网络科技有限公司 | 一种方案测试的方法及服务器 |
KR101866491B1 (ko) * | 2017-10-16 | 2018-07-04 | 한국과학기술원 | 콘크리트 크리프 예측 모델 생성 방법 및 장치 |
CN109145460A (zh) * | 2018-08-27 | 2019-01-04 | 枘熠集成电路(上海)有限公司 | 一种半导体可靠性评估方法及装置 |
CN109739757A (zh) * | 2018-12-28 | 2019-05-10 | 微梦创科网络科技(中国)有限公司 | 一种ab测试方法及装置 |
CN109753424A (zh) * | 2017-11-06 | 2019-05-14 | 北京京东尚科信息技术有限公司 | Ab测试的方法和装置 |
-
2019
- 2019-07-17 CN CN201910647173.5A patent/CN112242911B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106301957A (zh) * | 2016-09-29 | 2017-01-04 | 北京奇艺世纪科技有限公司 | 一种网络流量峰值的预测方法及装置 |
CN106713015A (zh) * | 2016-12-07 | 2017-05-24 | 武汉斗鱼网络科技有限公司 | 一种方案测试的方法及服务器 |
KR101866491B1 (ko) * | 2017-10-16 | 2018-07-04 | 한국과학기술원 | 콘크리트 크리프 예측 모델 생성 방법 및 장치 |
CN109753424A (zh) * | 2017-11-06 | 2019-05-14 | 北京京东尚科信息技术有限公司 | Ab测试的方法和装置 |
CN109145460A (zh) * | 2018-08-27 | 2019-01-04 | 枘熠集成电路(上海)有限公司 | 一种半导体可靠性评估方法及装置 |
CN109739757A (zh) * | 2018-12-28 | 2019-05-10 | 微梦创科网络科技(中国)有限公司 | 一种ab测试方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553256A (zh) * | 2021-06-18 | 2021-10-26 | 北京百度网讯科技有限公司 | 一种ab测试方法、装置及电子设备 |
CN113553256B (zh) * | 2021-06-18 | 2023-07-14 | 北京百度网讯科技有限公司 | 一种ab测试方法、装置及电子设备 |
CN114490372A (zh) * | 2022-01-20 | 2022-05-13 | 北京火山引擎科技有限公司 | 测试方案确定方法、装置、计算机可读介质及电子设备 |
CN114490372B (zh) * | 2022-01-20 | 2023-12-26 | 北京火山引擎科技有限公司 | 测试方案确定方法、装置、计算机可读介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112242911B (zh) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104504084B (zh) | 确定用户留存率的方法及装置 | |
US8606905B1 (en) | Automated determination of system scalability and scalability constraint factors | |
US20140365830A1 (en) | System and method for test data generation and optimization for data driven testing | |
CN104579854B (zh) | 众包测试方法 | |
CN106803799B (zh) | 一种性能测试方法和装置 | |
CN112242911B (zh) | 基于网络流量的测试方法及装置、存储介质、电子设备 | |
JP2023508076A (ja) | アプリケーション・ベースのプロファイリングを用いた機械学習ワークロードの弾力的な実行 | |
EP4027348A2 (en) | Affinity prediction method and apparatus, method and apparatus for training affinity prediction model, device and medium | |
Dube et al. | AI gauge: Runtime estimation for deep learning in the cloud | |
US20240095223A1 (en) | Tuning external invocations utilizing weight-based parameter resampling | |
CN113159934A (zh) | 一种网点客流量的预测方法、系统、电子设备及存储介质 | |
CN114254950A (zh) | 电信资源数据处理方法、装置、电子设备及存储介质 | |
US9904744B2 (en) | Probabilistic simulation scenario design by using multiple conditional and nested probability distribution input functions | |
Fanjiang et al. | Time series QoS forecasting for Web services using multi-predictor-based genetic programming | |
CN112346962A (zh) | 一种应用于对照测试系统中的对照数据测试方法及装置 | |
US10733073B1 (en) | Distributed website load testing system running on mobile devices | |
CN107277118A (zh) | 生成节点的常用访问路径的方法和装置 | |
CN115509931A (zh) | 基于系统的性能测试方法、装置、电子设备及存储介质 | |
US9928039B2 (en) | Stateful development control | |
CN111125005B (zh) | 一种hdfs分布式文件系统io性能调优方法、系统及设备 | |
CN113762972A (zh) | 数据存储控制方法及装置、电子设备、存储介质 | |
CN106470132A (zh) | 水平权限测试方法及装置 | |
CN109408716B (zh) | 用于推送信息的方法和设备 | |
CN113656313A (zh) | 自动化测试处理方法及装置 | |
CN113778844A (zh) | 一种自动化性能测试方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |