一种测试方法及装置与流程

文档序号:11407044阅读:150来源:国知局
一种测试方法及装置与流程

本申请涉及测试技术领域,尤其涉及一种测试方法及装置。



背景技术:

在网站、应用(application,app)等产品的开发过程中,对所开发出的产品进行测试是必不可少的环节。

目前可以基于a/b测试(a/btesting)来对产品进行测试。在a/b测试的过程中,通常将待测试页面或者待测试页面上的某一部分作为测试指标,针对该测试指标设计出多个并行页面,然后将访问待测试页面的全部用户分别分配到这些并行页面上,并进一步的统计用户对各个并行页面的使用情况,从而确定最优的并行页面。

现实产品中通常会包括多个页面,使得新版本相对于原有版本可能会有多个测试指标需要进行改进。在有多个测试指标的情况下,可以针对各个测试指标分别进行a/b测试,从而确定这些测试指标分别对应的最优并行页面,然后直接这些最优并行页面相结合得到最终测试结果。但是,在有多个测试指标的情况下,这种直接将多个最优并行页面结合所得到的最终测试结果,通常准确性较低。



技术实现要素:

本申请实施例提供一种测试方法及装置,能够提高测试的准确定。

本申请实施例提供了一种测试方法,该方法包括:

创建测试桶,所述测试桶中包括多个测试层,每个测试层对应至少一个测试指标;

对测试桶的各测试层对应的测试指标分别进行a/b测试,用于确定各所述测试指标分别对应的待选并行页面;

创建新测试桶,并对所述新测试桶的各测试层中的测试指标分别重新进行a/b测试,用于确定各所述测试指标分别对应的新待选并行页面,直至满足循环终止条件,其中,新测试桶与测试桶具有相同的测试层,对测试指标重新进行a/b测试时的并行页面中包括所述测试指标所对应的待选并行页面;

确定测试桶以及新测试桶的最终转化率,用于确定最终测试结果。

优选地,创建测试桶,具体包括:

根据待测产品中页面的排布顺序生成与待测产品页面数量相同的测试层,其中所述待测产品至少包括两个页面;

将待测产品的各个页面分别作为测试指标,用于在对应测试层中进行a/b测试;

基于所生成的各个测试层创建所述测试桶,所述测试桶中包括各所述测试层。

优选地,对测试桶的各测试层对应的测试指标分别进行a/b测试,具体包括:

通过所分配的预设比例的测试用户,对测试桶的各测试层对应的测试指标分别进行a/b测试。

优选地,所述循环终止条件,具体为如下任意一种:

全部测试用户均已分配用于进行a/b测试;

剩余测试用户的比例小于或等于预设最小比例。

优选地,确定各所述测试指标分别对应的新待选并行页面,具体包括:

将各所述测试指标分别作为当前测试指标,根据测试桶以及新测试桶中,针对所述当前测试指标进行的a/b测试,确定各个并行页面的转化率;

将转化率最高的并行页面确定为所述当前测试指标的新待选并行页面。

优选地,确定最终测试结果,具体包括:

根据测试桶以及新测试桶的最终转化率的大小,确定待选测试桶;

根据所述待选测试桶中的a/b测试所确定出的各待选并行页面,确定最终测试结果。

优选地,对测试指标重新进行a/b测试时的并行页面中包括所述测试指标所对应的待选并行页面,具体为:

对测试指标重新进行a/b测试时的并行页面中具体包括,所述测试指标所对应的待选并行页面以及所述测试指标对应的原有页面。

本申请实施例还提供了一种测试装置,该装置包括:第一创建单元、a/b测试单元、第二创建单元以及结果确定单元,其中:

第一创建单元,创建测试桶,所述测试桶中包括多个测试层,每个测试层对应至少一个测试指标;

a/b测试单元,对测试桶的各测试层对应的测试指标分别进行a/b测试,用于确定各所述测试指标分别对应的待选并行页面;

第二创建单元,创建新测试桶,并对所述新测试桶的各测试层中的测试指标分别重新进行a/b测试,用于确定各所述测试指标分别对应的新待选并行页面,直至满足循环终止条件,其中,新测试桶与测试桶具有相同的测试层,对测试指标重新进行a/b测试时的并行页面中包括所述测试指标所对应的待选并行页面;

