一种页面服务的A/B测试方法和装置与流程

文档序号:11774374阅读:157来源:国知局
一种页面服务的A/B测试方法和装置与流程

本发明涉及计算机技术领域,具体涉及一种页面服务的a/b测试方法装置。



背景技术:

a/b测试是一种新兴的网页优化方法,可以用于增加转化率、注册率等网页指标。a/b测试本质上是个分离式组间实验,以前进行a/b测试的技术成本和资源成本相对较高,但现在一系列专业的可视化实验工具的出现,a/b测试已越来越成为网站优化常用的方法。a/b测试,简单来说,就是为同一个测试目标制定两个方案(比如两个页面),让一部分用户使用a方案,另一部分用户使用b方案,记录下用户的使用情况,看哪个方案更符合设计。

目前在使用a/b测试时,首先需要建立一个测试页面(variationpage),这个页面可能在标题字体,背景颜色,措辞等方面与原有页面(controlpage)有所不同,然后将这两个页面以随机的方式同时推送给所有浏览用户。接下来分别统计两个页面的用户转化率,即可清晰的了解到两种设计的优劣。

但是现有的a/b测试过程中,每次修改测试案例时都要相应地修改代码逻辑,进而导致测试过程耗时且不灵活,而且修改代码还会导致错误率上升、风险增大的问题。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种页面服务的a/b测试方法和相应的一种页面服务的a/b测试装置。

依据本发明的一个方面,提供了一种页面服务的a/b测试方法,包括:

接收客户端发送的页面请求;

根据所述页面请求按照预设规则对初始模版中的测试元素进行过滤,得到测试模版;

根据所述测试模版生成测试页面;

将所述测试页面作为所述页面请求的响应发送至所述客户端。

可选地,所述根据所述页面请求按照预设规则对初始模版中的测试元素进行过滤,得到测试模版的步骤,包括:

从所述页面请求中获取所述预设规则所需的第一过滤参数;

按照预设的分组规则,确定各所述测试元素所属的分组;

根据所述第一过滤参数,分别利用与各所述分组对应的预设过滤规则对初始模版中的测试元素进行过滤,得到测试模版。

可选地,所述根据所述第一过滤参数,分别利用与各所述分组对应的预设过滤规则对初始模版中的测试元素进行过滤,得到测试模版的步骤,包括:

针对各所述分组,利用与所述分组对应的预设过滤规则,判断各所述分组中是否存在与所述第一过滤参数匹配的目标测试元素;

如果在当前分组中存在与所述第一过滤参数匹配的目标测试元素,则将当前分组中所述目标测试元素以外的其他测试元素进行过滤;

如果在当前分组中不存在与所述第一过滤参数匹配的目标测试元素,则将当前分组中除默认测试元素外的其他测试元素进行过滤。

可选地,所述按照预设的分组规则,确定各所述测试元素所属的分组的步骤,包括:

根据各所述测试元素的元素标识,将元素标识相同的测试元素划分为同一分组。

可选地,在所述根据所述页面请求按照预设规则对初始模版中的测试元素进行过滤,得到测试模版的步骤之前,还包括:

根据所述页面请求,从预设的初始模版库中查找与所述页面请求匹配的初始模版。

可选地,在所述将所述测试页面作为所述页面请求的响应发送至所述客户端的步骤之后,还包括:

从所述客户端统计所述测试页面的用户转化率;

选择所述用户转化率最高的测试页面作为所述页面请求的发布版本。

根据本发明的另一个方面,公开了一种页面服务的a/b测试装置,包括:

页面请求接收模块,用于接收客户端发送的页面请求;

初始模板过滤模块,用于根据所述页面请求按照预设规则对初始模版中的测试元素进行过滤,得到测试模版;

测试页面生成模块,用于根据所述测试模版生成测试页面;

测试页面发送模块,用于将所述测试页面作为所述页面请求的响应发送至所述客户端。

可选地,所述初始模板过滤模块,包括:

第一过滤参数获取子模块,用于从所述页面请求中获取所述预设规则所需的第一过滤参数;

