CN112346962A - 一种应用于对照测试系统中的对照数据测试方法及装置 - Google Patents
一种应用于对照测试系统中的对照数据测试方法及装置 Download PDFInfo
- Publication number
- CN112346962A CN112346962A CN201910732500.7A CN201910732500A CN112346962A CN 112346962 A CN112346962 A CN 112346962A CN 201910732500 A CN201910732500 A CN 201910732500A CN 112346962 A CN112346962 A CN 112346962A
- Authority
- CN
- China
- Prior art keywords
- test
- model
- comparison
- calculation
- inspection
- 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.)
- Pending
Links
- 238000007689 inspection Methods 0.000 claims abstract description 202
- 238000004364 calculation method Methods 0.000 claims abstract description 192
- 230000000875 corresponding Effects 0.000 claims abstract description 59
- 230000000052 comparative effect Effects 0.000 claims description 10
- 238000005457 optimization Methods 0.000 claims description 7
- 241000282376 Panthera tigris Species 0.000 claims description 6
- 238000000546 chi-square test Methods 0.000 claims description 5
- 235000021171 collation Nutrition 0.000 claims description 4
- 238000010998 test method Methods 0.000 claims description 2
- 230000003993 interaction Effects 0.000 abstract description 11
- 238000000034 method Methods 0.000 description 54
- 238000010586 diagram Methods 0.000 description 15
- 238000001514 detection method Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 235000014510 cooky Nutrition 0.000 description 3
- 230000001808 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000004141 dimensional analysis Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000002452 interceptive Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000000737 periodic Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000000528 statistical test Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
- 230000003287 optical Effects 0.000 description 1
- 230000002085 persistent Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised Effects 0.000 description 1
- 230000001052 transient Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; 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/3692—Test management for test results analysis
Abstract
本申请公开了一种应用于对照测试系统中的对照数据测试方法及装置,通过对于对照测试中各模块的交互实现了多种检验模型的配置,以及选取对应的测试数据输入相关模型以得到测试结果,该多模型的配置过程可以很好应用于多种场景中,以满足不同场景下的检验需求,提高了检验过程的扩展性及灵活性。具体包括:获取第一检验模型的配置信息,若存在第二检验模型等待运行,则根据所述第一检验模型的配置信息与所述第二检验模型的配置信息生成对比信息,通过所述目标接口接入所述对比信息,以使得所述对照测试系统中的指标计算模块生成对应的计算线程;根据所述计算线程对所述第二检验模型进行计算。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用于对照测试系统中的对照数据测试方法及装置。
背景技术
对于终端应用程序(application,APP)产品设计和运营的时候,实验人员会有很多直觉想法,猜想某些设计和策略可能会更好,更符合用户需求。但是如何验证猜想,需要用数据来加以证明。一般可利用AB测试来发现不同策略在实验组人群中指标的差异以及衡量这些差异是否有统计上的显著性。例如,在微信的AB测试系统里有上千个指标,如何方便地对这些指标运用适合的统计检验方法成为一个难题。
通常在AB测试系统中,都配置了固定的检验模型,以为相关指标提供检验计算,当有其他指标需要添加并进行运算时,一般需要相关人员手动分析并添加相关检验模型。
由于在AB测试中,为保证测试的准确性,一般采用多指标多维度的分析,即需要为相关指标配置多种检验模型以满足测试需求,采用每个指标都手动分析并添加相关检验模型的方式会产生大量的配置工作,大大影响测试的效率。
发明内容
有鉴于此,本申请第一方面提供一种应用于对照测试系统中的对照数据测试方法,可应用于AB测试的系统或程序过程中,具体包括:获取第一检验模型的配置信息,所述第一检验模型为当前对对照测试数据进行对照测试所用的检验模型,所述第一检验模型通过目标接口接入所述对照测试系统;
若存在第二检验模型等待运行,则根据所述第一检验模型的配置信息与所述第二检验模型的配置信息生成对比信息,所述对比信息基于所述对照测试数据的区别或计算类型的区别确定,所述计算类型包括实时流计算或分布式计算;
通过所述目标接口接入所述对比信息,所述对比信息用于生成与所述第二检验模型对应的计算线程;
通过所述计算线程运行所述第二检验模型,以得到所述对照测试数据的的检验结果。
优选的,在本申请一些可能的实现方式中,所述获取第一检验模型的配置信息,包括:
确定所述第一检验模型对应的检验指标;
根据所述检验指标获取第一测试数据,所述第一测试数据用于指示所述检验指标在所述对照测试数据对应的数据;
根据所述第一测试数据确定第一计算类型,以得到所述第一检验模型的配置信息。
优选的,在本申请一些可能的实现方式中,所述根据所述第一检验模型的配置信息与所述第二检验模型的配置信息生成对比信息,包括:
获取所述第二检验模型的第二测试数据,所述第二测试数据用于指示运行所述第二检验模型所需的数据;
根据所述第二测试数据确定第二计算类型,并结合所述第一计算类型生成对比信息。
优选的,在本申请一些可能的实现方式中,所述通过所述目标接口接入所述对比信息,以使得所述对照测试系统中的指标计算模块生成对应的计算线程,包括:
若所述对比信息指示所述第一计算类型与所述第二计算类型不同,则在所述指标计算模块中增加与所述第二计算类型对应的计算线程,所述与所述第二计算类型对应的计算线程通过所述目标接口接入所述对照测试系统。
优选的,在本申请一些可能的实现方式中,所述方法还包括:
若所述对比信息指示所述第一计算类型与所述第二计算类型相同,则通过所述第一计算类型对应的计算线程计算所述第二计算类型。
优选的,在本申请一些可能的实现方式中,其特征在于,所述根据所述计算线程对所述第二检验模型进行计算,包括:
根据所述第二检验模型的计算类型确定测试时间段;
在所述测试时间段内根据所述计算线程对所述第二检验模型进行计算。
优选的,在本申请一些可能的实现方式中,所述第一检验模型和所述第二检验模型包括:固定样本的正态模型、固定样本的对数正态模型、卡方检验模型、MWU非参检验模型、Diff-in-Diff模型、非独立同分布模型、序列化检验模型、Interleaving模型、多臂老虎机模型或贝叶斯优化模型。
本申请第二方面提供另一种对照测试的装置,包括:获取单元,用于获取第一检验模型的配置信息,所述第一检验模型为当前对对照测试数据进行对照测试所用的检验模型,所述第一检验模型通过目标接口接入所述对照测试系统;
对比单元,用于若存在第二检验模型等待运行,则根据所述第一检验模型的配置信息与所述第二检验模型的配置信息生成对比信息,所述对比信息基于所述对照测试数据的区别或计算类型的区别确定,所述计算类型包括实时流计算或分布式计算;
接入单元,用于通过所述目标接口接入所述对比信息,所述对比信息用于生成与所述第二检验模型对应的计算线程;
计算单元,用于通过所述计算线程运行所述第二检验模型,以得到所述对照测试数据的的检验结果。
优选的,在本申请一些可能的实现方式中,所述获取单元,具体用于确定所述第一检验模型对应的检验指标;
所述获取单元,具体用于根据所述检验指标获取第一测试数据,所述第一测试数据用于指示所述检验指标在所述对照测试数据对应的数据;
所述获取单元,具体用于根据所述第一测试数据确定第一计算类型,以得到所述第一检验模型的配置信息。
优选的,在本申请一些可能的实现方式中,所述对比单元,具体用于获取所述第二检验模型的第二测试数据,所述第二测试数据用于指示运行所述第二检验模型所需的数据;
所述对比单元,具体用于根据所述第二测试数据确定第二计算类型,并结合所述第一计算类型生成对比信息。
优选的,在本申请一些可能的实现方式中,所述接入单元,具体用于若所述对比信息指示所述第一计算类型与所述第二计算类型不同,则在所述指标计算模块中增加与所述第二计算类型对应的计算线程,所述与所述第二计算类型对应的计算线程通过所述目标接口接入所述对照测试系统。
优选的,在本申请一些可能的实现方式中,所述接入单元,还用于若所述对比信息指示所述第一计算类型与所述第二计算类型相同,则通过所述第一计算类型对应的计算线程计算所述第二计算类型。
优选的,在本申请一些可能的实现方式中,其特征在于,所述计算单元,具体用于根据所述第二检验模型的计算类型确定测试时间段;
所述计算单元,具体用于在所述测试时间段内根据所述计算线程对所述第二检验模型进行计算。
优选的,在本申请一些可能的实现方式中,所述第一检验模型和所述第二检验模型包括:固定样本的正态模型、固定样本的对数正态模型、卡方检验模型、MWU非参检验模型、Diff-in-Diff模型、非独立同分布模型、序列化检验模型、Interleaving模型、多臂老虎机模型或贝叶斯优化模型。
本申请第三方面提供一种计算机设备,包括:存储器、处理器以及总线系统;所述存储器用于存储程序代码;所述处理器用于根据所述程序代码中的指令执行上述第一方面或第一方面任一项所述的应用于对照测试系统中的对照数据测试方法。
本申请第四方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面任一项所述的应用于对照测试系统中的对照数据测试方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
通过获取第一检验模型的配置信息,若存在第二检验模型等待运行,则根据所述第一检验模型的配置信息与所述第二检验模型的配置信息生成对比信息,通过所述目标接口接入所述对比信息,以使得所述对照测试系统中的指标计算模块生成对应的计算线程;根据所述计算线程对所述第二检验模型进行计算,以得到检验结果。该过程中由于多种检验模型的配置,以及选取对应的测试数据所得到的测试结果可以很好应用于多种场景中,可以满足不同场景下的检验需求,提高了检验过程的扩展性及灵活性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为AB测试系统运行的网络架构图;
图2为一种AB测试的系统架构图;
图3为本申请实施例提供的一种应用于对照测试系统中的对照数据测试方法的流程图;
图4为本申请实施例提供的另一种应用于对照测试系统中的对照数据测试方法的流程图;
图5为本申请实施例提供的一种热插拔检测模型流程图;
图6为本申请实施例提供的一种添加检验模型的流程示意图;
图7为本申请实施例提供的一种AB测试的界面显示示意图;
图8为本申请实施例提供的对照数据测试装置的结构示意图;
图9为本申请实施例提供的另一种对照数据测试装置的结构示意图。
具体实施方式
本申请实施例提供了一种应用于对照测试系统中的对照数据测试方法以及相关装置,可以应用于AB测试的系统或相关装置中,具体通过获取预设检验模型配置并解析其中的多个检验模型;然后根据预设检验模型配置确定测试数据;并根据所述多个检验模型的类型确定检验计算方式,继而根据所述检验计算方式对所述测试数据进行检验模型计算,以得到检验结果。该过程中由于多种检验模型的配置,以及选取对应的测试数据所得到的测试结果可以很好应用于多种场景中,以满足不同场景下的检验需求,提高了检验过程的扩展性及灵活性。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应理解,本申请提供的应用于对照测试系统中的对照数据测试方法可以应用于可应用于AB测试系统的运行过程中,具体的,AB测试系统可以运行于如图1所示的网络架构中,如图1所示,是AB测试系统运行的网络架构图,如图可知,AB测试系统可以通过多个终端获取实验数据,通过服务器获取用户数据,根据预设的规则对上述数据进行分析计算,对方案的相关指标进行计算,可以理解的是,图1中示出了三个终端,在实际场景中可以有更多或更少的终端设备参与到实验测试中,具体数量因实际场景而定,此处不做限定;另外,图1中示出了一个服务器,但在实际场景中,也可以有多个服务器的参与,特别是在多应用数据交互的场景中,具体服务器数量因实际场景而定。
可以理解的是,上述AB测试系统可以运行于个人移动终端,也可以运行于服务器,还可以作为运行于第三方设备以提供客户端实验数据与后台策略的快速迭代试错,以得出实验报告;具体的AB测试系统可以是以一种程序的形式在上述设备中运行,也可以作为上述设备中的系统部件进行运行,还可以作为云端服务程序的一种,具体运作模式因实际场景而定,此处不做限定。
对照测试,即AB测试,是一种有效的精细化运营手段。AB测试是为网页或应用程序界面或流程制作两个(A/B)或多个(A/B/n)版本。在同一时间维度,分别让组成成分相同(或相似)的访客群组随机的访问这些版本,收集各群组的用户体验数据和业务数据,最后分析评估出最好版本正式采用。比如,在对产品进行AB测试时,可以为同一个优化目标制定两个方案,让一部分用户使用A方案,同时另一部分用户使用B方案,统计并对比不同方案的转化率、点击量、留存率等指标,以判断不同方案的优劣并进行决策,从而提升转化率。
一般对于终端应用程序(application,APP)产品设计和运营的时候,实验人员会有很多直觉想法,猜想某些设计和策略可能会更好,更符合用户需求。但是如何验证猜想,需要用数据来加以证明。一般可利用AB测试来发现不同策略在实验组人群中指标的差异以及衡量这些差异是否有统计上的显著性。例如,在微信的AB测试系统里有上千个指标,如何方便地对这些指标运用适合的统计检验方法成为一个难题。
通常在AB测试系统中,都配置了固定的检验模型,以为相关指标提供检验计算,当有其他指标需要添加并进行运算时,一般需要相关人员手动分析并添加相关检验模型。
由于在AB测试中,为保证测试的准确性,一般采用多指标多维度的分析,即需要为相关指标配置多种检验模型以满足测试需求,采用每个指标都手动分析并添加相关检验模型的方式会产生大量的配置工作,大大影响测试的效率。
为了解决上述问题,本申请提出了一种应用于对照测试系统中的对照数据测试方法,该方法应用于图2所示的AB测试的系统框架,如图2所示,是一种AB测试的系统架构图,图中包括交互模块、实验流量管理模块、实验接入模块和实验指标分析模块,其中,交互模块主要用于与外界的交互过程,例如:相关人员对于实验的配置、对于指标的选择或者对于实验报告的可视化查询。
实验流量管理模块主要用于实时检测及控制实验数据流的动态,例如:检测参与实验的数据流大小,控制参与实验的数据流的大小。
实验接入模块主要用于接入相关客户端的实验数据,例如:微信、看一看、搜一搜等,还用于接入实验相关的用户画像信息,或者模拟的相关用户参数信息;其中,实验接入模块通过代理与实验流量管理模块进行数据流的交互,另一方面,实验接入模块还接收客户端的测试数据,并根据具体的应用服务类型接入相应的接口,然后通过用户信息的输入产生相应的用户画像;或者,实验接入模块也可以直接接入外部处理好的用户画像信息。
实验指标分析模块主要用于对于实验接入系统接入的数据进行指标的分析,根据配置的指标的选择预设的计算方式进行指标计算,然后在得出运算结果后输入检验模型中进行检验,本申请中提供的检验模型包括固定样本的正态模型、固定样本的对数正态模型、卡方检验模型、MWU非参检验模型、Diff-in-Diff模型、非独立同分布模型、序列化检验模型、Interleaving模型、多臂老虎机模型或贝叶斯优化模型。
本申请实施例提供的方法可应用于输入检验模型这一过程中,相较于一般为单一的检验模型,本申请提供了多种检验模型同时运行的方法,并相应的对实验接入模块、交互模块以及程序接口API的相关模块进行调整,以实现多线程高扩展的检验过程。
可以理解的是,上述AB测试系统可以运行于个人移动终端,也可以运行于服务器,还可以作为运行于第三方设备以提供客户端实验数据与后台策略的快速迭代试错,以得出实验报告。
可以理解的是,本申请所提供的方法可以为一种程序的写入,以作为硬件系统中的一种处理逻辑,也可以作为一种对照数据测试装置,采用集成或外接的方式实现上述处理逻辑。作为一种实现方式,该对照数据测试装置通过获取预设检验模型配置并解析其中的多个检验模型;然后根据预设检验模型配置确定测试数据;并根据所述多个检验模型的类型确定检验计算方式,继而根据所述检验计算方式对所述测试数据进行检验模型计算,以得到检验结果。该过程中由于多种检验模型的配置,以及选取对应的测试数据所得到的测试结果可以很好应用于多种场景中,以满足不同场景下的检验需求,提高了检验过程的扩展性及灵活性。
结合上述系统架构,下面将对本申请中应用于对照测试系统中的对照数据测试方法进行介绍,请参阅图3,图3为本申请实施例提供的一种应用于对照测试系统中的对照数据测试方法的流程图,本申请实施例至少包括以下步骤:
301、获取第一检验模型的配置信息。
本实施例中,第一检验模型可以是一种检验模型也可以是多个检验模型的集合,其中多个检验模型可以是固定样本的正态模型、固定样本的对数正态模型、卡方检验模型、MWU非参检验模型、Diff-in-Diff模型、非独立同分布模型、序列化检验模型、Interleaving模型、多臂老虎机模型或贝叶斯优化模型中的多种,也可以是基于上述模型变化所得的相关模型。
可以理解的是,第一检验模型的配置信息的产生可以是由用户输入的,即用户在AB测试之前根据相关经验配置多种检验模型;预设检验模型配置的产生也可以是由系统自动生成的,即AB测试系统参照历史预设检验模型配置的记录,选取选择率较高的检验模型,或者,若AB测试预设了相关检验模型与指标的对应关系也可以自动生成。
302、若存在第二检验模型等待运行,则根据所述第一检验模型的配置信息与所述第二检验模型的配置信息生成对比信息。
本实施例中,第二检验模型为等待运行的检验模型,即可以是用户新加入的检验模型,也可以是系统自动规划的出第一检验模型之外的检验模型。在确定第二检验模型后,需要将其配置信息与第一检验模型进行对比,以指示AB测试系统进行相应的调整,其中,对比信息可以包括测试数据的差异或计算类型的差异。
由于AB测试过程中,测试数据一般是以一段时间的数据为一个数据集合进行相关的测试的,故测试数据可以是隔天获取,即每隔24小时获取一次测试数据和待测试的指标类型,例如:每天凌晨0点获取前一天一整天的测试数据;预设时间段也可以根据相关人员需求设定,具体的,设定的时间段可以是周期性的,也可是不规则性的,具体预设时间段因实际场景而定。
由于不同的检验模型需要特定的测试数据,以保证检验过程的准确性及稳定性,故可以根据预设检验模型配置确定测试数据,该测试数据为AB测试接入数据的子集或相同集合,具体场景因实际情况而定。
可以理解的是,测试数据可以采用数据表的形式,数据表可以来源于多个数据源,这些数据源可以是终端或终端相关服务模块,例如:后台、客户端等;数据源也可以是服务器,例如:云端服务器;对应的,测试数据可以是来自终端的后台log表、客户端log表,或来自服务器的待待测试程序的相关数据,例如:微信用户属性表、微信用户属性月表或看一看用户标签表。
对于对比信息中的计算方式的区别,由于不同的检验模型可能基于不同的计算方式,即有的检验模型可能是实时的检验过程,而有的检验模型可能是间隔式的检验过程;故需要根据所述多个检验模型的类型确定检验计算方式。
本实施例中提供的检验计算方式包括分布式计算和实时流计算,分布式计算即AB系统在收集一段时间的测试数据后统计整体数据的特征,例如MR计算,可以理解为大数据计算的过程;而实时流计算即AB系统对小流量样本的计算过程,可以以当前时刻进行检测计算。
例如有些模型需要实时流计算的模式,比如序列化检验模型,MAB模型。有些指标需要分布式MR的计算方式跨天级别计算指标,比如固定样本检验,MWU检验模型。
可以理解的是,上述检验计算方式可以分配不同的系统资源,即上述检验计算方式属于不同的运行逻辑中,故本申请提供的测试方法可以同时进行多线程的检验过程。
应当注意的是,虽然上述实施例仅说明了两种检验计算方法,但实际场景中可以根据实际需求添加多种检验计算方法或检验计算模型,即实现了检验模型的灵活配置及扩展操作。
303、通过所述目标接口接入所述对比信息,所述对比信息用于生成与所述第二检验模型对应的计算线程。
本实施例中,由于在AB测试系统中为多种检验模型的计算过程分配了不同的线程,且API可共用,故该计算过程可以同时进行。
具体的,若所述对比信息包括所述第一计算类型与所述第二计算类型不同,则在所述指标计算模块中增加与所述第二计算类型对应的计算线程,所述与所述第二计算类型对应的计算线程通过所述目标接口接入所述对照测试系统,即选择不同线程进行相应的配置并计算。
可选的,若所述对比信息包括所述第一计算类型与所述第二计算类型相同,则通过所述第一计算类型对应的计算线程计算所述第二计算类型,即选择同一线程的相同配置进行计算。
304、通过所述计算线程运行所述第二检验模型,以得到所述对照测试数据的的检验结果。
本实施例中,通过与第一检验模型共用API,并根据第二检验模型的计算方式确定对应的计算线程,可以得到使用第二检验模型计算的检验结果。
可以理解的是,由于存在第一检验模型和第二检验模型的计算过程,可以根据不同的检验模型得到的检验结果可以分列在交互模块中显示出来,并标记相关的计算过程,包括具体的检验模型、检验计算方法或所使用测试数据的时间段等。
结合上述实施例可知,通过获取第一检验模型的配置信息,若存在第二检验模型等待运行,则根据所述第一检验模型的配置信息与所述第二检验模型的配置信息生成对比信息,通过所述目标接口接入所述对比信息,以使得所述对照测试系统中的指标计算模块生成对应的计算线程;根据所述计算线程对所述第二检验模型进行计算,以得到检验结果。该过程中由于多种检验模型的配置,以及选取对应的测试数据所得到的测试结果可以很好应用于多种场景中,可以满足不同场景下的检验需求,提高了检验过程的扩展性及灵活性。
一般在AB测试中,指标的配置与相关的检验模型具有对应关系,而且在根据检验模型确定数据之后可能还会有其他对于测试的要求,可能需要筛选过程,下面,对该场景结合附图进行说明,如图4所示,图4为本申请实施例提供的另一种应用于对照测试系统中的对照数据测试方法的流程图,本申请实施例至少包括以下步骤:
401、确定待测试的指标信息。
在AB测试中,待测试的指标信息一般包括点击率、使用时长等,在本实施例中,待测试的指标类型也可以根据相关人员的需求设定,或根据待测程序的类型设定,例如:若程序为新闻类APP,则待测试的指标类型可以为点击率或浏览时长;若程序为游戏类APP,则待测试的指标类型可以为使用时长或流量峰值,具体的待测试的指标类型类型因实际场景而定,此处不做限定。
可以理解的是,待测试的指标信息的产生可以是由用户输入的,即用户在AB测试之前根据相关经验配置多种待测试的指标信息;待测试的指标信息的产生也可以是由系统自动生成的,即AB测试系统参照历史待测试的指标信息的记录,选取选择率较高的待测试的指标信息。
402、根据待测试的指标信息获取预设检验模型配置。
本实施例中,由于预设检验模型配置与待测试的指标信息具有对应关系。可以根据步骤401中获得的待测试的指标信息确定预设检验模型配置,其中,预设检验模型配置种包括多个检验模型,其中,多个检验模型可以是固定样本的正态模型、固定样本的对数正态模型、卡方检验模型、MWU非参检验模型、Diff-in-Diff模型、非独立同分布模型、序列化检验模型、Interleaving模型、多臂老虎机模型或贝叶斯优化模型中的多种,也可以是基于上述模型变化所得的相关模型。
可以理解的是,预设检验模型配置的产生可以是由用户输入的,即用户在AB测试之前根据相关经验配置多种检验模型;预设检验模型配置的产生也可以是由系统自动生成的,即AB测试系统参照历史预设检验模型配置的记录,选取选择率较高的检验模型,或者,若AB测试预设了相关检验模型与指标的对应关系也可以自动生成。
403、根据预设检验模型配置确定测试数据。
本实施例中,测试数据可以是隔天获取,即每隔24小时获取一次测试数据和待测试的指标类型,例如:每天凌晨0点获取前一天一整天的测试数据;预设时间段也可以根据相关人员需求设定,具体的,设定的时间段可以是周期性的,也可是不规则性的,具体预设时间段因实际场景而定。
由于不同的检验模型需要特定的测试数据,以保证检验过程的准确性及稳定性,故可以根据预设检验模型配置确定测试数据,该测试数据为AB测试接入数据的子集或相同集合,具体场景因实际情况而定。
可以理解的是,测试数据可以采用数据表的形式,数据表可以来源于多个数据源,这些数据源可以是终端或终端相关服务模块,例如:后台、客户端等;数据源也可以是服务器,例如:云端服务器;对应的,测试数据可以是来自终端的后台log表、客户端log表,或来自服务器的待待测试程序的相关数据,例如:微信用户属性表、微信用户属性月表或看一看用户标签表。
404、获取预设数据规则。
本实施例中,预设数据规则可以基于测试数据的特征来设定,该特征可以是人物的性别、年龄或爱好等用户画像中的用户标记,该特征也可以是样本的数量、品质或其他集合性样本的宏观特征。
下面结合具体的场景进行说明,如果实验采样人群有某些特殊要求,比如年龄大于24岁的女大学生,业务逻辑可以读取实验系统画像的Cookie信息,一起传入API,API会随机采样的流量可以保证满足过滤条件,这些用户实验画像可以通过实验接入模块写入实验系统。
在另一种场景中,如果用户需要严格控制实验人数,比如最多10万用户参与实验,可以通过accurateSvr模块把人数限制同步到cookie中,API采样时不会大于这个人数限制。
405、获取满足所述预设规则的测试数据。
本实施例中,根据步骤404中的预设数据规则对测试数据进行筛选,得到满足预设规则的测试数据,可以理解的是,筛除的测试数据可以储存到备用的数据库中,待下一测试周期时调用。
406、根据所述多个检验模型的类型确定检验计算方式。
本实施例中,由于不同的检验模型可能基于不同的计算方式,即有的检验模型可能是实时的检验过程,而有的检验模型可能是间隔式的检验过程;故需要根据所述多个检验模型的类型确定检验计算方式。
本实施例中提供的检验计算方式包括分布式计算和实时流计算,分布式计算即AB系统在收集一段时间的测试数据后统计整体数据的特征,例如MR计算,可以理解为大数据计算的过程;而实时流计算即AB系统对小流量样本的计算过程,可以以当前时刻进行检测计算。
例如有些模型需要实时流计算的模式,比如序列化检验模型,MAB模型。有些指标需要分布式MR的计算方式跨天级别计算指标,比如固定样本检验,MWU检验模型。
可以理解的是,上述检验计算方式可以分配不同的系统资源,即上述检验计算方式属于不同的运行逻辑中,故本申请提供的测试方法可以同时进行多线程的检验过程。
应当注意的是,虽然上述实施例仅说明了两种检验计算方法,但实际场景中可以根据实际需求添加多种检验计算方法或检验计算模型,即实现了检验模型的灵活配置及扩展操作。
407、根据所述检验计算方式对所述测试数据进行检验模型计算,以得到检验结果。
本实施例中,由于多种检验模型的计算过程属于不同的线程,且API可共用,故该计算过程可以同时进行。
根据不同的检验模型得到的检验结果可以分列在交互模块中显示出来,并标记相关的计算过程,包括具体的检验模型、检验计算方法或所使用测试数据的时间段等。
结合上述实施例可知,通过获取预设检验模型配置并解析其中的多个检验模型;然后根据预设检验模型配置确定测试数据,并根据预设数据规则对数据进行相关筛选,根据所述多个检验模型的类型确定检验计算方式,继而根据所述检验计算方式对所述测试数据进行检验模型计算,以得到检验结果。该过程中由于多种检验模型的配置,以及选取对应的测试数据所得到的测试结果可以很好应用于多种场景中,以满足不同场景下的检验需求,提高了检验过程的扩展性及灵活性。
上述实施例介绍了多种检验模型多线程运行以及相关数据的筛选过程,可以理解的是,在实际场景中,可能出现在默认模型运行时添加相关检验模型的过程,即其他检验模型正在运行,此时需要添加新的检验模型,可以称之为热插拔的过程,图3所示的实施例介绍了加入新模型的方法,下面结合图2所示的AB测试系统架构图对个模块之间的交互过程进行说明,具体的,可参照图5所示的流程,图5为本申请实施例提供的一种热插拔检测模型流程图,当用户需要插入新的多种实验模型时,结合图2所示的AB测试系统架构图,首先用户需要配置UserConfig完成多种实验模型的实验,并将相关的配置信息发送至配置服务ConfigServer,此时,默认模型按照自身的计算配置MetricConfig进行计算,并根据相应的模型计算类型选择实时计算Spark Streaming或分布计算Spark MR;当新接入模型时,首先查看其对应的接口配置APIConfig,本申请中指出的检测模型均支持相同的API,故可以进行API的复用,对于新接入的模型的类型选择对应的计算方式,若为实时计算方式,则通过API直接输入相关计算模块,若为分布计算模型,则将相关数据以数据表的形式缓存,待预设的时刻对缓存时段内的数据进行分布式计算。综上即可进行默认模型与新加入模型的多模型计算过程,并分别得到相应的实验结果。
下面结合一种具体的模型进行说明,即在默认模型运行时添加多臂老虎机模型为例对该过程进行说明。
如图6所示,是本申请实施例提供的一种添加检验模型的流程示意图。结合图2所示的AB测试系统架构图,AB测试系统在添加多臂老虎机模型的过程中,会涉及交互模块、程序接口API以及实验指标分析模块的相关调整,具体的,在交互模块中会添加MAB的实验配置,该过程与默认实验配置即正在运行的检验模型并不影响;然后,由于MAB实验接入和普通固定样本数实验相同,故API不需要适配,可以使用默认接口;对于实验指标分析模块,由于多臂老虎机模型适用于实时流计算,故增加一个实时流指标,并且进行实时流模型算法,该过程与默认计算流程属于不同的线程,不会相互影响;通过上述模块的调整即实现了热插拔的过程。
可以理解的是,在热插拔的过程中,AB系统可以抽象出和统计模型无关的模块,例如流量分配模块、用户画像模块、指标存储模块、客户端接入模块等,并保持这些模块按照预设线程运行。
上述实施例与用户的交互过程可以通过图7的方式实现,在一种可能的显示方式中,可以采用如图7所述的显示方式,图7为本申请实施例提供的一种AB测试的界面显示示意图。该界面可以包括多个测试的列表,即测试1、测试2;还包括对应测试项目的具体参数;用户可以点击详情按钮查询各个测试流程所使用的检验模型以及相对应的检验计算方式。
为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关装置。请参阅图8,图8为本申请实施例提供的对照数据测试装置的结构示意图,对照数据测试装置800包括:
获取单元801,用于获取第一检验模型的配置信息,所述第一检验模型为当前对对照测试数据进行对照测试所用的检验模型,所述第一检验模型通过目标接口接入所述对照测试系统;
对比单元802,用于若存在第二检验模型等待运行,则根据所述第一检验模型的配置信息与所述第二检验模型的配置信息生成对比信息,所述对比信息基于所述对照测试数据的区别或计算类型的区别确定,所述计算类型包括实时流计算或分布式计算;
接入单元803,用于通过所述目标接口接入所述对比信息,所述对比信息用于生成与所述第二检验模型对应的计算线程;
计算单元804,用于通过所述计算线程运行所述第二检验模型,以得到所述对照测试数据的的检验结果。
优选的,在本申请一些可能的实现方式中,所述获取单元801,具体用于确定所述第一检验模型对应的检验指标;
所述获取单元801,具体用于根据所述检验指标获取第一测试数据,所述第一测试数据用于指示所述检验指标在所述对照测试数据对应的数据;
所述获取单元801,具体用于根据所述第一测试数据确定第一计算类型,以得到所述第一检验模型的配置信息。
优选的,在本申请一些可能的实现方式中,所述对比单元802,具体用于获取所述第二检验模型的第二测试数据,所述第二测试数据用于指示运行所述第二检验模型所需的数据;
所述对比单元802,具体用于根据所述第二测试数据确定第二计算类型,并结合所述第一计算类型生成对比信息。
优选的,在本申请一些可能的实现方式中,所述接入单元803,具体用于若所述对比信息指示所述第一计算类型与所述第二计算类型不同,则在所述指标计算模块中增加与所述第二计算类型对应的计算线程,所述与所述第二计算类型对应的计算线程通过所述目标接口接入所述对照测试系统。
优选的,在本申请一些可能的实现方式中,所述接入单元803,还用于若所述对比信息指示所述第一计算类型与所述第二计算类型相同,则通过所述第一计算类型对应的计算线程计算所述第二计算类型。
优选的,在本申请一些可能的实现方式中,其特征在于,所述计算单元804,具体用于根据所述第二检验模型的计算类型确定测试时间段;
所述计算单元804,具体用于在所述测试时间段内根据所述计算线程对所述第二检验模型进行计算。
优选的,在本申请一些可能的实现方式中,所述第一检验模型和所述第二检验模型包括:固定样本的正态模型、固定样本的对数正态模型、卡方检验模型、MWU非参检验模型、Diff-in-Diff模型、非独立同分布模型、序列化检验模型、Interleaving模型、多臂老虎机模型或贝叶斯优化模型。
通过获取预设检验模型配置并解析其中的多个检验模型;然后根据预设检验模型配置确定测试数据;并根据所述多个检验模型的类型确定检验计算方式,继而根据所述检验计算方式对所述测试数据进行检验模型计算,以得到检验结果。该过程中由于多种检验模型的配置,以及选取对应的测试数据所得到的测试结果可以很好应用于多种场景中,以满足不同场景下的检验需求,提高了检验过程的扩展性及灵活性。
本申请实施例还提供了一种对照数据测试装置,请参阅图9,图9是本申请实施例提供的另一种对照数据测试装置的结构示意图,该对照数据测试装置900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对对照数据测试装置中的一系列指令操作。更进一步地,中央处理器922可以设置为与存储介质930通信,在对照数据测试装置900上执行存储介质930中的一系列指令操作。
对照数据测试装置900还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口958,和/或,一个或一个以上操作系统941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由对照数据测试装置所执行的步骤可以基于该图9所示的对照数据测试装置结构。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有对照数据测试指令,当其在计算机上运行时,使得计算机执行如前述图2至图5所示实施例描述的方法中对照数据测试装置所执行的步骤。
本申请实施例中还提供一种包括对照数据测试指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图2至图5所示实施例描述的方法中对照数据测试装置所执行的步骤。
本申请实施例还提供了一种应用于对照测试系统中的对照数据测试方法系统,所述应用于对照测试系统中的对照数据测试方法系统可以包含图8所描述实施例中的对照数据测试装置,或者图9所描述的对照数据测试装置。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,对照数据测试装置,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-onlymemory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种应用于对照测试系统中的对照数据测试方法,其特征在于,包括:
获取第一检验模型的配置信息,所述第一检验模型为当前对对照测试数据进行对照测试所用的检验模型,所述第一检验模型通过目标接口接入所述对照测试系统;
若存在第二检验模型等待运行,则根据所述第一检验模型的配置信息与所述第二检验模型的配置信息生成对比信息,所述对比信息基于所述对照测试数据的区别或计算类型的区别确定,所述计算类型包括实时流计算或分布式计算;
通过所述目标接口接入所述对比信息,所述对比信息用于生成与所述第二检验模型对应的计算线程;
通过所述计算线程运行所述第二检验模型,以得到所述对照测试数据的的检验结果。
2.根据权利要求1所述的方法,其特征在于,所述获取第一检验模型的配置信息,包括:
确定所述第一检验模型对应的检验指标;
根据所述检验指标获取第一测试数据,所述第一测试数据用于指示所述检验指标在所述对照测试数据对应的数据;
根据所述第一测试数据确定第一计算类型,以得到所述第一检验模型的配置信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一检验模型的配置信息与所述第二检验模型的配置信息生成对比信息,包括:
获取所述第二检验模型的第二测试数据,所述第二测试数据用于指示运行所述第二检验模型所需的数据;
根据所述第二测试数据确定第二计算类型,并结合所述第一计算类型生成对比信息。
4.根据权利要求3所述的方法,其特征在于,所述通过所述目标接口接入所述对比信息,以使得所述对照测试系统中的指标计算模块生成对应的计算线程,包括:
若所述对比信息指示所述第一计算类型与所述第二计算类型不同,则在所述指标计算模块中增加与所述第二计算类型对应的计算线程,所述与所述第二计算类型对应的计算线程通过所述目标接口接入所述对照测试系统。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述对比信息指示所述第一计算类型与所述第二计算类型相同,则通过所述第一计算类型对应的计算线程计算所述第二计算类型。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述根据所述计算线程对所述第二检验模型进行计算,包括:
根据所述第二检验模型的计算类型确定测试时间段;
在所述测试时间段内根据所述计算线程对所述第二检验模型进行计算。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述第一检验模型和所述第二检验模型包括:固定样本的正态模型、固定样本的对数正态模型、卡方检验模型、MWU非参检验模型、Diff-in-Diff模型、非独立同分布模型、序列化检验模型、Interleaving模型、多臂老虎机模型或贝叶斯优化模型。
8.一种应用于对照测试系统中的对照数据测试装置,其特征在于,包括:
获取单元,用于获取第一检验模型的配置信息,所述第一检验模型为当前对对照测试数据进行对照测试所用的检验模型,所述第一检验模型通过目标接口接入所述对照测试系统;
对比单元,用于若存在第二检验模型等待运行,则根据所述第一检验模型的配置信息与所述第二检验模型的配置信息生成对比信息,所述对比信息基于所述对照测试数据的区别或计算类型的区别确定,所述计算类型包括实时流计算或分布式计算;
接入单元,用于通过所述目标接口接入所述对比信息,所述对比信息用于生成与所述第二检验模型对应的计算线程;
计算单元,用于通过所述计算线程运行所述第二检验模型,以得到所述对照测试数据的的检验结果。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器以及存储器:
所述存储器用于存储程序代码;所述处理器用于根据所述程序代码中的指令执行权利要求1至7任一项所述的应用于对照测试系统中的对照数据测试方法。
10.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述权利要求1至7所述的应用于对照测试系统中的对照数据测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910732500.7A CN112346962A (zh) | 2019-08-09 | 2019-08-09 | 一种应用于对照测试系统中的对照数据测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910732500.7A CN112346962A (zh) | 2019-08-09 | 2019-08-09 | 一种应用于对照测试系统中的对照数据测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112346962A true CN112346962A (zh) | 2021-02-09 |
Family
ID=74367495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910732500.7A Pending CN112346962A (zh) | 2019-08-09 | 2019-08-09 | 一种应用于对照测试系统中的对照数据测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112346962A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799971A (zh) * | 2021-04-09 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、设备以及计算机可读存储介质 |
-
2019
- 2019-08-09 CN CN201910732500.7A patent/CN112346962A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799971A (zh) * | 2021-04-09 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、设备以及计算机可读存储介质 |
CN112799971B (zh) * | 2021-04-09 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、设备以及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ding et al. | Log2: A cost-aware logging mechanism for performance diagnosis | |
Zhang et al. | Treadmill: Attributing the source of tail latency through precise load testing and statistical inference | |
CN106294120B (zh) | 测试代码的方法、设备和计算机程序产品 | |
US8818787B2 (en) | Method and system for predicting performance of software applications on prospective hardware architecture | |
EP3296876A1 (en) | Systems and methods for predicting performance of applications on an internet of things (iot) platform | |
Subraya et al. | Object driven performance testing of Web applications | |
CN106055464B (zh) | 数据缓存集群压力测试装置及方法 | |
US10411969B2 (en) | Backend resource costs for online service offerings | |
JP2016100006A (ja) | パフォーマンス試験のためのベンチマーク・アプリケーションを生成する方法および装置 | |
Minet et al. | Analyzing traces from a google data center | |
Bodik | Automating datacenter operations using machine learning | |
US11307957B2 (en) | Systems and methods for determining optimal cost-to-serve for cloud applications in the public cloud | |
Stauffert et al. | Towards comparable evaluation methods and measures for timing behavior of virtual reality systems | |
Liu | Research of performance test technology for big data applications | |
Han et al. | Benchmarking big data systems: State-of-the-art and future directions | |
Röck et al. | Performance Benchmarking of BPEL Engines: A Comparison Framework, Status Quo Evaluation and Challenges. | |
CN112346962A (zh) | 一种应用于对照测试系统中的对照数据测试方法及装置 | |
US11138086B2 (en) | Collecting hardware performance data | |
Hasnain et al. | Simulated dataset collection method of dynamic quality of services (QoS) metrics | |
CN114490375A (zh) | 应用程序的性能测试方法、装置、设备及存储介质 | |
CN113127356A (zh) | 压测方法、装置、电子设备及存储介质 | |
CN112506565A (zh) | 处理器微体系结构事件的重要性确定方法、介质和设备 | |
CN106855840B (zh) | 一种系统cpu分析方法和装置 | |
CN111062681A (zh) | 选课巡检方法、装置、服务器及存储介质 | |
CN110928750A (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 |