结果确定单元,确定测试桶以及新测试桶的最终转化率,用于确定最终测试结果。

优选地,根据测试桶以及新测试桶中,各测试层对应的测试指标的a/b测试结果,确定最终测试结果,具体包括:

根据测试桶以及新测试桶的最终转化率的大小,确定待选测试桶;

根据所述待选测试桶中的a/b测试所确定出的各待选并行页面,确定最终测试结果。

优选地,创建测试桶,具体包括:

根据待测产品中页面的排布顺序生成与待测产品页面数量相同的测试层,其中所述待测产品至少包括两个页面;

将待测产品的各个页面分别作为测试指标,用于在对应测试层中进行a/b测试;

基于所生成的各个测试层创建所述测试桶,所述测试桶中包括各所述测试层。

本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:

采用本申请实施例所提供的测试方法,对创建的测试桶的各测试层对应的测试指标分别进行a/b测试,从而确定各测试指标分别对应的待选并行页面,然后创建新测试桶,并对在新测试桶的各个测试层中对各测试指标分别重新进行a/b测试,从而确定各测试指标分别对应的新待选并行页面,直至满足循环终止条件时确定最终测试结果,由于对测试指标重新进行a/b测试时的并行页面中包括测试指标所对应的待选并行页面,因此通过这种不断地循环测试,所确定出的最终测试结果准确性较高,解决了现有技术中的问题。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例提供的一种测试方法的具体实现流程示意图;

图2为本申请实施例提供的一种测试用户分配示意图;

图3为本申请实施例提供的另一种测试用户分配示意图;

图4为本申请实施例提供的测试方法,在实际应用中的具体示例的实现流程示意图;

图5为本申请实施例提供的一种测试装置的具体结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

以下结合附图,详细说明本申请各实施例提供的技术方案。

如上所述,现有的产品通常会包括多个页面,因此使得新版本相对于原有版本可能会有多个测试指标需要改进。现有技术在有多个测试指标的情况下,可以分别针对它们进行a/b测试,从而得到与各个测试指标对应的最优并行页面,然后将这些最优并行页面组合得到最优版本。然而,由于产品各个测试指标之间可能会相互影响,导致最终测试结果准确性较低。

比如,用于网上购物的app往往会有商品信息页面、订单提交页面和支付页面等多个页面,在发布新版本时,可能需要将这些页面分别作为测试指标进行a/b测试,从而能够确定出与测试指标对应的最优并行页面,并将它们组合得到最优版本作为所发布的新版本。但是,由于各个测试指标之间可能会有相互的影响,使得这种最优并行版本的简单组合可能会影响测试的准确性。

基于此,本申请实施例提供了一种测试方法,能够用于解决现有技术中的问题。为了便于对本申请实施例进行理解,下面可以先就本申请实施例中所涉及到的概念进行说明.

子试验:指a/b测试,对一个测试指标通过试验对比的方式,从针对该测试指标的多个并行页面中找出最优的并行页面(下面将该最优的并行页面称之为待选并行页面)。

父试验:包含多个子试验,并且可以在测试过程中动态创建新的子试验和测试桶。

测试层:同一测试层中可以有一个或多个子试验,且各个子试验之间测试用户互斥,即测试用户1若参加了同一测试层的子试验a,则不会再参加该测试层的另外一个子试验a。并且,同一个子试验只可以存在于一个测试层中。

测试桶:测试桶在纵向从若干个测试层中分割出来,测试桶内的包括多个测试层,每一层都可以有一个或多个子试验。对于一个测试用户来说,他能够参加所属的测试桶的各个测试层上的子试验,而不能参加桶外子试验。

该测试方法的具体流程示意图如图1所示,包括下述步骤:

步骤11:创建测试桶。

所创建的测试桶中包括多个测试层,并且每个测试层对应至少一个测试指标。

比如,测试桶中包括3个测试层,分别为测试层1、测试层2和测试层3,测试层1对应测试指标a,测试层2对应测试指标b,测试层3对应测试指标c和d。