分组子模块,用于按照预设的分组规则,确定各所述测试元素所属的分组;

初始模板过滤子模块,用于根据所述第一过滤参数,分别利用与各所述分组对应的预设过滤规则对初始模版中的测试元素进行过滤,得到测试模版。

可选地,所述初始模板过滤子模块,包括:

目标测试元素判断单元,用于针对各所述分组,利用与所述分组对应的预设过滤规则,判断各所述分组中是否存在与所述第一过滤参数匹配的目标测试元素;

第一过滤单元,用于如果在当前分组中存在与所述第一过滤参数匹配的目标测试元素,则将当前分组中所述目标测试元素以外的其他测试元素进行过滤;

第二过滤单元,用于如果在当前分组中不存在与所述第一过滤参数匹配的目标测试元素,则将当前分组中除默认测试元素外的其他测试元素进行过滤。

可选地,所述分组子模块,还用于根据各所述测试元素的元素标识,将元素标识相同的测试元素划分为同一分组。

可选地,还包括:

初始模版匹配模块,用于根据所述页面请求,从预设的初始模版库中查找与所述页面请求匹配的初始模版。

可选地,还包括:

用户转化率统计模块,用于从所述客户端统计所述测试页面的用户转化率;

发布版本确定模块,用于选择所述用户转化率最高的测试页面作为所述页面请求的发布版本。

根据本发明的一种页面服务的a/b测试方法,可以接收客户端发送的页面请求;根据所述页面请求按照预设规则对初始模版中的测试元素进行过滤,得到测试模版;根据所述测试模版生成测试页面;将所述测试页面作为所述页面请求的响应发送至所述客户端。由此解决了现有a/b测试过程中,每次修改测试案例时都要相应地修改代码逻辑,进而导致测试过程耗时且不灵活,而且修改代码还会导致错误率上升、风险增大的问题。取得了减少了修改操作,降低了操作耗时,提高了测试灵活性以及准确率的有益效果。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的一种页面服务的a/b测试方法的步骤流程图;

图2示出了根据本发明一个实施例的一种页面服务的a/b测试方法的步骤流程图;

图3示出了根据本发明一个实施例的一种页面服务的a/b测试装置的结构示意图。以及

图4示出了根据本发明一个实施例的一种页面服务的a/b测试装置的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

实施例一

详细介绍本发明实施例提供的一种页面服务的a/b测试方法。

参照图1,示出了本发明实施例中一种页面服务的a/b测试方法的步骤流程图。

步骤110,接收客户端发送的页面请求。

在实际应用中,用户如果需要访问某页面时,需要通过客户端发送页面请求至服务器,以获取相应的页面在客户端进行展示。在本发明实施例中,为了对同一页面的不同展示式样进行测试,可以将对应用一页面的不同展示式样发送至不同的客户端用户,但是仍然需要在接收到客户端发送的页面请求之后,才会将页面反馈至客户端。因此,在本发明实施例中。首先需要接收客户端发送的页面请求。而且,其中的页面请求是针对需要进行测试的页面的页面请求,可以包括浏览器的网页请求、应用程序(application,app)的页面请求,等等。而且在页面请求中一般可以相应客户端信息,例如客户端ip(internetprotocol,网际协议)地址,客户端序列号、客户端当前用户信息,等等。

步骤120,根据所述页面请求按照预设规则对初始模版中的测试元素进行过滤,得到测试模版。

如前述,在实际应用中,a/b测试简单来说就是为同一个测试目标制定两个方案(比如两个页面),让一部分用户使用a方案,另一部分用户使用b方案,记录下用户的使用情况,看哪个方案更符合设计。那么在本发明实施例中,同一个测试目标可以理解为针对同一网络访问地址、同一url(uniformresourcelocator,统一资源定位符)、或者是同一app中同一位置页面,等等。而且,在本发明实施例中,可以针对同一个测试目标制定至少两个方案,例如针对同一网路访问地址准备至少两个页面响应,等等,对此本发明实施例不加以限定。在本发明实施例中,可以在本步骤之前,或者是本步骤之前的任一步骤之前根据需求设定初始模版中包含的测试元素的种类,以及过滤后的测试模版中最终保留的测试元素数量以及种类,对此本发明实施例都不加以限定。

