CN109710511B - Ab测试方法、装置、服务器及存储介质 - Google Patents
Ab测试方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN109710511B CN109710511B CN201811475801.8A CN201811475801A CN109710511B CN 109710511 B CN109710511 B CN 109710511B CN 201811475801 A CN201811475801 A CN 201811475801A CN 109710511 B CN109710511 B CN 109710511B
- Authority
- CN
- China
- Prior art keywords
- test
- stage
- strategy
- user
- target
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开是关于一种AB测试方法、装置、服务器及存储介质,以解决AB测试方法的灵活性和广泛性较低的问题。AB测试方法包括:判断目标测试阶段是否包括与上一个测试阶段的联动策略绑定的目标联动策略;如果包括,则将测试用户划分为目标测试阶段包括的目标正交策略的数量的分组;分配每个分组中在上一个测试阶段执行联动策略的测试用户,执行与在上一个测试阶段执行的联动策略绑定的目标联动策略;分配每个分组中剩余的测试用户各自执行所在分组对应的目标正交策略;利用每个测试用户在每个测试阶段执行测试策略后得到的测试指标,统计测试结果。本公开实现了在AB测试中联动实验与正交实验的结合,能够提高AB测试的灵活性和广泛性。
Description
技术领域
本公开涉及测试技术领域,尤其涉及一种AB测试方法、装置、服务器及存储介质。
背景技术
随着移动互联网流量红利、人口红利的逐渐衰退,越来越多的产品运营开始关注数据驱动的精细化运营方法,期望通过精细化运营在一片红海中继续获得确定的用户增长。
AB测试就是一种有效的精细化运营手段。AB测试是为Web(网页)或App(应用程序)界面或流程制作两个(A/B)或多个(A/B/n)版本。在同一时间维度,分别让组成成分相同(或相似)的访客群组随机的访问这些版本,收集各群组的用户体验数据和业务数据,最后分析评估出最好版本正式采用。比如,在对产品进行AB测试时,可以为同一个优化目标制定两个方案,让一部分用户使用A方案,同时另一部分用户使用B方案,统计并对比不同方案的转化率、点击量、留存率等指标,以判断不同方案的优劣并进行决策,从而提升转化率。
在相关技术中,存在以下两种AB测试方式:一种叫联动实验,另一种叫正交实验。
联动实验,是在不同的阶段,共用同一种流量分配,这些策略之间的关系是联动的。比如,在第一阶段把所有用户分为AB两组,A组用户使用策略1,B组用户使用策略2;在第二阶段仍然分为AB两组用户,A组用户使用策略3,B组用户使用策略4。这样对于A组用户而言,同时受策略1和策略3这两个策略的影响,在统计A组实验效果的时候,实际是策略1和策略3两个策略叠加的效果,同理对于B组用户也是一样。但是,联动实验适用于某个策略本身就包含多个部分,只是这多个部分分布在不同的阶段的情况,因此多个部分是联动的。
正交实验,是在不同的策略阶段,流量分配的方式是相互之间正交的,也是相互独立的。比如,在第一阶段对用户按AB分组,A组用户使用策略1,B组用户使用策略2;在第二阶段对用户按CD分组,C组用户使用策略3,D组用户使用策略4。但是,正交实验适用于不同阶段的策略是相互独立的,不需要关联起来看效果的情况。
因此,相关技术的AB测试方法中,无论是联动实验,还是正交实验,其灵活性和广泛性较低。
发明内容
为克服相关技术中存在的问题,本公开提供一种AB测试方法、装置、服务器及存储介质,以解决相关技术中AB测试方法的灵活性和广泛性较低的问题。
根据本公开实施例的第一方面,提供一种AB测试方法。所述AB测试包括顺序排列的多个测试阶段,每个测试阶段包括多个测试策略,所述测试策略包括联动策略与正交策略,所述联动策略与其它测试阶段的联动策略对应绑定。所述方法包括:判断目标测试阶段是否包括与上一个测试阶段的联动策略绑定的目标联动策略;如果包括,则将测试用户划分为所述目标测试阶段包括的目标正交策略的数量的分组;所述分组与所述目标正交策略一一对应;分配每个分组中在上一个测试阶段执行联动策略的测试用户,执行与在上一个测试阶段执行的联动策略绑定的目标联动策略;分配每个分组中剩余的测试用户各自执行所在分组对应的目标正交策略;利用每个测试用户在每个测试阶段执行测试策略后得到的测试指标,统计测试结果。
可选地,所述利用每个测试用户在每个测试阶段执行测试策略后得到的测试指标,统计测试结果的步骤包括:针对每个测试用户,获取所述测试用户在每个测试阶段执行的测试策略的集合,作为所述测试用户的第一测试标识;利用具有相同第一测试标识的测试用户的测试指标,统计所述相同第一测试标识对应的测试策略的集合的测试结果。
可选地,所述利用每个测试用户在每个测试阶段执行测试策略后得到的测试指标,统计测试结果的步骤包括:针对每个测试用户,获取所述测试用户在每个测试阶段所在的分组的集合,作为所述测试用户的第二测试标识;依据所述第二测试标识确定所述测试用户在每个测试阶段执行的测试策略的集合;利用执行相同测试策略的集合的测试用户的测试指标,统计所述相同测试策略的集合的测试结果。
可选地,所述依据所述第二测试标识确定所述测试用户在每个测试阶段执行的测试策略的集合的步骤包括:如果所述测试用户在上一个测试阶段执行正交策略,则确定所述测试用户在当前测试阶段执行的测试策略为,在当前测试阶段所在的分组对应的测试策略;如果所述测试用户在上一个测试阶段执行联动策略,则确定所述测试用户在当前测试阶段执行的测试策略为,与在上一个测试阶段执行的联动策略绑定的联动策略。
可选地,所述将测试用户划分为所述目标测试阶段包括的目标正交策略的数量的分组的步骤包括:调用预设的哈希函数将所述测试用户划分为所述目标正交策略的数量的分组。所述针对每个测试用户,获取所述测试用户在每个测试阶段所在的分组的集合,作为所述测试用户的第二测试标识步骤包括:针对每个测试用户,将所述测试用户所在的测试阶段作为所述哈希函数的输入参数,调用所述哈希函数确定所述测试用户在每个测试阶段所在的分组;将所述测试用户在每个测试阶段所在的分组的集合,作为所述测试用户的第二测试标识。
可选地,在所述判断目标测试阶段是否包括与上一个测试阶段的联动策略绑定的目标联动策略的步骤之后,还包括:如果不包括,则将测试用户划分为所述目标测试阶段包括的全部目标测试策略的数量的分组;所述分组与所述目标测试策略一一对应;分配每个分组中的测试用户,各自执行所在分组对应的目标测试策略。
根据本公开实施例的第二方面,提供一种AB测试装置。所述AB测试包括顺序排列的多个测试阶段,每个测试阶段包括多个测试策略,所述测试策略包括联动策略与正交策略,所述联动策略与其它测试阶段的联动策略对应绑定。所述装置包括:判断单元,被配置为判断目标测试阶段是否包括与上一个测试阶段的联动策略绑定的目标联动策略;第一划分单元,被配置为在包括时,将测试用户划分为所述目标测试阶段包括的目标正交策略的数量的分组;所述分组与所述目标正交策略一一对应;第一分配单元,被配置为分配每个分组中在上一个测试阶段执行联动策略的测试用户,执行与在上一个测试阶段执行的联动策略绑定的目标联动策略,以及分配每个分组中剩余的测试用户各自执行所在分组对应的目标正交策略;统计单元,被配置为利用每个测试用户在每个测试阶段执行测试策略后得到的测试指标,统计测试结果。
可选地,所述统计单元包括:第一获取模块,被配置为针对每个测试用户,获取所述测试用户在每个测试阶段执行的测试策略的集合,作为所述测试用户的第一测试标识;第一统计模块,被配置为利用具有相同第一测试标识的测试用户的测试指标,统计所述相同第一测试标识对应的测试策略的集合的测试结果。
可选地,所述统计单元包括:第二获取模块,被配置为针对每个测试用户,获取所述测试用户在每个测试阶段所在的分组的集合,作为所述测试用户的第二测试标识;确定模块,被配置为依据所述第二测试标识确定所述测试用户在每个测试阶段执行的测试策略的集合;第二统计模块,被配置为利用执行相同测试策略的集合的测试用户的测试指标,统计所述相同测试策略的集合的测试结果。
可选地,所述确定模块包括:第一确定子模块,被配置为在所述测试用户在上一个测试阶段执行正交策略时,确定所述测试用户在当前测试阶段执行的测试策略为,在当前测试阶段所在的分组对应的测试策略;第二确定子模块,被配置为在所述测试用户在上一个测试阶段执行联动策略时,确定所述测试用户在当前测试阶段执行的测试策略为,与在上一个测试阶段执行的联动策略绑定的联动策略。
可选地,所述第一划分单元包括:第一调用模块,被配置为调用预设的哈希函数将所述测试用户划分为所述目标正交策略的数量的分组。所述第二获取模块包括:分组确定子模块,被配置为针对每个测试用户,将所述测试用户所在的测试阶段作为所述哈希函数的输入参数,调用所述哈希函数确定所述测试用户在每个测试阶段所在的分组;标识确定子模块,被配置为将所述测试用户在每个测试阶段所在的分组的集合,作为所述测试用户的第二测试标识。
可选地,所述装置还包括:第二划分单元,被配置为在不包括时,将测试用户划分为所述目标测试阶段包括的全部目标测试策略的数量的分组;所述分组与所述目标测试策略一一对应;第二分配单元,被配置为分配每个分组中的测试用户,各自执行所在分组对应的目标测试策略。
根据本公开实施例的第三方面,提供一种服务器,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述任一种AB测试方法。
根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述任一种AB测试方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,当所述计算机程序产品中的指令由服务器的处理器执行时,使得服务器能够执行上述任一种AB测试方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开的实施例中,在AB测试过程中包括顺序排列的多个测试阶段,每个测试阶段包括多个测试策略,多个测试策略中包括联动策略与正交策略,联动策略与其它测试阶段的联动策略对应绑定。在对目标测试阶段进行测试时,判断目标测试阶段是否包括与上一个测试阶段的联动策略绑定的目标联动策略;如果包括,则将测试用户划分为目标测试阶段包括的目标正交策略的数量的分组,分组与所述目标正交策略一一对应;分配每个分组中在上一个测试阶段执行联动策略的测试用户,执行与在上一个测试阶段执行的联动策略绑定的目标联动策略;分配每个分组中剩余的测试用户各自执行所在分组对应的目标正交策略;利用每个测试用户在每个测试阶段执行测试策略后得到的测试指标,统计测试结果。由此可知,本公开的实施例中,实现了在AB测试中联动实验与正交实验的结合,因此能够提高AB测试的灵活性和广泛性,并且通过对配置和代码框架的修改,避免了单独维护一份代码,避免了单独部署物理机器造成的复杂性,在一套统一的框架中,既支持正交实验,又支持联动实验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种AB测试方法的流程图。
图2是根据一示例性实施例示出的一种AB测试的示意图;
图3是根据一示例性实施例示出的一种AB测试装置的框图。
图4是根据一示例性实施例示出的一种用于AB测试的装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种AB测试方法的流程图,如图1所示,AB测试方法用于服务器中,包括以下步骤。
在步骤S11中,判断目标测试阶段是否包括与上一个测试阶段的联动策略绑定的目标联动策略。
本公开实施例中,在AB测试过程中可以包括顺序排列的多个测试阶段(也可以称为世界),每个测试阶段可以包括多个测试策略,进行测试的用户为测试用户(也可以称为测试流量)。为了实现联动实验与正交实验结合,可以设置联动策略与正交策略两种类型,其中联动策略与其它测试阶段的联动策略对应绑定。对于一个测试阶段包括的测试策略来说,其可以包括正交策略一种类型,也可以包括正交策略与联动策略两种类型。
本公开实施例中,当前进行测试的测试阶段称为目标测试阶段,目标测试阶段中包括的测试策略称为目标测试策略,目标测试策略中包括的联动策略称为目标联动策略,目标测试策略中包括的正交策略称为目标正交策略。
在对目标测试阶段进行测试时,首先对测试用户进行分组,然后按照分组进行测试。在对测试用户进行分组时,判断目标测试阶段是否包括与上一个测试阶段的联动策略绑定的目标联动策略。比如,在目标测试阶段包括的目标测试策略中,如果其中包括目标联动策略,则可以标记该目标联动策略绑定的其它测试阶段的联动策略以及其所在的测试阶段。因此,根据目标联动策略的标记可以确定该目标联动策略是否与上一个测试阶段的联动策略绑定。
在步骤S12中,如果包括,则将测试用户划分为所述目标测试阶段包括的目标正交策略的数量的分组。
如果目标测试阶段包括与上一个测试阶段的联动策略绑定的目标联动策略,则将测试用户划分为目标测试阶段包括的目标正交策略的数量的分组,其中每个分组对应一个目标正交策略。
如果目标测试阶段不包括与上一个测试阶段的联动策略绑定的目标联动策略,则将测试用户划分为目标测试阶段包括的全部目标测试策略的数量的分组,其中每个分组与对应一个目标测试策略。
在步骤S13中,分配每个分组中在上一个测试阶段执行联动策略的测试用户,执行与在上一个测试阶段执行的联动策略绑定的目标联动策略,以及,分配每个分组中剩余的测试用户各自执行所在分组对应的目标正交策略。
如果目标测试阶段包括与上一个测试阶段的联动策略绑定的目标联动策略,则在对测试用户分组后,对于每个分组中包括的在上一个测试阶段执行联动策略的测试用户,分配这些测试用户执行与在上一个测试阶段执行的联动策略绑定的目标联动策略。比如,对于每个测试用户,可以标记该测试用户在上一个测试阶段执行的联动策略,根据标记的联动策略可以确定该测试用户在目标测试阶段中执行哪个目标联动策略。对于每个分组中剩余的测试用户,分配这些测试用户执行其各自所在的分组对应的目标正交策略。
如果目标测试阶段不包括与上一个测试阶段的联动策略绑定的目标联动策略,则在对测试用户分组后,对于每个分组中包括的测试用户,分配这些测试用户执行其各自所在的分组对应的目标测试策略。
以下举例说明。比如,在对视频推荐系统进行AB测试时,为了更精细化地为用户做视频推荐,可以对不同测试阶段的测试策略进行多种组合搭配来做AB测试,在这多种组合中既可以存在测试策略间的正交也可以存在测试策略间的联动。
图2是根据一示例性实施例示出的一种AB测试的示意图。
如图2所示,在AB测试中包括W1和W2两个测试阶段,比如W1可以为召回阶段,W2可以为排序阶段,等等。W1包括A和B两个测试策略,W2包括C、D和E三个测试策略。其中,设置A和C为联动策略,A和C联动绑定,B、D和E为正交策略。
在对W1进行AB测试时,经过判断,W1中不包括与上一个测试阶段的联动策略绑定的联动策略,需要说明的是,虽然W1中包括联动策略A,但是该联动策略A没有与上一个测试阶段的联动策略绑定。因此在测试用户进行分组时,由于W1中包括的全部测试策略的数量为2,因此可以将测试用户划分为2组,为了简便起见,可以称为A组和B组,A组对应联动策略A,B组对应正交策略B。分组后,分配A组的测试用户执行联动策略A,B组的测试用户执行正交策略B。
在对W2进行AB测试时,经过判断,W2中包括与上一个测试阶段的联动策略绑定的联动策略,也即W2中包括的联动策略C与W1中包括的联动策略A绑定。因此在测试用户进行分组时,由于W1中包括的正交策略的数量为2,因此可以将测试用户划分为2组,为了简便起见,可以称为D组和E组,D组对应正交策略D,E组对应正交策略E。分组后,分配D组中在W1中执行联动策略A的测试用户执行联动策略C,分配E组中在W1中执行联动策略A的测试用户执行联动策略C;分配D组中剩余的测试用户执行正交策略D,分配E组中剩余的测试用户执行正交策略E。
其中,A组与B组的测试用户组成的测试用户全集,与D组合E租的测试用户组成的测试用户全集相同。
如图2所示,A指向D和E的虚线,以及D和E中包括的虚线,以及C对应的虚线表示在W1中执行联动策略A的测试用户,在W2中执行联动策略C。B指向D和E的虚线表示在W1中执行正交策略B的测试用户,在W2中随机地执行正交策略D或正交策略E。
为了方便配置和使用,可以通过代码来控制使正交和联动能够同时存在。
W1阶段的伪代码实现可以如下表示:
W2阶段的伪代码实现可以如下表示:
总结来说,就是在W1中执行联动策略A的测试用户,在W2中执行联动策略C;在W1中执行正交策略B的测试用户,在W2中随机地执行正交策略D或正交策略E,从而实现A、C联动和B、D、E正交同时存在的概念。而传统的正交实验框架是无法达到这个目的的,因为在传统框架下,A组用户也会随机地执行D、E策略,而无法形成A与C策略联动的效果。
在步骤S14中,利用每个测试用户在每个测试阶段执行测试策略后得到的测试指标,统计测试结果。
每个测试用户在每个测试阶段执行对应的测试策略后,可以得到该测试用户对应的测试指标,比如在统计点击率时,测试指标可以为点击或者未点击。利用每个测试用户在每个测试阶段对应的测试指标,可以统计得到测试结果,比如点击率。
在一种可选地实施方式中,步骤S14可以包括:针对每个测试用户,获取所述测试用户在每个测试阶段执行的测试策略的集合,作为所述测试用户的第一测试标识;利用具有相同第一测试标识的测试用户的测试指标,统计所述相同第一测试标识对应的测试策略的集合的测试结果。
在进行AB测试时,针对每个测试用户,在每个测试阶段都记录日志,用于记录该测试用户执行的测试策略,每个测试阶段执行的测试策略可以用一个字段表示,把不同测试阶段执行的测试策略组合起来,就标识了该测试用户在每个测试阶段执行的测试策略的集合。在统计测试结果的时候,针对每种测试策略的集合,对执行该种测试策略的集合的测试用户的测试指标进行统计,即可得到该种测试策略的集合的测试结果。
比如,用户u1在W1执行联动策略A,在W2执行联动策略C,则记录日志的时候用户u1在每个测试阶段执行的测试策略的集合的字段是A_C。用户u2在W1执行正交策略B,在W2执行正交策略E,记录日志的时候用户u2在每个测试阶段执行的测试策略的集合的字段是B_E,等等。在统计测试结果的时候,对所有A_C字段的测试用户的测试指标进行统计,就得到了AC联动实验的效果;对所有B_D字段的测试用户的测试指标进行统计,就得到了BD正交实验的效果;对所有B_E字段的测试用户的测试指标进行统计,就得到了BE正交实验的效果。
但是,上述统计测试结果的实施方式适合测试阶段较少的情况,如果测试阶段的数量很多,比如有成千上百的测试阶段,这样每个测试用户对应的第一测试标记的字段会很长,从而占用较大的内存,并且过程较为复杂。
针对这种情况,在一种可选实施方式中,步骤S14可以包括:针对每个测试用户,获取所述测试用户在每个测试阶段所在的分组的集合,作为所述测试用户的第二测试标识;依据所述第二测试标识确定所述测试用户在每个测试阶段执行的测试策略的集合;利用执行相同测试策略的集合的测试用户的测试指标,统计所述相同测试策略的集合的测试结果。
在进行AB测试时,针对一个测试阶段进行分组时,可以通过调用预设的哈希函数对测试用户进行分组。比如,如果目标测试阶段包括与上一个测试阶段的联动策略绑定的目标联动策略,则调用预设的哈希函数将测试用户划分为目标测试阶段包括的目标正交策略的数量的分组;如果目标测试阶段不包括与上一个测试阶段的联动策略绑定的目标联动策略,则调用预设的哈希函数将测试用户划分为目标测试阶段包括的全部目标测试策略的数量的分组。
因此,针对每个测试用户,获取所述测试用户在每个测试阶段所在的分组的集合,作为所述测试用户的第二测试标识步骤可以包括:针对每个测试用户,将所述测试用户所在的测试阶段作为所述哈希函数的输入参数,调用所述哈希函数确定所述测试用户在每个测试阶段所在的分组;将所述测试用户在每个测试阶段所在的分组的集合,作为所述测试用户的第二测试标识。
得到每个测试用户的第二测试标识后,依据第二测试标识确定测试用户在每个测试阶段执行的测试策略的集合的步骤可以包括:如果测试用户在上一个测试阶段执行正交策略,则确定测试用户在当前测试阶段执行的测试策略为,在当前测试阶段所在的分组对应的测试策略;如果测试用户在上一个测试阶段执行联动策略,则确定测试用户在当前测试阶段执行的测试策略为,与在上一个测试阶段执行的联动策略绑定的联动策略。
比如,在分组的时候,在W1调用哈希函数把测试用户随机分成A组和B组,在W2调用哈希函数把测试用户随机分成D组和E组。虽然分组的时候是随机的,但是通过哈希函数,这个分组是可以复现的。所以在统计测试结果的时候,可以通过调用这个哈希函数,复现测试用户具体属于哪个分组。调用哈希函数时,指定一个输入参数,这个输入参数可以为测试阶段的名称等,用于唯一标识一个测试阶段。用户在不同的测试阶段分组是不同的,而且不同测试阶段的分组不受其他测试阶段分组的影响,所谓随机正交。可以用int bucket(world_name)来表示哈希函数,那么对于一个测试用户来说,可以把计算得到的在每个测试阶段的分组联合起来作为该测试用户的第二测试标识,用bucket(W1)_bucket(W2)来标识测试用户。
比如,用户u1在W1所在的分组为A,在W2所在的分组为D,则用户u1对应的bucket(W1)_bucket(W2)中,bucket(W1)=A,bucket(W2)=D;用户u2在W1所在的分组为B,在W2所在的分组为D,则用户u1对应的bucket(W1)_bucket(W2)中,bucket(W1)=B,bucket(W2)=D。那么用户u1在每个测试阶段执行的测试策略的集合为AC,用户u2在每个测试阶段执行的测试策略的集合为BD。在统计测试结果的时候,对执行的测试策略的集合为AC的测试用户的测试指标进行统计,就得到了AC联动实验的效果;对执行的测试策略的集合为BE的测试用户的测试指标进行统计,就得到了BD正交实验的效果;对执行的测试策略的集合为BE的测试用户的测试指标进行统计,就得到了BE正交实验的效果。也即,在统计AC联动实验效果的时候,把bucket(W1)为A,bucket(W2)为D,以及bucket(W1)为A,bucket(W2)为E的测试用户加起来;统计BD正交实验效果的时候,把bucket(W1)为B,bucket(W2)为D的测试用户加起来;统计BE正交实验效果的时候,把bucket(W1)为B,bucket(W2)为E的测试用户加起来。
本公开的实施例中,大体上在正交实验框架的基础上,实现了在AB测试中联动实验与正交实验的结合,因此能够提高AB测试的灵活性和广泛性,并且通过对配置和代码框架的修改,避免了单独维护一份代码,避免了单独部署物理机器造成的复杂性,在一套统一的框架中,既支持正交实验,又支持联动实验。
图3是根据一示例性实施例示出的一种AB测试装置框图。在AB测试过程中包括顺序排列的多个测试阶段,每个测试阶段包括多个测试策略,测试策略包括联动策略与正交策略,联动策略与其它测试阶段的联动策略对应绑定。
参照图3,该装置包括判断单元301、第一划分单元302、第一分配单元303和统计单元304。
判断单元301,被配置为判断目标测试阶段是否包括与上一个测试阶段的联动策略绑定的目标联动策略;
第一划分单元302,被配置为在包括时,将测试用户划分为所述目标测试阶段包括的目标正交策略的数量的分组;所述分组与所述目标正交策略一一对应;
第一分配单元303,被配置为分配每个分组中在上一个测试阶段执行联动策略的测试用户,执行与在上一个测试阶段执行的联动策略绑定的目标联动策略,以及分配每个分组中剩余的测试用户各自执行所在分组对应的目标正交策略;
统计单元304,被配置为利用每个测试用户在每个测试阶段执行测试策略后得到的测试指标,统计测试结果。
在一种可选实施方式中,统计单元304包括:第一获取模块,被配置为针对每个测试用户,获取所述测试用户在每个测试阶段执行的测试策略的集合,作为所述测试用户的第一测试标识;第一统计模块,被配置为利用具有相同第一测试标识的测试用户的测试指标,统计所述相同第一测试标识对应的测试策略的集合的测试结果。
在一种可选实施方式中,统计单元304包括:第二获取模块,被配置为针对每个测试用户,获取所述测试用户在每个测试阶段所在的分组的集合,作为所述测试用户的第二测试标识;确定模块,被配置为依据所述第二测试标识确定所述测试用户在每个测试阶段执行的测试策略的集合;第二统计模块,被配置为利用执行相同测试策略的集合的测试用户的测试指标,统计所述相同测试策略的集合的测试结果。
在一种可选实施方式中,确定模块包括:第一确定子模块,被配置为在所述测试用户在上一个测试阶段执行正交策略时,确定所述测试用户在当前测试阶段执行的测试策略为,在当前测试阶段所在的分组对应的测试策略;第二确定子模块,被配置为在所述测试用户在上一个测试阶段执行联动策略时,确定所述测试用户在当前测试阶段执行的测试策略为,与在上一个测试阶段执行的联动策略绑定的联动策略。
在一种可选实施方式中,所述第一划分单元302包括:第一调用模块,被配置为调用预设的哈希函数将所述测试用户划分为所述目标正交策略的数量的分组。所述第二获取模块包括:分组确定子模块,被配置为针对每个测试用户,将所述测试用户所在的测试阶段作为所述哈希函数的输入参数,调用所述哈希函数确定所述测试用户在每个测试阶段所在的分组;标识确定子模块,被配置为将所述测试用户在每个测试阶段所在的分组的集合,作为所述测试用户的第二测试标识。
在一种可选实施方式中,所述装置还包括:第二划分单元,被配置为在不包括时,将测试用户划分为所述目标测试阶段包括的全部目标测试策略的数量的分组;所述分组与所述目标测试策略一一对应;第二分配单元,被配置为分配每个分组中的测试用户,各自执行所在分组对应的目标测试策略。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开的实施例中,实现了在AB测试中联动实验与正交实验的结合,因此能够提高AB测试的灵活性和广泛性,并且通过对配置和代码框架的修改,避免了单独维护一份代码,避免了单独部署物理机器造成的复杂性,在一套统一的框架中,既支持正交实验,又支持联动实验。
图4是根据一示例性实施例示出的一种用于AB测试的装置400的框图。例如,装置400可以被提供为一服务器。参照图4,装置400包括处理组件422,其进一步包括一个或多个处理器,以及由存储器432所代表的存储器资源,用于存储可由处理组件422的执行的指令,例如应用程序。存储器432中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件422被配置为执行指令,以执行上述图1中所示的AB测试方法。
装置400还可以包括一个电源组件426被配置为执行装置400的电源管理,一个有线或无线网络接口450被配置为将装置400连接到网络,和一个输入输出(I/O)接口458。装置400可以操作基于存储在存储器432的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器432,上述指令可由装置400的处理器执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本公开实施例还可以提供一种计算机程序产品,当所述计算机程序产品中的指令由服务器的处理器执行时,使得服务器能够执行上述AB测试方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (14)
1.一种AB测试方法,其特征在于,所述AB测试包括顺序排列的多个测试阶段,每个测试阶段包括多个测试策略,所述测试策略包括联动策略与正交策略,所述联动策略与其它测试阶段的联动策略对应绑定,所述方法包括:
判断目标测试阶段是否包括与上一个测试阶段的联动策略绑定的目标联动策略;
如果包括,则将测试用户划分为所述目标测试阶段包括的目标正交策略的数量的分组;所述分组与所述目标正交策略一一对应;
分配每个分组中在上一个测试阶段执行联动策略的测试用户,执行与在上一个测试阶段执行的联动策略绑定的目标联动策略;
分配每个分组中剩余的测试用户各自执行所在分组对应的目标正交策略;
利用每个测试用户在每个测试阶段执行测试策略后得到的测试指标,统计测试结果。
2.根据权利要求1所述的AB测试方法,其特征在于,所述利用每个测试用户在每个测试阶段执行测试策略后得到的测试指标,统计测试结果的步骤包括:
针对每个测试用户,获取所述测试用户在每个测试阶段执行的测试策略的集合,作为所述测试用户的第一测试标识;
利用具有相同第一测试标识的测试用户的测试指标,统计所述相同第一测试标识对应的测试策略的集合的测试结果。
3.根据权利要求1所述的AB测试方法,其特征在于,所述利用每个测试用户在每个测试阶段执行测试策略后得到的测试指标,统计测试结果的步骤包括:
针对每个测试用户,获取所述测试用户在每个测试阶段所在的分组的集合,作为所述测试用户的第二测试标识;
依据所述第二测试标识确定所述测试用户在每个测试阶段执行的测试策略的集合;
利用执行相同测试策略的集合的测试用户的测试指标,统计所述相同测试策略的集合的测试结果。
4.根据权利要求3所述的AB测试方法,其特征在于,所述依据所述第二测试标识确定所述测试用户在每个测试阶段执行的测试策略的集合的步骤包括:
如果所述测试用户在上一个测试阶段执行正交策略,则确定所述测试用户在当前测试阶段执行的测试策略为,在当前测试阶段所在的分组对应的测试策略;
如果所述测试用户在上一个测试阶段执行联动策略,则确定所述测试用户在当前测试阶段执行的测试策略为,与在上一个测试阶段执行的联动策略绑定的联动策略。
5.根据权利要求3所述的AB测试方法,其特征在于,
所述将测试用户划分为所述目标测试阶段包括的目标正交策略的数量的分组的步骤包括:
调用预设的哈希函数将所述测试用户划分为所述目标正交策略的数量的分组;
所述针对每个测试用户,获取所述测试用户在每个测试阶段所在的分组的集合,作为所述测试用户的第二测试标识步骤包括:
针对每个测试用户,将所述测试用户所在的测试阶段作为所述哈希函数的输入参数,调用所述哈希函数确定所述测试用户在每个测试阶段所在的分组;
将所述测试用户在每个测试阶段所在的分组的集合,作为所述测试用户的第二测试标识。
6.根据权利要求1所述的AB测试方法,其特征在于,在所述判断目标测试阶段是否包括与上一个测试阶段的联动策略绑定的目标联动策略的步骤之后,还包括:
如果不包括,则将测试用户划分为所述目标测试阶段包括的全部目标测试策略的数量的分组;所述分组与所述目标测试策略一一对应;
分配每个分组中的测试用户,各自执行所在分组对应的目标测试策略。
7.一种AB测试装置,其特征在于,所述AB测试包括顺序排列的多个测试阶段,每个测试阶段包括多个测试策略,所述测试策略包括联动策略与正交策略,所述联动策略与其它测试阶段的联动策略对应绑定,所述装置包括:
判断单元,被配置为判断目标测试阶段是否包括与上一个测试阶段的联动策略绑定的目标联动策略;
第一划分单元,被配置为在包括时,将测试用户划分为所述目标测试阶段包括的目标正交策略的数量的分组;所述分组与所述目标正交策略一一对应;
第一分配单元,被配置为分配每个分组中在上一个测试阶段执行联动策略的测试用户,执行与在上一个测试阶段执行的联动策略绑定的目标联动策略,以及分配每个分组中剩余的测试用户各自执行所在分组对应的目标正交策略;
统计单元,被配置为利用每个测试用户在每个测试阶段执行测试策略后得到的测试指标,统计测试结果。
8.根据权利要求7所述的AB测试装置,其特征在于,所述统计单元包括:
第一获取模块,被配置为针对每个测试用户,获取所述测试用户在每个测试阶段执行的测试策略的集合,作为所述测试用户的第一测试标识;
第一统计模块,被配置为利用具有相同第一测试标识的测试用户的测试指标,统计所述相同第一测试标识对应的测试策略的集合的测试结果。
9.根据权利要求7所述的AB测试装置,其特征在于,所述统计单元包括:
第二获取模块,被配置为针对每个测试用户,获取所述测试用户在每个测试阶段所在的分组的集合,作为所述测试用户的第二测试标识;
确定模块,被配置为依据所述第二测试标识确定所述测试用户在每个测试阶段执行的测试策略的集合;
第二统计模块,被配置为利用执行相同测试策略的集合的测试用户的测试指标,统计所述相同测试策略的集合的测试结果。
10.根据权利要求9所述的AB测试装置,其特征在于,所述确定模块包括:
第一确定子模块,被配置为在所述测试用户在上一个测试阶段执行正交策略时,确定所述测试用户在当前测试阶段执行的测试策略为,在当前测试阶段所在的分组对应的测试策略;
第二确定子模块,被配置为在所述测试用户在上一个测试阶段执行联动策略时,确定所述测试用户在当前测试阶段执行的测试策略为,与在上一个测试阶段执行的联动策略绑定的联动策略。
11.根据权利要求9所述的AB测试装置,其特征在于,
所述第一划分单元包括:第一调用模块,被配置为调用预设的哈希函数将所述测试用户划分为所述目标正交策略的数量的分组;
所述第二获取模块包括:
分组确定子模块,被配置为针对每个测试用户,将所述测试用户所在的测试阶段作为所述哈希函数的输入参数,调用所述哈希函数确定所述测试用户在每个测试阶段所在的分组;
标识确定子模块,被配置为将所述测试用户在每个测试阶段所在的分组的集合,作为所述测试用户的第二测试标识。
12.根据权利要求7所述的AB测试装置,其特征在于,所述装置还包括:
第二划分单元,被配置为在不包括时,将测试用户划分为所述目标测试阶段包括的全部目标测试策略的数量的分组;所述分组与所述目标测试策略一一对应;
第二分配单元,被配置为分配每个分组中的测试用户,各自执行所在分组对应的目标测试策略。
13.一种服务器,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行如权利要求1-6任一项所述的AB测试方法。
14.一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如权利要求1-6任一项所述的AB测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811475801.8A CN109710511B (zh) | 2018-12-04 | 2018-12-04 | Ab测试方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811475801.8A CN109710511B (zh) | 2018-12-04 | 2018-12-04 | Ab测试方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109710511A CN109710511A (zh) | 2019-05-03 |
CN109710511B true CN109710511B (zh) | 2022-04-01 |
Family
ID=66254603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811475801.8A Active CN109710511B (zh) | 2018-12-04 | 2018-12-04 | Ab测试方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109710511B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111950821B (zh) * | 2019-05-15 | 2023-07-25 | 腾讯科技(深圳)有限公司 | 测试方法、装置以及服务器 |
CN112052153B (zh) * | 2019-06-06 | 2023-05-16 | 腾讯科技(深圳)有限公司 | 产品版本测试方法及装置 |
CN112148582B (zh) * | 2019-06-27 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 策略测试方法及装置、计算机可读介质和电子设备 |
CN112148584B (zh) * | 2019-06-28 | 2024-07-09 | 北京达佳互联信息技术有限公司 | 账户信息的处理方法、装置、电子设备及存储介质 |
CN110443647B (zh) * | 2019-08-01 | 2022-09-06 | 北京字节跳动网络技术有限公司 | 信息投放方法及设备 |
CN111177561B (zh) * | 2019-12-31 | 2023-08-15 | 北京奇艺世纪科技有限公司 | 一种测试方法和装置 |
CN111556368B (zh) * | 2020-04-01 | 2022-08-30 | 深圳市酷开网络科技股份有限公司 | Ab测试在ott tv的应用方法、系统及存储介质 |
CN111552649B (zh) * | 2020-05-18 | 2022-02-22 | 支付宝(杭州)信息技术有限公司 | 一种分组测试方法及装置 |
CN111709782B (zh) * | 2020-06-17 | 2023-04-28 | 北京字节跳动网络技术有限公司 | 信息交互方法、装置和电子设备 |
CN113064818B (zh) * | 2021-03-26 | 2022-12-27 | 深圳依时货拉拉科技有限公司 | 解析a/b实验数据的方法、设备和计算机可读存储介质 |
CN113448876B (zh) * | 2021-08-31 | 2021-11-19 | 腾讯科技(深圳)有限公司 | 一种业务测试方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577321A (zh) * | 2012-08-07 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 一种网站页面的多版本并行测试方法和服务器 |
CN104281611A (zh) * | 2013-07-08 | 2015-01-14 | 阿里巴巴集团控股有限公司 | 网站测试系统中的用户流量分配方法及装置 |
CN104348679A (zh) * | 2013-08-08 | 2015-02-11 | 阿里巴巴集团控股有限公司 | 一种分桶测试的方法、装置和系统 |
CN105373480A (zh) * | 2015-12-15 | 2016-03-02 | 广州唯品会信息科技有限公司 | 优化ABTest系统分流的方法及系统 |
CN108415845A (zh) * | 2018-03-28 | 2018-08-17 | 北京达佳互联信息技术有限公司 | Ab测试系统指标置信区间的计算方法、装置和服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9075917B2 (en) * | 2012-09-15 | 2015-07-07 | Yahoo! Inc. | Testing framework for dynamic web pages |
US20160103758A1 (en) * | 2014-10-08 | 2016-04-14 | Yahoo! Inc. | Online product testing using bucket tests |
-
2018
- 2018-12-04 CN CN201811475801.8A patent/CN109710511B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577321A (zh) * | 2012-08-07 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 一种网站页面的多版本并行测试方法和服务器 |
CN104281611A (zh) * | 2013-07-08 | 2015-01-14 | 阿里巴巴集团控股有限公司 | 网站测试系统中的用户流量分配方法及装置 |
CN104348679A (zh) * | 2013-08-08 | 2015-02-11 | 阿里巴巴集团控股有限公司 | 一种分桶测试的方法、装置和系统 |
CN105373480A (zh) * | 2015-12-15 | 2016-03-02 | 广州唯品会信息科技有限公司 | 优化ABTest系统分流的方法及系统 |
CN108415845A (zh) * | 2018-03-28 | 2018-08-17 | 北京达佳互联信息技术有限公司 | Ab测试系统指标置信区间的计算方法、装置和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN109710511A (zh) | 2019-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109710511B (zh) | Ab测试方法、装置、服务器及存储介质 | |
CN110535777B (zh) | 访问请求控制方法、装置、电子设备以及可读存储介质 | |
CA2607540C (en) | Host intrusion prevention server | |
CN111817868B (zh) | 一种网络质量异常的定位方法与装置 | |
CN106844220A (zh) | 一种模拟计算机网络应用程序真实运行环境的测试方法和系统 | |
CN106375975A (zh) | 一种策略冲突检测方法及装置 | |
CN104348798B (zh) | 一种分配网络的方法、装置、调度服务器和系统 | |
DE112011100808T5 (de) | System und Verfahren zum Unterstützen der Instanziierung und Migration virtueller Maschinen | |
CN108337110A (zh) | 一种虚拟资源管理方法及装置、计算机可读存储介质 | |
US20220345925A1 (en) | Distribution of Consolidated Analytics Reports in a Wireless Core Network | |
WO2022100146A1 (zh) | 互联网性能监控方法及系统 | |
CN110602227A (zh) | 一种智能合约管理的方法以及相关装置 | |
CN113419935A (zh) | 移动端性能监控方法、装置、设备及存储介质 | |
CN108984687A (zh) | 基于用户行为的自动加群控制方法、装置及存储介质 | |
CN108347465B (zh) | 一种选择网络数据中心的方法及装置 | |
CN109951355B (zh) | 一种用于分布式系统白盒关联路径追踪的方法 | |
CN111177281A (zh) | 一种访问管控方法、装置、设备及存储介质 | |
CN115086299B (zh) | 文件下载方法、装置、设备、介质和程序产品 | |
CN114448990B (zh) | 一种基于融合cdn的资源调度方法、装置及设备 | |
CN114158073B (zh) | 网络切片部署方法、装置、设备及存储介质 | |
CN106936643B (zh) | 一种设备联动方法以及终端设备 | |
CN113973092A (zh) | 链路资源调度方法、装置、计算设备及计算机存储介质 | |
CN112653937B (zh) | 光网络接入设备管理方法及装置 | |
WO2023093376A1 (zh) | 降低小区间干扰的方法及装置 | |
CN112749076B (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 |