在实际应用中,当待测试的产品有多个页面时,每一个页面可以生成对应的一个或多个测试指标,比如可以将每一个页面分别作为测试指标,也可以从每一个页面中确定出一部分(比如,页面的颜色、页面中的图标、页面文字大小等)作为测试指标,也可以将两者相结合,将其中一部分页面作为测试指标,将另一部分页面中的一部分作为测试指标。比如,对于用于网上购物的app(称之为,网购app)往往会有商品信息页面、订单提交页面和支付页面等,可以将这三个页面均作为测试指标,从而确定三个测试指标。另外,如果产品有多个页面,也可以将其中的部分页面或页面的一部分作为测试指标。比如,上述的网购app,可以只将商品信息页面和订单提交页面作为测试指标。

另外,产品的多个页面会有一定的排布顺序,比如上述的网购app的商品信息页面在订单提交页面之前,订单提交页面在支付页面之前,可以通过商品信息页面进入订单提交页面,然后从订单提交页面进入支付页面。

因此创建包含多个测试层的测试桶时,可以先根据待测产品中的页面数量生成与该页面数量相同测试层,然后将该待测产品中的各个页面均作为测试指标,并将各个测试指标依照待测产品中页面的排布顺序放入对应的测试层中,用于在对应的测试层中进行a/b测试;最后基于所生成的各个测试层创建该测试桶,此时,该测试桶中包括上述所生成的各个测试层,每一个测试层中对应一个测试指标。

比如,待测产品中包括3个页面,相应的可以生成3个测试层,然后将3个页面均作为测试指标,并将测试指标根据页面的排布顺序放入相应的测试层中,在相应的测试层中进行a/b测试,之后根据这些测试层创建测试桶,该测试桶中包括上述的3个测试层,各个测试层分别对应一个测试指标。

当然,如果根据待测产品某一个页面生成了多个测试指标(比如,页面中的多个图标分别作为测试指标),可以将该页面所生成的测试指标均放入对应的测试层中,此时该测试层对应多个测试指标。

在实际创建测试桶的过程中,通常可以通过应用程序先构建漏斗模型,然后在该漏斗模型中生成所需要的测试层,并将测试指标放入对应的测试层中。

步骤s12:对测试桶的各测试层中的测试指标分别进行a/b测试。

在实际应用中,可以从全部测试用户(也称之为总测试用户)中分配出预设比例的测试用户,用于对测试桶的各测试层中的测试指标分别进行a/b测试。其中,该预设比例可以根据总测试用户总数量等实际情况进行确定,通常该预设比例可以为5%,也可以为6%、10%或者其他值。也就是说,可以通过所分配的预设比例的测试用户,对测试桶的各测试层中的测试指标分别进行a/b测试。

实际应用中,产品的新版本通常会基于原有版本进行改进,因此新版本的测试需要与原有版本进行对比,在对某个测试指标进行a/b测试时所使用到的并行页面中,可以包括原有版本中该测试指标对应的页面(称之为原有页面)。

比如,产品有三个页面,将这三个页面均作为测试指标,称之为a1、a2,原有版本中的三个原有页面分别为a1、a2;对a1进行a/b测试时,所使用到的并行页面中包括a1,同时也可以包括针对a1所设计的多个新页面;对a2进行a/b测试时,所使用到的并行页面中包括a2,以及针对a2所设计的多个新页面。

测试指标进行a/b测试时,所使用到的并行页面中包括对应的原有页面,通过新页面与原有页面的对比,能够确定新版本是否具有改进效果。

在通过所分配的预设比例的测试用户,对各个测试指标分别进行a/b测试时,对于该预设比例的测试用户如何用于对这些测试指标进行测试,测试用户的进一步分配可以有多种方式,下面可以列举其中的几种:

方式一,将该预设比例的测试用户进一步分成多个部分,每一部分分别用于对一个测试指标进行a/b测试。如图2所示,测试桶中包括三个测试层,分别为测试层1、测试层2和测试层3,测试层1对应测试指标a,测试层2对应测试指标b,测试层3对应测试指标c,将该预设比例的测试用户分成了三个部分,分别用于对三个测试指标进行a/b测试。这种方式将该预设比例的测试用户分成多个部分,使得可以同时对各个测试指标进行a/b测试,总的测试用时较少。