在本发明实施例中,页面测试工作人员可以预先设置针对当前测试地址的初始模版,在初始模版中可以包括多个需要进行测试的测试元素。其中的测试元素也可以根据需求在本步骤之前,或者是本步骤之前的任一步骤进行设定,对此本发明实施例不加以限定。

例如,对于某一待测试的页面,假设其包括两个子区域,分别为子区域a和区域b,其中对于区域a中的展示内容的展示方式可以分为两种,那么在初始模版中可以针对区域a的展示内容的展示方式设置两个测试元素a1和a2;而且针对一个用户对于区域b中的展示内容的展示方式也可以分为两种,那么同样可以在初始模版中可以针对区域b的展示内容的展示方式设置两个测试元素b1和b2。其中的a1和a2为针对子区域a的两种展示方案,b1和b2为针对子区域b的两种展示方案,那么a1和a2则不能同时出现在同一测试模版中,b1和b2也不能同时出现在同一测试模版中。

因此,在本发明实施例中,需要根据页面请求按照预设规则对初始模版中的测试元素进行过滤,得到测试模版。其中的预设规则可以根据需求在本步骤之前,或者是本步骤之前的任一步骤之前进行设定,对此本发明实施例不加以限定。

例如,可以设定预设规则为先对初始模版中的测试元素进行排序,或着是分组后并排序,然后根据接收到的页面请求中的用户ip地址,将初始模版中序列号与ip地址尾号不一致的测试元素进行过滤,或者是将初始模版中各分组中序列号与ip地址尾号奇偶性不一致的测试元素进行过滤,等等。对此本发明实施例不加以限定。

步骤130,根据所述测试模版生成测试页面。

对初始模版中的测试元素过滤后得到测试模版,则可以根据测试模版生成测试页面。在本发明实施例中,在初始模版中设置的测试元素时,同时可以设置各测试元素在初始模版中的展示细节,例如展示位置,展示尺寸等等。

那么在本发明实施例中,则可以根据过滤后得到的测试模版生成用以作为页面请求响应的测试页面。具体的可以利用任何一种可以方法根据测试模版生成测试页面,对此本发明实施例不加以限定。

步骤140,将所述测试页面作为所述页面请求的响应发送至所述客户端。

在生成相应的测试页面之后,为了检测相应客户端用户对该测试页面的用户转化情况,进一步分析该测试页面的用户转化率,则需要将生成的测试页面作为接收到的页面请求的响应返回至相应的客户端。在本发明实施例中,可以利用任何可用方式将测试页面作为相应页面请求的响应发送至相应客户端,对此本发明实施例不加以限定。

在本发明实施例中,可以接收客户端发送的页面请求;根据所述页面请求按照预设规则对初始模版中的测试元素进行过滤,得到测试模版;根据所述测试模版生成测试页面;将所述测试页面作为所述页面请求的响应发送至所述客户端。由此解决了现有a/b测试过程中,每次修改测试案例时都要相应地修改代码逻辑,进而导致测试过程耗时且不灵活,而且修改代码还会导致错误率上升、风险增大的问题。取得了减少了修改操作,降低了操作耗时,提高了测试灵活性以及准确率的有益效果。

实施例二

详细介绍本发明实施例提供的一种页面服务的a/b测试方法。

参照图1,示出了本发明实施例中一种页面服务的a/b测试方法的步骤流程图。

步骤210,接收客户端发送的页面请求。

步骤220,根据所述页面请求,从预设的初始模版库中查找与所述页面请求匹配的初始模版。

在实际应用中,可以同时针对多个不同的目标进行a/b测试。那么在本发明实施例中,可以预先设置一初始模版库,在初始模版库中可以包含多个针对不同测试目标的初始模版。而且客户端发送的页面请求一般是对应某一测试目标的页面请求,那么在本发明实施例中,则可以根据接收到的客户端发送的页面请求,从初始模版库中查找与该页面请求匹配的初始模版。

