CN112749076B - 测试方法、装置及电子设备 - Google Patents
测试方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112749076B CN112749076B CN201911047792.7A CN201911047792A CN112749076B CN 112749076 B CN112749076 B CN 112749076B CN 201911047792 A CN201911047792 A CN 201911047792A CN 112749076 B CN112749076 B CN 112749076B
- Authority
- CN
- China
- Prior art keywords
- feedback
- sampling
- test
- experiment
- group
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本公开提供一种测试方法、装置以及电子设备,该方法包括:确定目标测试的第一测试策略及其第一实验组、第二测试策略及其第二实验组以及测试对象;获得当前时间第一实验组和第二实验组的测试对象;获得当前预定时间段内第一实验组中的测试对象的第一反馈和第二实验组中的测试对象的第二反馈;根据第一反馈更新第一实验组的反馈分布函数的参数,并根据第二反馈更新第二实验组的反馈分布函数的参数;分别对更新后的第一实验组和第二实验组的反馈分布函数进行第一预定次数的采样,获得第一实验组的第一采样结果和第二实验组的第二采样结果;根据第一采样结果和第二采样结果确定下一时间第一实验组和第二实验组的测试对象。
Description
技术领域
本公开涉及测试技术领域,尤其涉及一种测试方法、装置及电子设备。
背景技术
随着移动互联网技术的发展,越来越多的产品运营开始关注数据驱动的精细化运营方法,期望通过精细化运营在一片红海中继续获得确定的用户增长。
AB测试是一种有效的精细化运营手段,AB测试是为网页、应用程序界面或流程制作两种(A/B)或多种(A/B…)策略以生成不同的版本。在同一时间维度,分别让组成成分相同(或相似)的访客群组随机的访问这些版本,收集各群组的用户体验数据和业务数据,最后分析评估出最好的版本以加以采用。比如,在对产品进行AB测试时,可以为同一个优化目标制定两个方案,让一部分用户使用A方案,让另一部分用户使用B方案,统计并对比不同方案的转化率、点击率、留存率等指标,以判断不同方案的优劣并进行决策,从而提升转化率。
相关技术中,进行AB测试的用户流量是有限的,如果一个优化目标制定了若干种方案,那么每个方案分配到的用户流量就会很小。为了达到比较高的测试精度,就需要获得足够多的反馈样本,但是由于每个方案分配到的用户流量很小,所以实验周期会很长,导致难以满足测试的需求。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例提供一种测试方法及装置、电子设备,能够避免测试资源的浪费。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
本公开实施例提出一种测试方法,该方法包括:确定目标测试的第一测试策略及其第一实验组、第二测试策略及其第二实验组以及测试对象;获得当前时间所述第一实验组和所述第二实验组的测试对象;获得当前预定时间段内所述第一实验组中的测试对象的第一反馈和所述第二实验组中的测试对象的第二反馈;根据所述第一反馈更新所述第一实验组的反馈分布函数的参数,并根据所述第二反馈更新所述第二实验组的反馈分布函数的参数;分别对更新后的所述第一实验组和所述第二实验组的反馈分布函数进行第一预定次数的采样,获得所述第一实验组的第一采样结果和所述第二实验组的第二采样结果;根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象。
在一些实施例中,所述第一反馈包括第一正反馈和第一负反馈,所述第二反馈包括第二正反馈和第二负反馈;其中,根据所述第一反馈更新所述第一实验组的反馈分布函数的参数,并根据所述第二反馈更新所述第二实验组的反馈分布函数的参数,包括:根据所述第一实验组的第一反馈和所述第二实验组的第二反馈生成所述第一实验组的第一虚拟实验组和所述第二实验组的第二虚拟实验组,所述第一虚拟实验组包括第一目标个数的第一正反馈和第二目标个数的第一负反馈,所述第二虚拟实验组包括所述第一目标个数的第二正反馈和所述第二目标个数的第二负反馈;根据所述第一虚拟实验组的第一正反馈和第一负反馈的个数更新所述第一虚拟实验组的反馈分布函数的参数,并根据所述第二虚拟实验组的第一正反馈和第一负反馈更新所述第二虚拟实验组的反馈分布函数的参数。
在一些实施例中,分别对更新后的所述第一实验组和所述第二实验组的反馈分布函数进行第一预定次数的采样,获得所述第一实验组的第一采样结果和所述第二实验组的第二采样结果,包括:分别对更新后的所述第一虚拟实验组和所述第二虚拟实验组的反馈分布函数进行所述第一预定次数的采样;根据所述第一实验组的各个虚拟实验组的采样结果确定所述第一实验组的第一采样结果;根据所述第二实验组的各个虚拟实验组的采样结果获得所述第二实验组的第二采样结果。
在一些实施例中,所述第一反馈包括第一正反馈,所述第一实验组的反馈分布函数是伽马分布函数,所述伽马分布函数包括第一参数和第二参数;其中,根据所述第一反馈更新所述第一实验组的反馈分布函数的参数,包括:根据所述第一反馈的个数更新所述第一参数;根据所述第一反馈中的第一正反馈的个数更新所述第二参数。
在一些实施例中,根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象,包括:根据所述第一采样结果和所述第二采样结果确定采样最大值并确定所述目标测试的剩余价值;若所述采样最大值小于等于预设比例阈值或所述目标测试的剩余价值大于价值阈值,则根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象。
在一些实施例中,所述第一反馈和所述第二反馈均包括正反馈;其中,确定所述目标测试的剩余价值,包括:根据所述第一反馈及其正反馈和所述第二反馈及其正反馈获取当前预定时间段内的实际正反馈参数;根据单次采样的第一采样结果和第二采样结果确定所述单次采样的最大采样值,以作为所述单次采样的最优采样结果;根据所述单次采样的最优采样结果和所述实际反馈参数确定所述单次采样的剩余价值;根据第一预定次数的采样的剩余价值确定所述目标测试的剩余价值。
在一些实施例中,根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象,包括:将当前时间的第一采样结果与上一时间的累计第一采样结果合并,以形成当前时间的累计第一采样结果;将当前时间的第二采样结果与上一时间的累计第二采样结果合并,以形成当前时间的累计第二采样结果;根据当前时间的所述累计第一采样结果和所述累计第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象。
在一些实施例中,根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象,包括:根据单次采样的第一采样结果和第二采样结果,确定所述单次采样的最大采样值对应的实验组;获取所述第一预定次数采样中所述第一实验组获得最大采样值的次数以及所述第二实验组获得最大采样值的次数;根据所述第一实验组获得最大采样值的次数和所述第二实验组获得最大采样值的次数确定下一时间所述第一实验组和所述第二实验组的测试对象。
在一些实施例中,获得当前时间所述第一实验组和所述第二实验组的测试对象,包括:按照预设比例将所述测试对象分给所述第一实验组和所述第二实验组,以获取当前时间所述第一实验组和所述第二实验组的测试对象。
在一些实施例中,根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象,包括:若当前时间所述第一实验组获得的最大采样值的次数与上一时间所述第一实验组获得的最大采样值的次数不满足第一预设条件,则将当前时间所述第一实验组获得的最大采样值次数设置为第一预设次数;若当前时间所述第一实验组获得的最大采样值的次数与上一时时间所述第一实验组获得的最大采样值的次数不满足第二预设条件,则将当前所述第一实验组获得的最大采样值次数设置为第二预设次数。
本公开实施例提出一种测试装置,包括:测试准备模块、测试对象分配模块、反馈确定模块、参数更新模块、采样模块以及再分配模块。
其中,所述测试准备模块可以配置为确定目标测试的第一测试策略及其第一实验组、第二测试策略及其第二实验组以及测试对象;所述测试对象分配模块可以配置为获得当前时间所述第一实验组和所述第二实验组的测试对象;所述反馈确定模块可以配置为获得当前预定时间段内所述第一实验组中的测试对象的第一反馈和所述第二实验组中的测试对象的第二反馈;所述参数更新模块可以配置为根据所述第一反馈更新所述第一实验组的反馈分布函数的参数,并根据所述第二反馈更新所述第二实验组的反馈分布函数的参数;所述采样模块可以配置为分别对更新后的所述第一实验组和所述第二实验组的反馈分布函数进行第一预定次数的采样,获得所述第一实验组的第一采样结果和所述第二实验组的第二采样结果;所述再分配模块可以配置为根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象。
本公开实施例提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一项所述的测试方法。
本公开实施例提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述任一项所述的测试方法。
本公开实施例提供的测试方法、装置及电子设备,获取了当前时间各个实验组的测试对象及其对应的反馈,并根据当前时间各个实验组的测试对象对应的反馈确定了各个实验组对应的反馈分布函数的参数,然后对确定后的各个实验组对应的反馈分布函进行第一预定次数的采样,并基于采样结果确定下一时间各个实验组中的测试对象。本公开提供的技术方案可以根据当前时间各个实验策略对应的实验组的反馈,确定下一时间各个实验策略对应的实验组的测试对象的多少,通过迭代的方法使得表现好的实验策略对应的实验组可以分得越来越多的测试对象,而表现差的实验策略对应的实验组可以分得越来越少的测试对象。换句话说,在有限时间内或者有限测试次数内,本公开提供的技术方案就可以获得表现足够好的实验策略。本公开实施例提供的技术方案,克服了相关技术中由于目标测试中各个测试策略对应的测试对象过少而导致实验周期过长的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了应用于本公开实施例的测试方法或测试装置的示例性系统架构的示意图。
图2是根据本公开实施例示出的一种测试方法的流程图。
图3是图2中步骤S4在一示例性实施例中的流程图。
图4是图2中步骤S5在一示例性实施例中的流程图。
图5是图2中步骤S6在一示例性实施例中的流程图。
图6是图5中步骤S61在一示例性实施例中的流程图。
图7是图2中步骤S6在另一示例性实施例中的流程图。
图8是图2中步骤S6在又一示例性实施例中的流程图。
图9是图8中步骤S67在一示例性实施例中的流程图。
图10是根据本公开实施例示出的另一种测试方法的流程图。
图11是根据一示例性实施例示出的一种测试系统的示意图。
图12是根据一示例性实施例示出的一种测试装置的框图。
图13是根据一示例性实施例示出的一种应用于测试装置的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
本公开所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按所描述的顺序执行。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本说明书中,用语“一个”、“一”、“该”、“所述”和“至少一个”用以表示存在一个或多个要素/组成部分/等;用语“包含”、“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”、“第二”和“第三”等仅作为标记使用,不是对其对象的数量限制。
下面结合附图对本公开示例实施方式进行详细说明。
图1示出了可以应用于本公开实施例的测试方法或测试装置的示例性系统架构的示意图。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。其中,终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机、可穿戴设备、虚拟现实设备、智能家居等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所进行操作的装置提供支持的后台管理服务器。后台管理服务器可以对接收到的请求等数据进行分析等处理,并将处理结果反馈给终端设备。
服务器105可例如确定目标测试的第一测试策略及其第一实验组、第二测试策略及其第二实验组以及测试对象;服务器105可例如获得当前时间所述第一实验组和所述第二实验组的测试对象;服务器105可例如获得当前预定时间段内所述第一实验组中的测试对象的第一反馈和所述第二实验组中的测试对象的第二反馈;服务器105可例如根据所述第一反馈更新所述第一实验组的反馈分布函数的参数,并根据所述第二反馈更新所述第二实验组的反馈分布函数的参数;服务器105可例如分别对更新后的所述第一实验组和所述第二实验组的反馈分布函数进行第一预定次数的采样,获得所述第一实验组的第一采样结果和所述第二实验组的第二采样结果;服务器105可例如根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的,服务器105可以是一个实体的服务器,还可以为多个服务器组成,根据实际需要,可以具有任意数目的终端设备、网络和服务器。
相关技术中,AB测试是一种有效的精细化运营手段,AB测试可以是为网页或应用程序界面或流程等制作两个(A/B)或多个(A/B…)版本。在同一时间维度,分别让组成成分相同(或相似)的访客群组随机的访问这些版本,收集各群组的用户体验数据和业务数据,最后分析评估出最好版本正式采用。比如,在对产品进行AB测试时,可以为同一个优化目标制定两个方案,让一部分用户使用A方案,同时另一部分用户使用B方案,统计并对比不同方案的转化率、点击量、留存率等指标,以判断不同方案的优劣并进行决策,从而提升转化率。
具体的,可以以对网上支付后返红包策略进行测试为例进行举例说明,但本公开实施例提供的方案并不限定其应用场景。
例如,为了提高某支付应用程序的使用率,可以在用户完成支付后向用户返送红包。在相关技术中,可以根据多种红包返送策略(如,直接返送X元、随机返送或者根据用户支付金额按比例返送等)进行红包的返送。为了确定一种点击率最高的红包返送策略,可以将上述多种返送策略分别推送给参与测试的用户以测试各个策略的点击率。
但是在相关技术中,通常是将所有的参与测试的用户平均分配给网页或应用程序界面或流程的各个版本,这就导致每个版本分得的测试用户数量都较少。如果对各个版本的检验需要累积比较多的测试用户的反馈才能达到一个比较高的检验精度,那么就会因为各个版本对应的测试用户数量较少,而使得测试周期很长,无法保证时效性。
图2是根据一示例性实施例示出的一种测试方法的流程图。本公开实施例所提供的方法可以由任意具备计算处理能力的电子设备处理,例如上述图1实施例中的服务器105和/或终端设备102、103,在下面的实施例中,以服务器105为执行主体为例进行举例说明,但本公开并不限定于此。
参照图2,本公开实施例提供的测试方法可以包括以下步骤。
在步骤S1中,确定目标测试的第一测试策略及其第一实验组、第二测试策略及其第二实验组以及测试对象。
在一些实施例中,所述目标测试可以是上述针对网上支付后不同返红包策略的测试。
本公开以所述目标测试包括两种测试策略(例如,所述目标测试可以包括第一策略和第二策略,其中,所述第一策略可例如上述红包返送策略中的“直接返送X元”策略,所述第二策略可例如是上述红包返送策略中的“随机返送”策略)为例进行说明,但是应该理解的是所述目标测试可以包括至少两种策略,本公开对此不做限制。
在一些实施例中,所述测试对象可以指的是一些指定的可以进行红包返送测试的用户。
在步骤S2中,获得当前时间所述第一实验组和所述第二实验组的测试对象。
在一些实施例中,可以每隔一段时间(例如10分钟)让所述测试对象对所述目标测试的多个策略(例如第一策略和第二策略)进行测试。
在一些实施例中,初始时,可以将全部测试对象按照预设比例(例如:平均分,按比例分等)分配给多个测试实验组(例如所述第一实验组和所述第二实验组)。
在步骤S3中,获得当前预定时间段内所述第一实验组中的测试对象的第一反馈和所述第二实验组中的测试对象的第二反馈。
在一些实施例中,可以收集当前预定时间段内(例如10分钟内)各个实验组中的测试对象针对对应测试策略的反馈。例如,可以收集预定时间段内所述第一实验组中的测试对象对所述第一测试策略的第一反馈,可以收集预定时间段内所述第二实验组中的测试对象对所述第二测试策略的第二反馈。
在一些实施例中,所述第一反馈和所述第二反馈可以指的是测试对象在应用程序中使用或不使用、满意或不满意对应策略等,可以假设测试对象使用对应策略为正反馈,不使用对应策略为负反馈;或者满意对应策略为正反馈,不满意对应策略为负反馈。本公开对所述反馈的具体形式不做限制。
在步骤S4中,根据所述第一反馈更新所述第一实验组的反馈分布函数的参数,并根据所述第二反馈更新所述第二实验组的反馈分布函数的参数。
在一些实施例中,所述第一实验组的反馈分布函数可以是伽马分布函数Gamma(alpha,beta),所述伽马分布函数包括第一参数(alpha)和第二参数(beta),所述第一参数和所述第二参数可以由经验获得,也可以根据上一时间的测试结果获得。
在一些实施例中,初始时可以假设所述第一实验组的反馈分布函数是第一参数和第二参数都为1的伽马分布函数(可以表示各个实验组的先验信息很少)。
在一些实施例中,可以根据所述第一反馈中的反馈个数更新所述第一参数,并根据所述第一反馈中的正反馈个数更新所述第二参数。例如,更新后的伽马分布函数的第一参数可以是原始第一参数加上所述第一反馈的个数(如,更新后alpha=更新前alpha+所述第一反馈的个数),更新后的伽马分布函数的第二参数可以是原始第二参数加上所述第一反馈中的正反馈的个数(例如,更新后beta=更新前beta+所述第一反馈中的正反馈的个数)。
在步骤S5中,分别对更新后的所述第一实验组和所述第二实验组的反馈分布函数进行第一预定次数的采样,获得所述第一实验组的第一采样结果和所述第二实验组的第二采样结果。
在一些实施例中,可以对更新后的所述第一实验组和所述第二实验组的反馈分布函数进行第一预定次数的采样(例如,1000次),并确定单次采样后最大采样值对应的实验组。
在步骤S6中,根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象。
在一些实施例中,可以根据所述第一采样结果和所述第二采样结果确定所述目标测试是否继续。若所述目标测试继续进行,则可以根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象。
在一些实施例中,可以统计所述第一预定次数的采样结果中所述第一实验组获得最大采样值的次数和所述第二实验组获得最大采样值的次数(例如,在1000次采样中,所述第一实验组可以获得561次最大采样值,所述第二实验组可以获得439次最大采样值),并根据所述第一实验组获得最大采样值的次数和所述第二实验组获得最大采样值的次数确定下一时间所述第一实验组和所述第二实验组的测试对象(例如,获取所述第一实验组获得最大采样值的次数和所述第二实验组获得最大采样值的次数的比例561:439。若全部测试对象的个数为1000,则可以根据所述比例(即561:439)将所述测试对象重新分配给所述第一实验组和所述第二实验组,则所述第一实验组可以获得561个测试对象,所述第二实验组可以获得439个测试对象)。
本实施例,获取了当前时间各个实验组的测试对象及其对应的反馈,并根据当前时间各个实验组的测试对象对应的反馈确定了各个实验组对应的反馈分布函数的参数,然后对确定后的各个实验组对应的反馈分布函进行第一预定次数的采样,并基于采样结果确定下一时间各个实验组中的测试对象。本公开提供的技术方案可以根据当前时间各个实验策略对应的实验组的反馈,确定下一时间各个实验策略对应的实验组的测试对象的多少,通过迭代的方法使得表现好的实验策略对应的实验组可以分得越来越多的测试对象,而表现差的实验策略对应的实验组可以分得越来越少的测试对象。换句话说,在有限时间内或者有限测试次数内,本公开提供的技术方案就可以确定出表现足够好的实验策略。本公开实施例提供的技术方案,克服了相关技术中由于目标测试中各个测试策略对应的测试对象过少而导致实验周期过长的问题。
图3是图2中步骤S4在一示例性实施例中的流程图。
在一些实施例中,可以假设所述第一实验组的反馈服从伽马分布函数(例如Gamma(600,300)),可以假设所述第二实验组的反馈也服从伽马分布函数(例如Gamma(400,180)),可以理解的是所述第一实验组的反馈分布函数和所述第二实验组的反馈分布函数可以是参数不同(也可以是参数相同)的伽马分布函数。
在一些实施例中,如果直接对上述第一实验组的反馈分布函数和所述第二实验组的反馈分布函数进行采样,那么Gamma(600,300)分布函数具有压倒性的优势,即在目标测试中可以很快的判断出Gamma(600,300)对应的实验策略相对于Gamma(400,180)对应的策略表现更好。但是上述判定要基于所述第一实验组的反馈要完全服从Gamma(600,300),所述第二实验组的反馈要完全服从Gamma(400,180)。事实上,所述第一实验组的反馈可能只是近似的服从Gamma(600,300),所述第二实验组的反馈可能只是近似的服从Gamma(400,180)。
因此,本公开实施例提出了以下方法以克服上述问题。
在一些实施例中,所述第一反馈包括第一正反馈和第一负反馈,所述第二反馈包括第二正反馈和第二负反馈。如图3所示,上述步骤S4可以包括以下步骤。
在步骤S41中,根据所述第一实验组的第一反馈和所述第二实验组的第二反馈生成所述第一实验组的第一虚拟实验组和所述第二实验组的第二虚拟实验组,所述第一虚拟实验组包括第一目标个数的第一正反馈和第二目标个数的第一负反馈,所述第二虚拟实验组包括所述第一目标个数的第二正反馈和所述第二目标个数的第二负反馈。
在一些实施例中,可以将所述第一实验组的第一反馈和所述第二实验组的第二反馈分为所述第一虚拟实验组和所述第二虚拟实验组。其中,所述第一虚拟实验组包括第一目标个数的第一正反馈和第二目标个数的第一负反馈,所述第二虚拟实验组包括所述第一目标个数的第二正反馈和所述第二目标个数的第二负反馈;根据所述第一虚拟实验组的第一正反馈和第一负反馈。例如,可以假设所述第一反馈包括600个第一正反馈、300个第一负反馈,所述第二反馈包括400个第二正反馈、200个第二负反馈,可以将所述第一反馈随机分为三个第一虚拟实验组,每个第一虚拟实验组包括200个第一正反馈和100个第一负反馈,可以将所述第二反馈随机分为2个第二虚拟实验组,每个虚拟实验组也包括200个第二正反馈和100个第二负反馈。
在步骤S42中,根据所述第一虚拟实验组的第一正反馈和第一负反馈的个数更新所述第一虚拟实验组的反馈分布函数的参数,并根据所述第二虚拟实验组的第一正反馈和第一负反馈更新所述第二虚拟实验组的反馈分布函数的参数。
在一些实施例中,可以假设所述第一虚拟实验组的反馈服从的反馈分布函数为伽马分布Gamma(alpha1,beta1)函数,上述伽马分布函数包括第一参数alpha1和第二参数beta1,所述第一虚拟实验组的反馈分布函数的第一参数alpha1和第二参数beta1可以由经验获得,也可以由上一时间的测试获得,还可以直接赋值为1。
在一些实施例中,可以根据所述第一虚拟实验中的反馈个数更新所述第一参数alpha1,并根据所述第一虚拟实验中的正反馈个数更新所述第二参数beta1。例如,更新后的伽马分布函数的第一参数alpha1可以是原始第一参数alpha1加上所述第一反馈的个数(如,更新后alpha1=更新前alpha1+所述第一反馈的个数),更新后的伽马分布函数的第二参数beta1可以是原始第二参数beta1加上所述第一反馈中的正反馈的个数(例如,更新后beta1=更新前beta1+所述第一虚拟实验中的正反馈个数)。
本实施例,将所述第一实验组和所述第二实验组的反馈分别拆分成了多个虚拟实验组(每个虚拟实验组的参数分别对应相等),通过对各个虚拟实验组进行采样以确定各个实验组的采样结果。根据拆分后的虚拟实验组进行采样可以获得更稳定的平均值(从数学上将,期望不变,方差减小),在实际应用中,可以取得明显的优化效果。
图4是图2中步骤S5在一示例性实施例中的流程图。参考图4,上述步骤S5可以包括以下步骤。
在一些实施例中,可以直接对更新后的所述第一实验组和所述第二实验组的反馈分布函数进行第一预定次数(例如1000次)的采样,以获得所述第一实验组的第一采样结果和所述第二实验组的第二采样结果。在一些实施例中,每次采样获得的所述第一采样结果和所述第二采样结果可以只包括一个值。
在另外一些实施例中,还可以对各个第一虚拟实验组进行采样,然后根据各个第一虚拟实验组的采样结果获得所述第一实验组的第一采样结果;可以对各个第二虚拟实验组进行采样,然后根据各个第二虚拟实验组的采样结果获得所述第二实验组的第二采样结果。其中,对各个第一虚拟实验组和各个第二虚拟实验组进行采样可以包括以下步骤。
在步骤S51中,分别对更新后的所述第一虚拟实验组和所述第二虚拟实验组的反馈分布函数进行所述第一预定次数的采样。
在一些实施例中,可以对更新后的第一虚拟实验组的反馈分布函数和第二虚拟实验组的反馈分布函数进行第一预定次数(例如1000次)的采样。
在步骤S52中,根据所述第一实验组的各个虚拟实验组的采样结果确定所述第一实验组的第一采样结果。
在一些实施例中,可以对所述第一实验组对应的的各个第一虚拟实验组的采样结果求均值(还可以求中值、最大值、最小值等)以作为所述第一实验组的第一采样结果。
在步骤S53中,根据所述第二实验组的各个虚拟实验组的采样结果获得所述第二实验组的第二采样结果。
在一些实施例中,可以对所述第二实验组的各个第二虚拟实验组的采样结果求均值以作为所述第二实验组的第二采样结果。
本实施例,将所述第一虚拟实验组和所述第二虚拟实验组的反馈分别拆分成了多个虚拟实验组(每个虚拟实验组的参数分别对应相等),通过对各个虚拟实验组进行采样以确定各个实验组的采样结果。根据拆分后的虚拟实验组进行采样可以获得更稳定的平均值(从数学上将,期望不变,方差减小),在实际应用中,可以取得明显的优化效果。
图5是图2中步骤S6在一示例性实施例中的流程图。参考图5,上述步骤S6可以包括以下步骤。
在步骤S61中,根据所述第一采样结果和所述第二采样结果确定采样最大值并确定所述目标测试的剩余价值。
在一些实施例中,可以在所述第一采样结果和所述第二采样结果中确定一个最大值以作为所述采样最大值。
在一些实施例中,可以根据所述第一采样结果和所述第二采样结果以及各个实验组的反馈结果(包括所述第一反馈和所述第二反馈)获得所述目标测试剩余价值。
在步骤S62中,若所述采样最大值小于等于预设比例阈值或所述目标测试的剩余价值大于价值阈值,则根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象。
在一些实施例中,若所述采样最大值小于等于预设比例阈值(例如,所述采样最大值小于等于0.95)或所述目标测试的剩余价值大于价值阈值(例如,所述目标测试的剩余价值大于0.01),则可以根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实实验组和所述第二实验组的测试对象,以继续进行所述目标测试。
在一些实施例中,若所述采样最大值小于等于所述预设比例阈值或所述目标测试的剩余价值大于所述价值阈值,则可以结束所述目标测试并将所述采样最大值对应的测试策略作为所述目标测试的最优策略。
本实施例,根据第一采样结果和第二采样结果确定了采样最大值以及当前事件所述目标测试的剩余价值,进一步的根据所述采样最大值以及所述剩余价值确定所述目标测试是否继续进行。
图6是图5中步骤S61在一示例性实施例中的流程图。参考图6,上述步骤S61可以包括以下步骤。
在一些实施例中,所述第一实验组的第一反馈和所述第二实验组的第二反馈都可以由正反馈和负反馈组成。
在步骤S611中,根据所述第一实验组的第一反馈及其正反馈和所述第二实验组的第二反馈及其正反馈获取当前预定时间段内所述目标测试的实际正反馈参数。
在一些实施例中,可以将所述第一实验组的正反馈和所述第二实验组的第二反馈合并,以确定合并后的正反馈占所有反馈(第一反馈和第二反馈的总和)的比例,以作为所述目标测试的实际正反馈参数。
在步骤S612中,根据单次采样的第一采样结果和第二采样结果确定所述单次采样的最大采样值,以作为所述单次采样的最优采样结果。
在一些实施例中,在单次采样中可以同时获得所述第一反馈和所述第二反馈的第一采样结果和第二采样结果,然后在所述单次采样的第一采样结果和所述第二采样结果中确定一个最大采样值,作为所述单次采样的最优采样结果。
在步骤S613中,根据所述单次采样的最优采样结果和所述实际反馈参数确定所述单次采样的剩余价值。
在一些实施例中,可以根据公式(1)确定所述单次采样的剩余价值。
其中R代表所述实际参考参数,Q代表所述单次采样的最优采样结果与所有反馈(第一反馈加第二反馈)个数的乘积。
在步骤S614中,根据第一预定次数的采样的剩余价值确定所述目标测试的剩余价值。
在一些实施例中,可以分别确定第一预定次数采样中单次采样的剩余价值,然后确定所述第一预定次数采样的单次采样的剩余价值的目标分位点(例如0.95分位点或者其它分位点),目标分位点可以由人为定义,本公开对此不做限制。
图7是图2中步骤S6在另一示例性实施例中的流程图。参考图6,上述步骤S6可以包括以下步骤。
在步骤S63中,将当前时间的第一采样结果与上一时间的累计第一采样结果合并,以形成当前时间的累计第一采样结果。
在一些实施例中,由于当前时间的第一采样结果数量较少,可以将当前时间的第一采样结果与上一时间的累计第一采样结果(即,将之前所有时间的第一采样结果合并)合并,以形成当前时间的累计第一采样结果。
在步骤S64中,将当前时间的第二采样结果与上一时间的累计第二采样结果合并,以形成当前时间的累计第二采样结果。
在一些实施例中,由于当前时间的第二采样结果数据较少,可以将当前时间的第二采样结果与上一时间的累计第二采样结果(即,将之前所有时间的第一采样结果合并)合并,以形成当前事件的累计第二采样结果。
在步骤S65中,根据当前时间的所述累计第一采样结果和所述累计第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象。
在一些实施例中,可以确定所述累计第一采样结果和所述累计第二采样结果之间的比例,然后根据所述比例将所述测试对象分配给所述第一实验组和所述第二实验组,以确定下一时间所述第一实验组和所述第一实验组的测试对象。
例如,假设所述累计第一采样结果和所述累计第二采样结果之间的比例为6:4,那么可以将10000个测试对象按照6:4的比例分配给所述第一实验组和所述第二实验组。
图8是图2中步骤S6在又一示例性实施例中的流程图。参考图8,上述步骤S6可以包括以下步骤。
在步骤S66中,根据单次采样的第一采样结果和第二采样结果,确定所述单次采样的最大采样值对应的实验组。
在步骤S67中,获取所述第一预定次数采样中所述第一实验组获得最大采样值的次数以及所述第二实验组获得最大采样值的次数。
在一些实施例中,可以统计所述第一预定次数采样中,所述第一实验组的采样结果最大的次数以及所述第二实验组的采样结果最大次数。例如,在1000次预定次数的采样中,所述第一实验组采样结果最大的次数可以为400,所述第二实验组采样结果最大的次数可以为600。
在步骤S68中,根据所述第一实验组获得最大采样值的次数和所述第二实验组获得最大采样值的次数确定下一时间所述第一实验组和所述第二实验组的测试对象。
在一些实施例中,可以根据所述第一实验组的最大采样值的次数与所述第二实验组获得最大采样值的次数的比例将所述测试对象分给所述第一实验组和所述第二实验组。例如,假设所述目标测试包括10000个测试对象,所述第一实验组的最大采样值的次数与所述第二实验组获得最大采样值的次数的比例为6:4,则可以随机抽取6000个测试对象分配给所述第一实验组,随机抽取4000个测试对象分配给所述第二实验组,以作为下一时间所述第一实验组和所述第二实验组的测试对象。
图9是图8中步骤S67在一示例性实施例中的流程图。参考图9,上述步骤S67可以包括以下步骤。
在步骤S671中,若当前时间所述第一实验组获得的最大采样值的次数与上一时间所述第一实验组获得的最大采样值的次数不满足第一预设条件,则将当前时间所述第一实验组获得的最大采样值次数设置为第一预设次数。
在一些实施例中,判断所述第一实验组获得的最大采样值的次数是否满足第一预设条件可以指的是判断当前时间所述第一实验组获得的最大采样值的次数是否在上一时间所述第一实验组获得的最大采样次数的预设波动范围内。在一些实施例中,上一时间所述第一实验组获得的最大采样次数的预设波动范围内可以指的是上一时间所述第一实验组获得的最大采样次数上下波动5%范围内。
在一些实施例中,若当前时间所述第一实验组获得的最大采样值的次数不在上一时间所述第一实验组获得的最大采样次数的不在预设波动范围内,则将当前时间所述第一实验组获得的最大采样值次数设置为第一预设次数。例如,若当前时间所述第一实验组获得的最大采样值的次数不在上一时间所述第一实验组获得的最大采样次数的预设波动范围内,则将当前时间所述第一实验组获得的最大采样值次数设置为上一时间所述第一实验组获得的最大采样次数的98%(或者是其它值,可以由用户自己定义)。
在步骤S672中,若当前时间所述第一实验组获得的最大采样值的次数与上一时时间所述第一实验组获得的最大采样值的次数不满足第二预设条件,则将当前所述第一实验组获得的最大采样值次数设置为第二预设次数。
在一些实施例中,可以判断当前时间所述第二实验组获得的最大采样值的次数是否在上一时间所述第二实验组获得的最大采样次数的预设波动范围内。在一些实施例中,上一时间所述第二实验组获得的最大采样次数的预设波动范围内可以指的是上一时间所述第二实验组获得的最大采样次数上下波动5%(或者是其它值,可以由用户自己定义)。
在一些实施例中,若当前时间所述第二实验组获得的最大采样值的次数不在上一时间所述第二实验组获得的最大采样次数的不在预设波动范围内,则将当前时间所述第二实验组获得的最大采样值次数设置为第二预设次数。例如,若当前时间所述第二实验组获得的最大采样值的次数不在上一时间所述第二实验组获得的最大采样次数的预设波动范围内,则将当前时间所述第二实验组获得的最大采样值次数设置为上一时间所述第二实验组获得的最大采样次数的98%(或者是其它值,可以由用户自己定义)。
本实施例,通过将当前时间第一实验组获得最大采样值的次数与上一时间第一实验组获得最大采样值的次数做比较,以确定当前时间所述第一实验组最终的获得最大采样值的次数。避免了最终确定的当前时间所述第一实验组获得的最大采样值的次数相较于上一时间所述第一实验组获得的最大采样值的次数存在较大的波动,也就避免了根据当前时间各个实验组获得的最大采样值的次数对测试对象进行再分配时使得测试对象的个数发生较大的波动,也就保证了测试结果的准确性。
图10是根据本公开实施例示出的另一种测试方法的流程图。参考图10,本公开实施例提供的测试方法可以包括以下步骤。
在步骤S101中,确定目标测试的第一测试策略及其第一实验组、第二测试策略及其第二实验组以及测试对象,并将所述测试对象平均分配给所述第一实验组合所述第二实验组,获得当前时间所述第一实验组合所述第二实验组的测试对象。
在步骤S102中,获得当前预定时间段内所述第一实验组中的测试对象的第一反馈和所述第二实验组中的测试对象的第二反馈。
在步骤S103中,根据所述第一反馈更新所述第一实验组的反馈分布函数的参数,并根据所述第二反馈更新所述第二实验组的反馈分布函数的参数。
在步骤S104中,分别对更新后的所述第一实验组和所述第二实验组的反馈分布函数进行第一预定次数的采样,获得所述第一实验组的第一采样结果和所述第二实验组的第二采样结果。
在步骤S105中,根据所述第一采样结果和所述第二采样结果确定采样最大值并确定所述目标测试的剩余价值。
在步骤S106中,判断第一预定次数采样中的采样最大值是否小于等于预设比例阈值或所述目标测试的剩余价值是否大于价值阈值。
在步骤S107中,将当前时间的第一采样结果与上一时间的累计第一采样结果合并,以形成当前时间的累计第一采样结果,并将当前时间的第二采样结果与上一时间的累计第二采样结果合并,以形成当前时间的累计第二采样结果。
在步骤S108中,根据当前时间的所述累计第一采样结果与所述累计第二采样的比例确定下一时间所述第一实验组和所述第二实验组的测试对象。
在步骤S109中,结束测试,并确定测试对象最多的实验组所对应的测试策略为最优策略。
本公开实施例提供的技术方案,获取了当前时间各个实验组的测试对象及其对应的反馈,并根据当前时间各个实验组的测试对象对应的反馈确定了各个实验组对应的反馈分布函数的参数,然后对确定后的各个实验组对应的反馈分布函进行第一预定次数的采样,并基于采样结果确定下一时间各个实验组中的测试对象。本公开提供的技术方案可以根据当前时间各个实验策略对应的实验组的反馈,确定下一时间各个实验策略对应的实验组的测试对象的多少,通过迭代的方法使得表现好的实验策略对应的实验组可以分得越来越多的测试对象,而表现差的实验策略对应的实验组可以分得越来越少的测试对象。换句话说,在有限时间内或者有限测试次数内,本公开提供的技术方案就可以获得表现足够好的实验策略。本公开实施例提供的技术方案,克服了相关技术中由于目标测试中各个测试策略对应的测试对象过少而导致实验周期过长的问题。
图11是根据一示例性实施例示出的一种测试系统的示意图。
如图11所示,所述测试系统110可以包括网页模块111,测试配置模块112,后台业务模块113,测试对象客户端114、115以及116,数据分析模块117,本公开对所述测试对象客户端的数量不做限制,一般来说所述测试对象客户端与所述测试对象一一对应。
在一些实施例中,所述网页模块111可以是一些可以进行计算、显示的电子设备,例如所述网页模块111可以是电脑、手机等电子设备。
在一些实施例中,测试人员可以通过所述网页模块111完成对目标测试的设计和初始配置、对所述目标测试的测试结果的观察和管理,并根据所述目标测试的测试结果生成报告等。
在一些实施例中,所述测试人员可以通过所述网页模块111完成对所述目标测试的设计和初始配置。以支付后返送红包的测试为例,所述测试人员可以在所述网页模块111中设置多个返送红包策略,并初始化各个返送红包策略对应的实验组中的测试对象占所有测试对象的比例。
在一些实施例中,所述网页模块111可以将所述测试人员设计的各个测试策略以及各个测试策略对应的实验组中的测试对象占所有测试对象的比例等配置数据下发至所述测试配置模块112。
在一些实施例中,所述测试配置模块112可以包括测试配置单元和测试配置分发模块。其中所述测试配置单元可以用来校验和修正所述网页模块111下发的配置数据(例如,校验所述网页模块111中下发的数据中是否存在乱码等),所述测试配置分发模块可以将校验、修正后的配置数据分发至后台业务模块113中(可以理解的是,所述后台业务模块可以包括多个物理服务器),以便所述后台业务模块113根据所述配置数据进行配置。
在一些实施例中,所述后台业务模块113通过调用应用程序编程接口可以确定各个测试对象命中的测试策略(即确定了各个测试对象分别使用何种策略进行测试)。
在一些实施例中,所述后台业务模块113还可以包括测试对象信息维护单元、测试对象信息更新模块以及测试对象信息修改单元。
其中,所述测试对象信息维护单元可以用来校验并修正所述测试对象的属性信息。例如,当所述测试对象中出现乱码时,所述测试对象信息维护单元可以修正上述乱码。
在一些实施例中,所述测试对象信息更新模块可以用来更新所述测试对象的属性信息。例如,所述测试对象的年龄会随着时间的改变而改变,则所述测试对象信息更新模块可以自动更新所述测试对象的年龄信息。
在一些实施例中,所述测试对象信息修改单元可以用来修改测试对象的属性信息。
在一些实施例中,所述后台业务模块113可以将所述测试对象命中的测试策略信息分别下发至其对应的测试对象客户端上,以使所述测试对象针对其客户端上的测试策略进行测试。例如,在支付红包返送测试中,测试人员设计了第一测试策略、第二测试策略、第三测试策略等,后台业务模块确定了第一测试对象使用所述第一测试策略、第二测试对象使用所述第二测试策略、第三测试对象使用所述第三测试策略等,后台业务会将所述第一策略、第二策略以及第三策略分别下发至所述第一测试对象、所属第二测试对象以及所述第三测试对象对应的客户端,以便所述第一测试对象、第二测试对象以及所述第三测试对象分别完成测试。
在一些实施例中,所述测试对象客户端114、115和116会收集其对应测试对象的反馈信息,并将所述反馈信息上传至所述后台业务模块113.
在一些实施例中,所述后台业务模块113会接收所述测试对象客户端114、115和116上传的反馈信息,并将各个测试对象及其对应测策略信息和反馈信息上传至数据分析模块117。
在一些实施例中,所述数据分析模块117包括任务调度单元、指标确定单元以及指标数据库,其中所述指标确定单元可以包括实时流处理子单元、离线流处理子单元。可以理解的是,所述实时流处理子单元可以基于测试对象产生的实时反馈数据进行指标的计算,所述离线流处理子单元可以基于测试对象过去一段时间内累计的反馈数据进行指标的计算。
在一些实施例中,所述数据分析模块117接收到各个测试对象及其对应测试策略信息以及各个测试对象的反馈信息后,所述调度单元会可以调度所述指标确定单元中的实时流处理子单元或离线流处理子单元以进行所述目标测试的指标计算。例如,所述数据分析模块117可以根据各个测试对象及其对应测试策略信息以及各个测试对象的反馈信息获得当前时间所述第一实验组和所述第二实验组的测试对象;获得当前预定时间段内所述第一实验组中的测试对象的第一反馈和所述第二实验组中的测试对象的第二反馈;根据述第一反馈更新所述第一实验组的反馈分布函数的参数,并根据所述第二反馈更新所述第二实验组的反馈分布函数的参数,根据所述第一反馈更新所述第一实验组的反馈分布函数的参数,并根据所述第二反馈更新所述第二实验组的反馈分布函数的参数;分别对更新后的所述第一实验组和所述第二实验组的反馈分布函数进行第一预定次数的采样,获得所述第一实验组的第一采样结果和所述第二实验组的第二采样结果;根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象的比例。
在一些实施例中,所述数据分析模块117可以还可以根据所述第一采样结果和所述第二采样结果确定采样最大值,并确定所述目标测试的剩余价值;若所述采样最大值小于等于预设比例阈值或所述目标测试的剩余价值大于价值阈值,所述数据分析模块117则可以将下一时间所述第一实验组和所述第二实验组的测试对象的比例传输至所述测试配置模块,以继续进行下一时间内的测试。
在一些实施例中,若所述采样最大值大于预设比例阈值并且所述目标测试的剩余价值小于所述价值阈值,所述数据分析模块117则将测试对象最多的测试策略作为最优策略传输至所述网页模块111以进行显示。
图12是根据一示例性实施例示出的一种测试装置的框图。参照图12,本公开实施例提供的测试装置1200可以包括:测试准备模块1201、测试对象分配模块1202、反馈确定模块1203、参数更新模块1204、采样模块1205以及再分配模块1206。
其中,所述测试准备模块1201可以配置为确定目标测试的第一测试策略及其第一实验组、第二测试策略及其第二实验组以及测试对象;所述测试对象分配模块1202可以配置为获得当前时间所述第一实验组和所述第二实验组的测试对象;所述反馈确定模块1203可以配置为获得当前预定时间段内所述第一实验组中的测试对象的第一反馈和所述第二实验组中的测试对象的第二反馈;所述参数更新模块1204可以配置为根据所述第一反馈更新所述第一实验组的反馈分布函数的参数,并根据所述第二反馈更新所述第二实验组的反馈分布函数的参数;所述采样模块1205可以配置为分别对更新后的所述第一实验组和所述第二实验组的反馈分布函数进行第一预定次数的采样,获得所述第一实验组的第一采样结果和所述第二实验组的第二采样结果;所述再分配模块1206可以配置为根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象。
在一些实施例中,所述第一反馈包括第一正反馈和第一负反馈,所述第二反馈包括第二正反馈和第二负反馈;其中,所述反馈确定模块1203可以包括:分组子模块和参数更新子模块。
其中,所述分组子模块可以配置为根据所述第一实验组的第一反馈和所述第二实验组的第二反馈生成所述第一实验组的第一虚拟实验组和所述第二实验组的第二虚拟实验组,所述第一虚拟实验组包括第一目标个数的第一正反馈和第二目标个数的第一负反馈,所述第二虚拟实验组包括所述第一目标个数的第二正反馈和所述第二目标个数的第二负反馈;所述参数更新子模块可以配置为根据所述第一虚拟实验组的第一正反馈和第一负反馈的个数更新所述第一虚拟实验组的反馈分布函数的参数,并根据所述第二虚拟实验组的第一正反馈和第一负反馈更新所述第二虚拟实验组的反馈分布函数的参数。
在一些实施例中,所述采样模块1205可以包括:采样子模块、第一采样结果获取子模块和第二采样结果获取子模块。
其中,所述采样子模块可以配置为分别对更新后的所述第一虚拟实验组和所述第二虚拟实验组的反馈分布函数进行所述第一预定次数的采样;所述第一采样结果获取子模块可以配置为根据所述第一实验组的各个虚拟实验组的采样结果确定所述第一实验组的第一采样结果;所述第二采样结果获取子模块可以配置为根据所述第二实验组的各个虚拟实验组的采样结果获得所述第二实验组的第二采样结果。
在一些实施例中,所述第一反馈包括第一正反馈,所述第一实验组的反馈分布函数是伽马分布函数,所述伽马分布函数包括第一参数和第二参数。
在一些实施例中,所述反馈确定模块可以配置为根据所述第一反馈的个数更新所述第一参数;根据所述第一反馈的第一正反馈的个数更新所述第二参数。
在一些实施例中,所述再分配模块1206可以包括:参数确定子模块和再分配子模块。
其中,所述参数确定子模块可以配置为根据所述第一采样结果和所述第二采样结果确定采样最大值并确定所述目标测试的剩余价值;所述再分配子模块可以配置为若所述采样最大值大于等于预设比例阈值或所述目标测试的剩余价值小于价值阈值,则根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象。
在一些实施例中,所述第一实验组的第一反馈和所述第二实验组的第二反馈中均包括正反馈。
在一些实施例中,所述参数确定子模块可以包括:实际正反馈参数确定单元、最优结果获取单元、单次采样剩余价值确定单元以及目标测试剩余价值确定单元。
其中,所述实际正反馈参数确定单元可以配置为根据所述第一实验组的第一反馈及其正反馈和所述第二实验组的第二反馈及其正反馈获取当前预定时间段内所述目标测试的实际正反馈参数;所述最优结果获取单元可以配置为根据单次采样的第一采样结果和第二采样结果确定所述单次采样的最大采样值,以作为所述单次采样的最优采样结果;所述单次采样剩余价值确定单元根据所述单次采样的最优采样结果和所述实际反馈参数确定所述单次采样的剩余价值;所述目标测试剩余价值确定单元可以配置为根据第一预定次数的采样的剩余价值确定所述目标测试的剩余价值。
在一些实施例中,所述再分配模块1206可以包括:累计第一采样结果确定子模块、累计第二采样结果确定子模块以及测试对象确定子模块。
其中,所述累计第一采样结果确定子模块可以配置为将当前时间的第一采样结果与上一时间的累计第一采样结果合并,以形成当前时间的累计第一采样结果;所述累计第二采样结果确定子模块可以配置为将当前时间的第二采样结果与上一时间的累计第二采样结果合并,以形成当前时间的累计第二采样结果;所述测试对象确定子模块可以配置为根据当前时间的所述累计第一采样结果和所述累计第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象。
在一些实施例中,所述再分配模块1206还可以包括:最大采样值确定子模块、最大采样次数确定子模块以及测试对象分配子模块。
其中,所述最大采样值确定子模块可以配置为根据单次采样的第一采样结果和第二采样结果,确定所述单次采样的最大采样值对应的实验组;所述最大采样次数确定子模块可以配置为获取所述第一预定次数采样中所述第一实验组获得最大采样值的次数以及所述第二实验组获得最大采样值的次数;所述测试对象分配子模块可以配置为根据所述第一实验组获得最大采样值的次数和所述第二实验组获得最大采样值的次数确定下一时间所述第一实验组和所述第二实验组的测试对象。
由于本公开的示例实施例的测试装置1200的各个功能模块与上述测试方法的示例实施例的步骤对应,因此在此不再赘述。
下面参考图13,其示出了适于用来实现本申请实施例的终端设备的计算机系统1300的结构示意图。图13示出的终端设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图13所示,计算机系统1300包括中央处理单元(CPU)1301,其可以根据存储在只读存储器(ROM)1302中的程序或者从储存部分1308加载到随机访问存储器(RAM)1303中的程序而执行各种适当的动作和处理。在RAM 1303中,还存储有系统1300操作所需的各种程序和数据。CPU 1301、ROM 1302以及RAM 1303通过总线1304彼此相连。输入/输出(I/O)接口1305也连接至总线1304。
以下部件连接至I/O接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1307;包括硬盘等的储存部分1308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入储存部分1308。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被中央处理单元(CPU)1301执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块和/或子模块和/或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块和/或子模块和/或单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些模块和/或子模块和/或单元的名称在某种情况下并不构成对该模块和/或子模块和/或单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备可实现功能包括:确定目标测试的第一测试策略及其第一实验组、第二测试策略及其第二实验组以及测试对象;获得当前时间所述第一实验组和所述第二实验组的测试对象;获得当前预定时间段内所述第一实验组中的测试对象的第一反馈和所述第二实验组中的测试对象的第二反馈;根据所述第一反馈更新所述第一实验组的反馈分布函数的参数,并根据所述第二反馈更新所述第二实验组的反馈分布函数的参数;分别对更新后的所述第一实验组和所述第二实验组的反馈分布函数进行第一预定次数的采样,获得所述第一实验组的第一采样结果和所述第二实验组的第二采样结果;根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者智能设备等)执行根据本公开实施例的方法,例如图2的一个或多个所示的步骤。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其他实施例。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不限于这里已经示出的详细结构、附图方式或实现方法,相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (10)
1.一种测试方法,其特征在于,包括:
确定目标测试的第一测试策略及其第一实验组、第二测试策略及其第二实验组以及测试对象;
获得当前时间所述第一实验组和所述第二实验组的测试对象;
获得当前预定时间段内所述第一实验组中的测试对象的第一反馈和所述第二实验组中的测试对象的第二反馈;
根据所述第一反馈更新所述第一实验组的反馈分布函数的参数,并根据所述第二反馈更新所述第二实验组的反馈分布函数的参数;
分别对更新后的所述第一实验组和所述第二实验组的反馈分布函数进行第一预定次数的采样,获得所述第一实验组的第一采样结果和所述第二实验组的第二采样结果;
根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象。
2.根据权利要求1所述方法,其特征在于,所述第一反馈包括第一正反馈和第一负反馈,所述第二反馈包括第二正反馈和第二负反馈;其中,根据所述第一反馈更新所述第一实验组的反馈分布函数的参数,并根据所述第二反馈更新所述第二实验组的反馈分布函数的参数,包括:
根据所述第一实验组的第一反馈和所述第二实验组的第二反馈生成所述第一实验组的第一虚拟实验组和所述第二实验组的第二虚拟实验组,所述第一虚拟实验组包括第一目标个数的第一正反馈和第二目标个数的第一负反馈,所述第二虚拟实验组包括所述第一目标个数的第二正反馈和所述第二目标个数的第二负反馈;
根据所述第一虚拟实验组的第一正反馈和第一负反馈的个数更新所述第一虚拟实验组的反馈分布函数的参数,并根据所述第二虚拟实验组的第一正反馈和第一负反馈更新所述第二虚拟实验组的反馈分布函数的参数。
3.根据权利要求2所述方法,其特征在于,分别对更新后的所述第一实验组和所述第二实验组的反馈分布函数进行第一预定次数的采样,获得所述第一实验组的第一采样结果和所述第二实验组的第二采样结果,包括:
分别对更新后的所述第一虚拟实验组和所述第二虚拟实验组的反馈分布函数进行所述第一预定次数的采样;
根据所述第一实验组的各个虚拟实验组的采样结果确定所述第一实验组的第一采样结果;
根据所述第二实验组的各个虚拟实验组的采样结果获得所述第二实验组的第二采样结果。
4.根据权利要求1所述方法,其特征在于,所述第一反馈包括第一正反馈,所述第一实验组的反馈分布函数是伽马分布函数,所述伽马分布函数包括第一参数和第二参数;其中,根据所述第一反馈更新所述第一实验组的反馈分布函数的参数,包括:
根据所述第一反馈的个数更新所述第一参数;
根据所述第一反馈中的第一正反馈的个数更新所述第二参数。
5.根据权利要求1所述方法,其特征在于,根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象,包括:
根据所述第一采样结果和所述第二采样结果确定采样最大值,并确定所述目标测试的剩余价值;
若所述采样最大值小于等于预设比例阈值或所述目标测试的剩余价值大于价值阈值,则根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象。
6.根据权利要求5所述方法,其特征在于,所述第一实验组的第一反馈和所述第二实验组的第二反馈中均包括正反馈;其中,确定所述目标测试的剩余价值,包括:
根据所述第一实验组的第一反馈及其正反馈和所述第二实验组的第二反馈及其正反馈获取当前预定时间段内所述目标测试的实际正反馈参数;
根据单次采样的第一采样结果和第二采样结果确定所述单次采样的最大采样值,以作为所述单次采样的最优采样结果;
根据所述单次采样的最优采样结果和所述实际反馈参数确定所述单次采样的剩余价值;
根据第一预定次数的采样的剩余价值确定所述目标测试的剩余价值。
7.根据权利要求1所述方法,其特征在于,根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象,包括:
将当前时间的第一采样结果与上一时间的累计第一采样结果合并,以形成当前时间的累计第一采样结果;
将当前时间的第二采样结果与上一时间的累计第二采样结果合并,以形成当前时间的累计第二采样结果;
根据当前时间的所述累计第一采样结果和所述累计第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象。
8.根据权利要求1或7所述方法,其特征在于,根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象,包括:
根据单次采样的第一采样结果和第二采样结果,确定所述单次采样的最大采样值对应的实验组;
获取所述第一预定次数采样中所述第一实验组获得最大采样值的次数以及所述第二实验组获得最大采样值的次数;
根据所述第一实验组获得最大采样值的次数和所述第二实验组获得最大采样值的次数确定下一时间所述第一实验组和所述第二实验组的测试对象。
9.一种测试装置,其特征在于,包括:
测试准备模块,配置为确定目标测试的第一测试策略及其第一实验组、第二测试策略及其第二实验组以及测试对象;
测试对象分配模块,配置为获得当前时间所述第一实验组和所述第二实验组的测试对象;
反馈确定模块,配置为获得当前预定时间段内所述第一实验组中的测试对象的第一反馈和所述第二实验组中的测试对象的第二反馈;
参数更新模块,配置为根据所述第一反馈更新所述第一实验组的反馈分布函数的参数,并根据所述第二反馈更新所述第二实验组的反馈分布函数的参数;
采样模块,配置为分别对更新后的所述第一实验组和所述第二实验组的反馈分布函数进行第一预定次数的采样,获得所述第一实验组的第一采样结果和所述第二实验组的第二采样结果;
再分配模块,配置为根据所述第一采样结果和所述第二采样结果确定下一时间所述第一实验组和所述第二实验组的测试对象。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911047792.7A CN112749076B (zh) | 2019-10-30 | 2019-10-30 | 测试方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911047792.7A CN112749076B (zh) | 2019-10-30 | 2019-10-30 | 测试方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112749076A CN112749076A (zh) | 2021-05-04 |
CN112749076B true CN112749076B (zh) | 2023-10-20 |
Family
ID=75640904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911047792.7A Active CN112749076B (zh) | 2019-10-30 | 2019-10-30 | 测试方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112749076B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9483393B1 (en) * | 2013-12-05 | 2016-11-01 | Amazon Technologies, Inc. | Discovering optimized experience configurations for a software application |
CN108845936A (zh) * | 2018-05-31 | 2018-11-20 | 阿里巴巴集团控股有限公司 | 一种基于海量用户的ab测试方法及系统 |
CN109522205A (zh) * | 2018-09-19 | 2019-03-26 | 北京旋极信息技术股份有限公司 | 一种仿真测试的方法、装置、计算机存储介质及终端 |
-
2019
- 2019-10-30 CN CN201911047792.7A patent/CN112749076B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9483393B1 (en) * | 2013-12-05 | 2016-11-01 | Amazon Technologies, Inc. | Discovering optimized experience configurations for a software application |
CN108845936A (zh) * | 2018-05-31 | 2018-11-20 | 阿里巴巴集团控股有限公司 | 一种基于海量用户的ab测试方法及系统 |
CN109522205A (zh) * | 2018-09-19 | 2019-03-26 | 北京旋极信息技术股份有限公司 | 一种仿真测试的方法、装置、计算机存储介质及终端 |
Non-Patent Citations (1)
Title |
---|
基于参考模型的输出反馈强化学习控制;郝钏钏;方舟;李平;;浙江大学学报(工学版)(03);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112749076A (zh) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210337069A1 (en) | Exclusive Agent Pool Allocation Method, Electronic Device, And Computer Readable Storage Medium | |
CN106959894B (zh) | 资源分配方法和装置 | |
CN110852882B (zh) | 用于区块链网络的分组共识方法、装置、设备和介质 | |
CN108320089A (zh) | 坐席分配方法、电子装置及计算机可读存储介质 | |
CN112148582B (zh) | 策略测试方法及装置、计算机可读介质和电子设备 | |
CN112017042A (zh) | 基于tweedie分布的资源配额确定方法、装置和电子设备 | |
US20150146521A1 (en) | Dynamic resource pooling and trading mechanism in network virtualization | |
CN110569190B (zh) | 交易压力测试方法和装置、以及电子设备和可读存储介质 | |
CN111681112A (zh) | 一种管理投放策略的方法、装置和电子设备 | |
CN109167806B (zh) | 一种基于前景理论的不确定QoS感知Web服务选择方法 | |
CN113590955A (zh) | 目标推荐用户确定方法、装置、电子设备以及存储介质 | |
CN112016797B (zh) | 基于knn的资源配额调整方法、装置和电子设备 | |
CN112749076B (zh) | 测试方法、装置及电子设备 | |
CN111915115B (zh) | 执行策略设置方法和装置 | |
CN109472455B (zh) | 活动评估方法、装置、电子设备及存储介质 | |
CN112242911A (zh) | 基于网络流量的测试方法及装置、存储介质、电子设备 | |
CN109947830B (zh) | 用于输出信息的方法和装置 | |
Hans et al. | Setting Priorities-A Heuristic Approach for Cloud Data Center Selection. | |
CN110677463B (zh) | 并行数据传输方法、装置、介质及电子设备 | |
CN109472454B (zh) | 活动评估方法、装置、电子设备及存储介质 | |
CN112508631A (zh) | 用户策略分配方法、装置及电子设备 | |
CN113778844A (zh) | 一种自动化性能测试方法和装置 | |
CN112131468A (zh) | 推荐系统中的数据处理方法、装置 | |
CN110633142A (zh) | 区块链的共识方法、管理节点、电子设备以及存储介质 | |
CN111460270B (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 |