方式二,将该预设比例的测试用户依照测试层的排布顺序,先对第一个测试层中的测试指标进行a/b测试,将该预设比例的测试用户中通过第一个测试层的测试用户,对第二个测试层中的测试指标进行a/b测试,并依此对后面测试层中的测试指标进行a/b测试。

如图3所示,测试桶中包括三个测试层,分别为测试层1、测试层2和测试层3,测试层1对应测试指标a,测试层2对应测试指标b,测试层3对应测试指标c;该预设比例的测试用户先在对测试层1中的测试指标a进行a/b测试,将通过该a/b测试的测试用户,进一步的对测试层2中的测试指标b进行a/b测试,并依次对后面的测试层3中的测试指标c进行a/b测试。这种方式充分考虑各测试层中测试指标之间的相互影响,能够提高测试的准确性。

步骤s13:根据a/b测试的结果确定各测试指标分别对应的待选并行页面。

在实际应用过程中,当需要针对某一个待测产品进行测试时,可以针对该该待测产品创建一个父实验,然后在该父实验下创建测试桶,向该测试桶分配预设比例(比如5%)的测试用户,通过该预设比例的测试用户对测试桶中第一个测试层的测试指标进行a/b测试,并根据假设检验等统计学方法确定第一个测试层的各个测试指标的待选并行页面;同时将通过第一个测试层的测试用户,对第二个测试层的测试指标进行a/b测试,并根据假设检验等统计学方法确定第二个测试层的各个测试指标的待选并行页面;依次类推来确定后续各个测试层的测试指标的待选并行页面。

因此,根据a/b测试的结果确定各个测试指标分别对应的待选并行页面时,可以将各个测试指标分别作为当前测试指标,然后根据假设检验等统计学方法确定该当前测试指标的待选并行页面。

其中,根据假设检验确定当前测试指标的待选并行页面时,可以依次假设对当前测试指标进行a/b测试的各个并行页面为待选并行页面,然后分别对这些假设进行验证。

验证某个假设是否成立的方式,可以是计算对应的并行页面的转化率,然后判断该转化率是否大于其他并行页面的转化率,若是则假设成立,反之假设不成立。其中,某个并行页面的转化率由访问该并行页面的测试用户数量,和通过该并行页面进入下一测试层的测试用户数量计算得到。当然,对假设进行验证的方式,也可以是通过p值或者置信区间进行验证,这里就不再一一说明。

此时,根据a/b测试的结果确定各个测试指标分别对应的待选并行页面,可以是,将各个测试指标分别作为当前测试指标,根据当前测试指标的a/b测试确定该a/b测试中各个并行页面的转化率,将转化率最高的并行页面确定为所述当前测试指标的待选并行页面。

步骤s14:创建新测试桶。

该新测试桶与测试桶具有相同的测试层,也就是说新测试桶与测试桶的测试层的数量相同,并且各个测试层所对应的测试指标与测试桶也相同。

比如,测试桶中包括3个测试层,分别为测试层1、测试层2和测试层3,测试层1对应测试指标a,测试层2对应测试指标b,测试层3对应测试指标c和d;则所创建的新测试桶也包括3个测试层,分别为测试层1、测试层2和测试层3,测试层1对应测试指标a,测试层2对应测试指标b,测试层3对应测试指标c和d。

这里创建新测试桶的方式可以与创建测试桶的方式相同,这里就不再赘述。

步骤s15:对新测试桶的各测试层中的测试指标分别重新进行a/b测试。

步骤s16:确定各测试指标分别对应的新待选并行页面。

这里可以对步骤s15和步骤s16作整体分析。

需要特别说明的是,在步骤s15中,对某个测试指标重新进行a/b测试时的并行页面中包括,该测试指标所对应的待选并行页面。将该待选并行页面作为重新进行a/b测试的并行页面,与其他的并行页面再次进行a/b测试,从而重新确定新待选并行页面。另外,这里其他的并行页面可以包括原有页面,也可以包括针对该测试指标重新设计出的新页面。

比如,某个测试指标在通过步骤s12和步骤s13确定待选并行页面,在步骤s15中重新对该测试指标进行a/b测试时,所使用到的并行页面中包括该待选并行页面,也可以包括原有页面,以及针对该测试指标重新设计的新页面等。

当然,在确定对测试指标重新进行a/b测试时,所使用的并行页面之后,在步骤s15中对该测试指标重新进行a/b测试,可以采用与步骤s12相同的方式,这里就不再一一说明。