具体的可以先获取页面请求对应的测试目标,然后从初始模版库中查找与该测试目标对应的初始模版,那么该初始模版即为与页面请求匹配的初始模版。当然也可以根据其他参数从预设的初始模版库中查找与当前接收到的页面请求匹配的初始模版,对此本发明实施例不加以限定。

步骤230,从所述页面请求中获取所述预设规则所需的第一过滤参数。

如前述,在本发明实施例中,需要根据页面请求对初始模版中的测试元素进行过滤,具体的可以根据页面请求中的第一过滤参数对初始模版中的测试元素进行过滤。其中的第一过滤参数可以为客户端的设备编号、客户端的ip地址、客户端用户的用户信息,等等,其中的用户信息可以包括用户标识、用户年龄、用户性别、用户职业等等。在本发明实施例中,可以根据需求在本步骤之前,或者是本步骤之前的任一步骤之前设定第一过滤参数的具体内容,对此本发明实施例不加以限定。

例如,如果需要根据客户端的设备编号的奇偶性对初始模版中的测试元素进行过滤,那么则可以设置从页面请求中获取发送该页面请求的客户端对应的客户端的设备编号,而且由于根据客户端的设备编号的最后一位即可以确定客户端的设备编号的奇偶性,因此也可以设置直接获取该页面请求的客户端对应的客户端的设备编号中的最后一位,或者是最后几位,等等。

步骤240,按照预设的分组规则,确定各所述测试元素所属的分组。

如前述,在初始模版中可以存在针对同一展示区域的多个测试元素,也即在过滤后的同一测试模版中不能同时出现的多个测试元素。在本发明实施例中,可以将互相不能出现在同一测试模版中的测试元素分为一组。那么在对测试元素进行过滤时,则可以按照分组进行过滤,并且在同一分组中只保留一个测试元素。那么,在本发明实施例中,首先需要按照预设的分组规则,确定各测试元素所属的分组。

在本发明实施例中,可以根据各测试元素对应的展示区域对各测试元素进行分组。例如,前述的测试元素a1、a2、b1和b2,其中a1和a2对应于同一展示区域a,b1和b2对应于同一展示区域b,那么则可以将a1和a2分为一组,同时将b1和b2分为一组。另外,在本发明实施例中,也可以利用其他方式确定各测试元素的分组,具体可以在本步骤之前,或者是本步骤之前的任一步骤之前根据需求设定分组规则,对此本发明实施例不加以限定。

可选地,在本发明实施例中,所述步骤240进一步可包括:

子步骤241,根据各所述测试元素的元素标识,将元素标识相同的测试元素划分为同一分组。

在本发明实施例中,在设置各测试元素时,还可以同时设置各测试元素的元素标识,那么则可以根据各测试元素的元素标识,将元素标识相同的测试元素划分为同一分组。其中,需要保证不同分组的测试元素的元素标识互不相同。

例如,对于前述的测试元素a1、a2、b1和b2,可以预先设置测试元素a1和a2的元素标识为a,而设置b1和b2的元素标识为b,那么则可以将a1和a2分为一组,同时将b1和b2分为一组。

其中,各测试元素的元素标识可以根据需求进行设定,而且在设定各测试元素的元素标识时,可以设置对应同一展示区域的测试元素的元素标识相同,而对应不同展示区域的测试元素的元素标识互不相同。

步骤250,根据所述第一过滤参数,分别利用与各所述分组对应的预设过滤规则对初始模版中的测试元素进行过滤,得到测试模版。

在本发明实施例中,在获取了第一过滤参数之后,则可以根据第一过滤规则对初始模版中的测试元素进行过滤。但是在本发明实施例中,对应于不同的分组的预设过滤规则可以不完全一致,那么则可以根据获取的第一过滤参数,分别利用与各分组对应的预设过滤规则对初始模版中的测试元素进行过滤,得到测试模版。其中,与各分组对应的预设过滤规则可以根据需求在本步骤之前,或者是本步骤之前的任一步骤之前进行设定,对此本发明实施例不加以限定,而且对应与不同分组的预设过滤规则可以完全一致,也可以不完全一致,对此本发明实施例也不加以限定。

例如,当前接收到的页面请求对应的初始模版中包含的测试元素为前述的a1、a2、b1和b2,其中,a1和a2属于同一个分组,b1和b2属于另一个分组,假设对于a1和a2构成的分组对应的预设过滤规则为将a1分配给设备编号为奇数的客户端,将a2分配给设备编号为偶数的客户端;而对于b1和b2构成的分组的预设过滤规则为将b2分配给设备编号为奇数的客户端,将b1分配给设备编号为偶数的客户端。那么假设此时获取的页面请求对应的设备编号为0011,那么此时过滤后得到的测试模版中包含的测试元素为a1和b2。

当然,在本发明实施例中,还可以设置针对不同分组获取的第一过滤参数也不完全相同。例如,可以设置对于上述的a1和a2构成的分组获取的第一过滤参数为客户端的设备编号,而对于上述的b1和b2构成的分组获取的第一过滤参数为客户端的ip地址,那么此时对于a1和a2构成的分组对应的预设过滤规则仍然可以为将a1分配给设备编号为奇数的客户端,将a2分配给设备编号为偶数的客户端;而对于b1和b2构成的分组对应的预设过滤规则可以设置为将b1分配给ip地址尾号为奇数的客户端,将b2分配给ip地址尾号为偶数的客户端。那么如果针对a1和a2构成的分组获取的客户端的设备编号为0011,而对于上述的b1和b2构成的分组获取的客户端的ip地址为119.57.117.177,那么此时过滤后得到的测试模版中包含的测试元素为a1和b1。

可选地,在本发明实施例中,所述步骤250进一步可以包括:

子步骤251,针对各所述分组,利用与所述分组对应的预设过滤规则,判断各所述分组中是否存在与所述第一过滤参数匹配的目标测试元素。

子步骤252,如果在当前分组中存在与所述第一过滤参数匹配的目标测试元素,则将当前分组中所述目标测试元素以外的其他测试元素进行过滤。

子步骤253,如果在当前分组中不存在与所述第一过滤参数匹配的目标测试元素,则将当前分组中除默认测试元素外的其他测试元素进行过滤。

在实际应用中,还有可能针对某一分组中,利用与该分组对应的预设过滤规则无法在该分组中获取与第一过滤参数匹配的目标测试元素,那么此时从该分组中则无法获取需要保留在测试模版中的目标测试元素,从而进一步会影响展示至客户端的测试页面的效果。

因此,在本发明实施例中,可以针对每个分组预先设置一个默认测试元素,当针对某一分组利用相应的预设过滤规则确认需要将该分组内的全部测试元素进行过滤,那么则可以该分组内的默认测试元素作为需要保留在测试模版中的目标测试元素。其中的默认测试元素可以根据需求在本步骤之前,或者是本步骤之前的任一步骤之前进行设定,对此本发明实施例不加以限定。

那么,在本发明实施例中,在对各分组中的测试元素进行过滤时,可以先针对各分组,利用与各分组对应的预设过滤规则,判断各分组中是否存在与第一过滤参数匹配的目标测试元素。如果在当前分组中存在与第一过滤参数匹配的目标测试元素,则将当前分组中目标测试元素以外的其他测试元素进行过滤。而如果在当前分组中不存在与第一过滤参数匹配的目标测试元素,则将当前分组中除默认测试元素外的其他测试元素进行过滤。

步骤260,根据所述测试模版生成测试页面。

步骤270,将所述测试页面作为所述页面请求的响应发送至所述客户端。

步骤280,从所述客户端统计所述测试页面的用户转化率。

在实际应用中,对测试目标进行a/b测试的目的在于确定出最适合该测试目标的测试页面。那么在本发明实施例中,在将测试页面发送至客户端之后,可以进一步统计该测试页面的用户转化率。其中的用户转化率可以理解为接收到该测试页面的用户中成为该测试页面正式用户的比例,也即正式用户/接收到该测试页面的用户,其中的正式用户可以包括对测试页面进行点击操作的用户,或者是对测试页面进行消费操作的用户,或者是在测试页面进行用户注册的用户等等。在本发明实施例中,可以根据需求在本步骤之前,或者是本步骤之前的任一步骤之前设定正式用户的类型,对此本发明实施例不加以限定。