步骤s16确定各测试指标分别对应的新待选并行页面,也可以采用与步骤s13相同的方式,通过新测试桶中,各个测试层的测试指标的a/b测试结果,从而确定各个测试指标分别对应的新待选并行页面,这种方式只是通过新测试桶中的a/b测试确定待选并行页面,在实施过程中测试量较少。

当然,实际应用中,在步骤s13确定各个测试指标的待选并行页面之后,还可以通过测试桶对测试指标继续保持a/b测试,因此,步骤s16确定各测试指标分别对应的新待选并行页面时,可以结合测试桶以及新测试桶,从而确定新待选并行页面。通常可以将各测试指标分别作为当前测试指标,根据测试桶以及新测试桶中,针对当前测试指标进行的a/b测试,确定该当前测试指对应的各个并行页面的转化率,然后将转化率最高的并行页面确定为当前测试指标的新待选并行页面。这种确定新待选并行页面的方式,结合了测试桶以及新测试桶的a/b测试,通常准确率较高。

步骤s17:判断是否满足循环终止条件,若否,则执行重新步骤s14,若是,则执行步骤s18。

这里所说的循环终止条件可以根据实际情况来确定,比如当出现最终转化率大于预设最小转化率的新测试桶时,可以终止循环;这种情况下,可以预设一个最小转化率(比如20%或者其他值),在循环过程中,当某个新测试桶的最终转化率大于该最小转化率时,说明已完成测试目标,可以终止循环。其中,某个新测试桶的最终转化率,可以根据该新测试桶的总测试用户数量(n标识),和最终通过该新测试桶各个测试层的测试用户数量(n表示)来确定。比如,通常可以将n/n作为最终转化率,当然也可以将n/n进行归一化处理或者其他方式的修正后,作为最终转化率。

当循环的结果趋于稳定时,也可以终止循环。比如,当连续两个新测试桶(称之为t1和t2)中,t1各个测试层的测试指标分别对应的待选并行页面,与t2各个测试层的测试指标分别对应的待选并行页面相比,重复率超过最小值时,说明循环结果趋于稳定,可以终止循环。

当然,在实际应用中,也可以根据测试用户的数量来终止循环。比如,对测试桶以及新测试桶进行测试时,每次分配预设比例(比如,5%)的测试用户;此时,在步骤s12中通过所分配的预设比例的测试用户,对测试桶的各测试层中的测试指标分别进行a/b测试,并且在步骤s15中,也通过所分配的预设比例的测试用户,对新测试桶的各测试层中的测试指标分别重新进行a/b测试。此时,循环总之条件可以是,全部测试用户均已分配至各个测试桶(包括测试桶以及新测试桶)中用于进行a/b测试,也可以是剩余测试用户的比例小于或等于预设最小比例。其中该预设最小比例可以是50%或者其他值,比如,剩余测试用户的比例小于或等于50%时,可以终止循环。

在实际应用中,如果不满足循环终止条件,则通过重复执行步骤s14,再次创建新测试桶,并重新针对各个测试指标进行a/b测试,和重新确定新待选并行页面。通常再次创建新测试桶之后,之前的各个测试桶可以继续针对测试指标进行a/b测试,在本次循环过程中,在确定某个测试指标对应的待选并行页面时,可以结合该新测试桶以及之前的各个测试桶中,针对该测试指标的全部a/b测试结果,确定待选并行页面,由于综合考虑a/b测试较多,通常所确定出的待选并行页面准确性较高。

步骤s18:确定测试桶以及新测试桶的最终转化率,用于确定最终测试结果。

由于整个测试过程可能循环创建了多个测试桶,并在每个测试桶中对测试指标分别进行了a/b测试,因此当循环终止之后,可以根据这些测试桶中,各个测试层对应的测试指标的a/b测试结果,来确定最终测试结果。

在确定最终测试结果时,可以先根据各测试指标的a/b测试结果,来确定各个测试桶的最终转化率,然后将最终转化率最高的测试桶确定为待选测试桶,在确定待选测试桶之后,可以确定待选测试桶中,各个测试层对应的测试指标的a/b测试,所确定出的各新待选并行页面,并根据这些新待选并行页面来确定最终测试结果。