而且,在本发明实施例中,为了计算各测试页面的用户转化率,可以分别统计在预设时间段内接收到各测试页面的用户转化为正式用户的比例,进而可以得到各测试页面的用户转化率。其中的预设时间段可以根据需求在本步骤之前,或者是本步骤之前的任一步骤之前进行设定,对此本发明实施例不加以限定。

步骤290,选择所述用户转化率最高的测试页面作为所述页面请求的发布版本。

如前述,某一测试页面的用户转化率越高,则说明接收到该测试页面的用户中转化为正式用户的概率就越高,进一步可以说明该测试页面对用户的吸引力更大,那么在计算得到各测试页面的用户转化率之后,则可以选择用户转化率最高的测试页面作为相应页面请求的发布版本,也即可以选择用户转化率最高的测试页面作为相应页面请求对应的测试目标的发布版本。在确定了测试目标的发布版本之后,那么再次接收到任一客户端发送的针对该测试目标的页面请求后,可以直接以该发布版本作为响应返回至相应客户端。

在本发明实施例中,可以接收客户端发送的页面请求;根据所述页面请求按照预设规则对初始模版中的测试元素进行过滤,得到测试模版;根据所述测试模版生成测试页面;将所述测试页面作为所述页面请求的响应发送至所述客户端。由此解决了现有a/b测试过程中,每次修改测试案例时都要相应地修改代码逻辑,进而导致测试过程耗时且不灵活,而且修改代码还会导致错误率上升、风险增大的问题。取得了减少了修改操作,降低了操作耗时,提高了测试灵活性以及准确率的有益效果。

而且,在本发明实施例中,可以从所述页面请求中获取所述预设规则所需的第一过滤参数;按照预设的分组规则,确定各所述测试元素所属的分组;根据所述第一过滤参数,分别利用与各所述分组对应的预设过滤规则对初始模版中的测试元素进行过滤,得到测试模版。并且,针对各所述分组,利用与所述分组对应的预设过滤规则,判断各所述分组中是否存在与所述第一过滤参数匹配的目标测试元素;如果在当前分组中存在与所述第一过滤参数匹配的目标测试元素,则将当前分组中所述目标测试元素以外的其他测试元素进行过滤;如果在当前分组中不存在与所述第一过滤参数匹配的目标测试元素,则将当前分组中除默认测试元素外的其他测试元素进行过滤。从而可以进一步提高获取的测试模版的准确率。

另外,在本发明实施例中,还可以根据所述页面请求,从预设的初始模版库中查找与所述页面请求匹配的初始模版。从而可以同时针对多个测试目标进行a/b测试,进一步可以提高测试的效率。

进一步地,在本发明实施例中,还可以从所述客户端统计所述测试页面的用户转化率;选择所述用户转化率最高的测试页面作为所述页面请求的发布版本。从而可以准确确定各测试目标的发布版本。

对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

实施例三

详细介绍本发明实施例提供的一种页面服务的a/b测试装置。

参照图3,示出了本发明实施例中一种页面服务的a/b测试装置的结构示意图。

页面请求接收模块310,用于接收客户端发送的页面请求。

初始模板过滤模块320,用于根据所述页面请求按照预设规则对初始模版中的测试元素进行过滤,得到测试模版。

测试页面生成模块330,用于根据所述测试模版生成测试页面。

测试页面发送模块340,用于将所述测试页面作为所述页面请求的响应发送至所述客户端。

在本发明实施例中,可以接收客户端发送的页面请求;根据所述页面请求按照预设规则对初始模版中的测试元素进行过滤,得到测试模版;根据所述测试模版生成测试页面;将所述测试页面作为所述页面请求的响应发送至所述客户端。由此解决了现有a/b测试过程中,每次修改测试案例时都要相应地修改代码逻辑,进而导致测试过程耗时且不灵活,而且修改代码还会导致错误率上升、风险增大的问题。取得了减少了修改操作,降低了操作耗时,提高了测试灵活性以及准确率的有益效果。

实施例四

详细介绍本发明实施例提供的一种页面服务的a/b测试装置。

参照图4,示出了本发明实施例中一种页面服务的a/b测试装置的结构示意图。

页面请求接收模块410,用于接收客户端发送的页面请求。

初始模版匹配模块420,用于根据所述页面请求,从预设的初始模版库中查找与所述页面请求匹配的初始模版。

初始模板过滤模块430,用于根据所述页面请求按照预设规则对初始模版中的测试元素进行过滤,得到测试模版。

可选地,在本发明实施例中,所述初始模板过滤模块430,进一步可以包括:

第一过滤参数获取子模块431,用于从所述页面请求中获取所述预设规则所需的第一过滤参数。

分组子模块432,用于按照预设的分组规则,确定各所述测试元素所属的分组。

可选地,在本发明实施例中,所述分组子模块432,还用于根据各所述测试元素的元素标识,将元素标识相同的测试元素划分为同一分组。

初始模板过滤子模块433,用于根据所述第一过滤参数,分别利用与各所述分组对应的预设过滤规则对初始模版中的测试元素进行过滤,得到测试模版。

可选地,在本发明实施例中,所述初始模板过滤子模块433,进一步可以包括:

目标测试元素判断单元,用于针对各所述分组,利用与所述分组对应的预设过滤规则,判断各所述分组中是否存在与所述第一过滤参数匹配的目标测试元素。

第一过滤单元,用于如果在当前分组中存在与所述第一过滤参数匹配的目标测试元素,则将当前分组中所述目标测试元素以外的其他测试元素进行过滤。

第二过滤单元,用于如果在当前分组中不存在与所述第一过滤参数匹配的目标测试元素,则将当前分组中除默认测试元素外的其他测试元素进行过滤。

测试页面生成模块440,用于根据所述测试模版生成测试页面。

测试页面发送模块450,用于将所述测试页面作为所述页面请求的响应发送至所述客户端。

用户转化率统计模块460,用于从所述客户端统计所述测试页面的用户转化率。

发布版本确定模块470,用于选择所述用户转化率最高的测试页面作为所述页面请求的发布版本。

在本发明实施例中,可以接收客户端发送的页面请求;根据所述页面请求按照预设规则对初始模版中的测试元素进行过滤,得到测试模版;根据所述测试模版生成测试页面;将所述测试页面作为所述页面请求的响应发送至所述客户端。由此解决了现有a/b测试过程中,每次修改测试案例时都要相应地修改代码逻辑,进而导致测试过程耗时且不灵活,而且修改代码还会导致错误率上升、风险增大的问题。取得了减少了修改操作,降低了操作耗时,提高了测试灵活性以及准确率的有益效果。

而且,在本发明实施例中,可以从所述页面请求中获取所述预设规则所需的第一过滤参数;按照预设的分组规则,确定各所述测试元素所属的分组;根据所述第一过滤参数,分别利用与各所述分组对应的预设过滤规则对初始模版中的测试元素进行过滤,得到测试模版。并且,针对各所述分组,利用与所述分组对应的预设过滤规则,判断各所述分组中是否存在与所述第一过滤参数匹配的目标测试元素;如果在当前分组中存在与所述第一过滤参数匹配的目标测试元素,则将当前分组中所述目标测试元素以外的其他测试元素进行过滤;如果在当前分组中不存在与所述第一过滤参数匹配的目标测试元素,则将当前分组中除默认测试元素外的其他测试元素进行过滤。从而可以进一步提高获取的测试模版的准确率。

另外,在本发明实施例中,还可以根据所述页面请求,从预设的初始模版库中查找与所述页面请求匹配的初始模版。从而可以同时针对多个测试目标进行a/b测试,进一步可以提高测试的效率。

进一步地,在本发明实施例中,还可以从所述客户端统计所述测试页面的用户转化率;选择所述用户转化率最高的测试页面作为所述页面请求的发布版本。从而可以准确确定各测试目标的发布版本。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的页面服务的a/b测试设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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