比如,在循环测试的过程中创建了测试桶1、测试桶2和测试桶3,这些测试桶均有2个测试层,分别为测试层a和测试层b,其中测试层a对应测试指标a,测试层b对应测试指标b。

在循环终止后,确定测试桶1、测试桶2和测试桶3的最终转化率分别为17%、32%和19%;测试桶2的最终转化率最高,可以将测试桶2作为待选测试桶。确定测试桶2中,测试层a对应的测试指标a的a/b测试所确定出的新待选并行页面,以及测试层b对应的测试指标b的a/b测试所确定出的新待选并行页面,并根据这两个新待选并行页面确定最终测试结果。

根据这两个新待选并行页面确定最终测试结果,可以是将这两个新待选并行页面作为最终测试结果,也可以是对其进一步改进后作为最终测试结果。比如,可以将这两个新待选并行页面作为最终测试结果,直接应用到新版本中,也可以基于这两个新待选并行页面进一步改进,并将进一步改进的页面应用到新版本中。

采用本申请实施例所提供的测试方法,对创建的测试桶的各测试层对应的测试指标分别进行a/b测试,并根据a/b测试的结果,确定各测试指标分别对应的待选并行页面,然后创建新测试桶,并对在新测试桶的各个测试层中对各测试指标分别重新进行a/b测试,从而确定各测试指标分别对应的新待选并行页面,直至满足循环终止条件时确定最终测试结果,由于对测试指标重新进行a/b测试时的并行页面中包括测试指标所对应的待选并行页面,因此通过这种不断地循环测试,所确定出的最终测试结果准确性较高,解决了现有技术中的问题。

需要说明的是,本申请实施例所提供的测试方法的各步骤的执行主体均可以是同一设备,或者,该方法的各步骤也可以由不同设备作为执行主体。比如,步骤s11和步骤s12的执行主体可以为设备1;又比如,步骤s11的执行主体可以为设备1,步骤s12和的执行主体可以为设备2;等等。

在实际应用中,为了进一步提高测试的准确性,可以适当延长a/b测试的时间,使得a/b测试的结果趋于稳定。因此,在步骤s16和步骤s17之间,还可以增加步骤s19,用于判断是否满足重新创建新测试桶的条件,当满足重新创建新测试桶的条件时,再执行步骤s17的步骤,当不满足重新创建新测试桶的条件时,执行步骤s15和步骤s16的步骤,从而在步骤s14创建的新测试桶中,继续对各个测试指标进行a/b测试,这样在一个测试桶下,对同一测试指标进行a/b测试的时间更长,结果更加稳定和准确。通常,重新创建新测试桶的条件可以根据实际需要来确定,比如,可以是预设最小时间,当a/b测试的时间大于或等于该预设最小时间时,满足重新创建新测试桶的条件,当a/b测试的时间小于该预设最小时间时,继续进行a/b测试;重新创建新测试桶的条件,还可以是预设一个最小统计功效,当步骤s14创建的新测试桶中,对各个测试指标的a/b测试的统计功效,均大于或等于该最小统计功效时,说明a/b测试的结果已趋于稳定,已满足重新创建新测试桶的条件,如果其中一个或多个a/b测试的统计功效小于该最小统计功效,则不满足重新创建新测试桶的条件,继续进行a/b测试。当然,在实际应用中,该重新创建新测试桶的条件还可以是其他,这里对此就不再一一赘述。

以上是对本申请实施例所提供的测试方法的具体说明,为了便于理解,下面可以结合具体的示例对该方法进一步说明。该示例中的待测产品为网购app,该网购app依次包括商品信息页面、订单提交页面和支付页面。将这三个页面均作为测试指标,分别称之为测试指标a、测试指标b和测试指标c;所生成的测试层为生成测试层1、测试层2和测试层3,分别对应对测试指标a、测试指标b和测试指标c进行a/b测试。如图4所示,在该示例中,步骤如下所示:

步骤s21:构建测试桶t1,该测试桶t1中包括测试层1、测试层2和测试层3。

步骤s22:通过所分配的预设比例的测试用户,在对应的测试层中对测试指标a、测试指标b和测试指标c进行a/b测试。

其中预设比例可以是全部用户数量的5%,也可以是其它值。

步骤s23:根据a/b测试的结果,确定测试指标a、测试指标b和测试指标c分别对应的待选并行页面。

比如,针对测试指标a设计了三个并行页面,分别为a1、a2和a3,其中a3的转化率最高,可以将a3作为待选并行页面。

步骤s24:构建新的测试桶t2,其中测试桶t2中也包括测试层1、测试层2和测试层3。

步骤s25:通过所分配的预设比例的测试用户,在测试桶t2中对测试指标a、测试指标b和测试指标c重新进行a/b测试。

步骤s26:根据测试桶t1以及测试桶t2中的a/b测试结果,确定测试指标a、测试指标b和测试指标c分别对应的新待选并行页面。

步骤s27:当不满足循环终止条件时,构建新的测试桶t3,并重新针对测试指标a、测试指标b和测试指标c进行a/b测试,直至满足循环终止条件。

其中测试桶t3中也包括测试层1、测试层2和测试层3。

步骤s28:当满足循环终止条件时,将t1、t2、t3等测试桶中,最终转化率最高的测试桶作为待选测试桶,并根据待选测试桶中a/b测试所确定的新待选页面确定最终测试结果。

基于与本申请实施例所提供的测试方法相同的发明构思,本申请实施例还提供了一种测试装置,能够用于解决现有技术中的问题。如图5所示,该装置50包括:第一创建单元501、a/b测试单元502、第二创建单元503以及结果确定单元504,其中:

第一创建单元501,创建测试桶,所述测试桶中包括多个测试层,每个测试层对应至少一个测试指标;

a/b测试单元502,对测试桶的各测试层对应的测试指标分别进行a/b测试,用于确定各所述测试指标分别对应的待选并行页面;

第二创建单元503,创建新测试桶,并对所述新测试桶的各测试层中的测试指标分别重新进行a/b测试,用于确定各所述测试指标分别对应的新待选并行页面,直至满足循环终止条件,其中,新测试桶与测试桶具有相同的测试层,对测试指标重新进行a/b测试时的并行页面中包括所述测试指标所对应的待选并行页面;

结果确定单元504,确定测试桶以及新测试桶的最终转化率,用于确定最终测试结果。

由于该装置50采用与本申请实施例的测试方法相同的发明构思,因此也能够解决现有技术中的问题,这里就不再赘述。另外在实际应用中,还可以将该装置50结合具体的硬件设备取得其它的技术效果,比如将该装置50应用于分布式系统中,通过分布式系统中的不同服务器执行不同的单元,这样可以通过分布式系统的协同配合来对产品进行测试,可以提高测试效率。

第一创建单元501,可以具体是通过如下方式创建测试桶:根据待测产品中页面的排布顺序生成与待测产品页面数量相同的测试层,其中所述待测产品至少包括两个页面;将待测产品的各个页面分别作为测试指标,用于在对应测试层中进行a/b测试;基于所生成的各个测试层创建所述测试桶,所述测试桶中包括各所述测试层。

a/b测试单元502,对测试桶的各测试层对应的测试指标分别进行a/b测试,可以具体是,通过所分配的预设比例的测试用户,对测试桶的各测试层对应的测试指标分别进行a/b测试。此时,所述循环终止条件,可以具体为如下任意一种:全部测试用户均已分配用于进行a/b测试;剩余测试用户的比例小于或等于预设最小比例。

第二创建单元503,确定各所述测试指标分别对应的新待选并行页面,可以具体是,将各所述测试指标分别作为当前测试指标,根据测试桶以及新测试桶中,针对所述当前测试指标进行的a/b测试,确定各个并行页面的转化率;将转化率最高的并行页面确定为所述当前测试指标的新待选并行页面。

结果确定单元504,确定最终测试结果,可以具体是:根据测试桶以及新测试桶的最终转化率的大小,确定待选测试桶;根据所述待选测试桶中的a/b测试所确定出的各待选并行页面,确定最终测试结果。

对测试指标重新进行a/b测试时的并行页面中包括所述测试指标所对应的待选并行页面,具体为:对测试指标重新进行a/b测试时的并行页面中具体包括,所述测试指标所对应的待选并行页面以及所述测试指标对应的原有页面。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1