基于用户分组的测试方法及装置与流程

文档序号:12789299阅读:363来源:国知局
基于用户分组的测试方法及装置与流程

本发明涉及互联网软件技术领域,具体而言,涉及一种基于用户分组的测试方法及装置。



背景技术:

AB测试是一种产品优化方法,同时让一定比例的抽样客户对不同的服务和/或产品,或者同一服务和/或产品的不同版本(A/B/n)进行访问,然后比较各组对应分配的服务和/或产品的实际效果,最后选择效果最好的服务和/或产品正式发布给全部客户。

现在有技术中,主要是基于地域或时间段进行分组的对比测试。由于不同地区用户的行为特征,经济背景,使用习惯不一样,不同时间段的用户行为也存在差异,基于地域或时间段进行分组的对比测试,难以保证测试结论的准确性。并且基于地域或时间段的用户分组,难以做到将不同类型的用户随机分配到各个分组,得到的测试结果随机性及代表性较差。



技术实现要素:

为了克服现有技术中的上述不足,本发明提供一种基于用户分组的测试方法及装置,其根据用户标识号对用户进行随机分组,由此得到的产品测试评估结果具有良好的代表性和准确性。

本发明的第一目的在于提供一种基于用户分组的测试方法,所述方法包括:

获取用于唯一标识用户身份的用户标识号;

依据所述用户标识号对用户进行分组;

根据所述分组结果分配各分组对应的服务和/或产品,以便对各分组被分配的服务和/或产品进行测试。

本发明的第二目的在于提供一种基于用户分组的测试装置,所述装置包括:

获取模块,用于获取用于唯一标识用户身份的用户标识号;

分组模块,用于依据所述用户标识号对用户进行分组;

分配模块,用于根据所述分组结果分配各分组对应的服务和/或产品,以便对各分组被分配的服务和/或产品进行测试。

相对于现有技术而言,本发明具有以下有益效果:

本发明提供一种基于用户分组的测试方法及装置,通过获取用于唯一标识用户身份的用户标识号。依据所述用户标识号对用户进行分组。根据所述分组结果分配各分组对应的服务和/或产品,以便对各分组被分配的服务和/或产品进行测试。由此,能够随机均匀地对用户进行分组,减小用户差异对测评结果产生的影响,得到的对比测试评估结果具有良好的代表性和准确性。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本发明较佳实施例提供的服务器的方框示意图。

图2是本发明第一实施例提供的基于用户分组的测试方法的步骤流程图之一。

图3是本发明第一实施例提供的图2所示的步骤S110的子步骤流程图。

图4是本发明第一实施例提供的图2所示的步骤S120的子步骤流程图。

图5是本发明第一实施例提供的图2所示的步骤S130的子步骤流程图。

图6是本发明第一实施例提供的基于用户分组的测试方法的步骤流程图之二。

图7为本发明第二实施例提供的基于用户分组的测试装置的功能模块图。

图8为本发明第二实施例提供的分组模块的子功能模块图。

图9为本发明第二实施例提供的分配模块的子功能模块图。

图标:100-服务器;110-存储器;120-处理器;130-网络模块;200-基于用户分组的测试装置;210-获取模块;220-分组模块;222-确定子模块;224-计算子模块;226-分组子模块;228-第一保存子模块;230-分配模块;231-获取子模块;233-分配子模块;235-第二保存子模块;237-建立子模块;240-测试模块;250-选择模块。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

本发明提供一种基于用户分组的测试方法,所述方法应用于服务器100,请参照图1,图1是本发明较佳实施例提供的服务器100的方框示意图。所述服务器100包括存储器110、基于用户分组的测试装置200、处理器120及网络模块130。

所述存储器110、处理器120及网络模块130相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线或信号线实现电性连接。存储器110中存储有基于用户分组的测试装置200,所述基于用户分组的测试装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中的软件功能模块,所述处理器120通过运行存储在存储器110内的软件程序以及模块,从而执行各种功能应用以及数据处理。

其中,所述存储器110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器110用于存储程序,所述处理器120在接收到执行指令后,执行所述程序。进一步地,上述存储器110内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。

所述处理器120可以是一种集成电路芯片,具有信号的处理能力。上述的处理器120可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

网络模块130用于通过网络建立服务器100与用户终端之间的通信连接。

可以理解,图1所述的结构仅为示意,服务器100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

第一实施例

请参照图2,图2是本发明第一实施例提供的基于用户分组的测试方法的步骤流程图之一。

下面对基于用户分组的测试方法具体流程进行详细阐述。

步骤S110,获取用于唯一标识用户身份的用户标识号。

在本实施例中,所述用户标识号用于对用户身份进行唯一标识。所述用户标识号是一串可由服务器100进行识别、计算的字符串,服务器100通过对用户标识号进行计算处理以完成对用户的分组。

请参阅图3,图3是本发明第一实施例提供的图2所示的步骤S110的子步骤流程图。步骤S110包括子步骤S111、子步骤S113及子步骤S115。

子步骤S111,获取访问用户的用户识别信息。

在本实施例中,服务器100获取访问用户所使用的用户终端的用户识别信息,所述用户终端可以是移动设备(比如,手机)、PC设备等。所述用户识别信息可以是,但不限于,用户终端的MAC地址、用户终端的序列号(比如,手机出厂时的序列号)等可唯一对用户身份进行标识的识别信息。

在本实施例中,当用户连接到网络,请求web服务时,服务器100可对用户的用户识别信息进行获取。

子步骤S113,将所述用户识别信息进行转化,得到所述用户对应的用户标识号。

在本实施例中,由于不同用户的用户识别信息具有较大差异,服务器100需要对用户识别信息进行转化,将用户识别信息转化为服务器100可进行识别、计算的用户标识号(服务器100可计算的字符串)。

子步骤S115,将所述用户标识号保存到数据库中。

在本实施例中,将所述用户标识号保存到数据库中,以便于对用户进行分组处理。

步骤S120,依据所述用户标识号对用户进行分组。

请参阅图4,图4是本发明第一实施例提供的图2所示的步骤S120的子步骤流程图。所述步骤S120包括子步骤S121、子步骤S123、子步骤S125及子步骤S127。

子步骤S121,根据预设分组配置比确定哈希算法。

在本实施例中,所述预设分组配置比可根据实际需求情况具体设定,根据不同的预设分组配置比,需要对应的哈希算法进行计算,以完成对用户的分组。下面通过举例说明:

如果需要对用户进行平均分组,即A、B两组的预设分组配置比为50%:50%,则对应的哈希算法可以设定为,但不限于:用户标识号mod 2。

在本实施例中,mod为整数取模运算,即被除数除以除数后的余数,例如10 mod 3=1,20 mod 6=2等。

在本实施例中,哈希算法(Hash)也称为做散列算法,就是把任意长度的输入值通过散列算法,变换成固定长度的输出值,该输出值就是散列值。这种转换是一种压缩映射,也就是散列值的空间通常远小于输入值的空间,不同的输入值可能会散列成相同的输出值。简单的说就是一种将任意长度的消息数据压缩到某一固定长度的消息摘要数据的函数。

子步骤S123,依据所述哈希算法对所述用户标识号进行计算得到对应的散列值。

在本实施例中,如果A、B两组的预设分组配置比为50%:50%,则对应的哈希算法可设定为:用户标识号mod 2。以此得到的散列值为0或者1。

在本实施例中,如果需要控制A、B两组的预设分组配置比不同,可以根据预设配置比的设定情况选取除数,将用户标识号对选取的除数进行求余运算(mod运算)。例如,将用户标识号mod 10可得到0-9的散列值。

子步骤S125,基于所述预设分组配置比对应的散列规则对所述散列值进行分组,得到分组结果。

在本实施例中,若A、B两组的预设分组配置比为50%:50%,对应的哈希算法为:用户标识号mod 2,得到的散列值为0或者1。将散列值为0的用户分到A组,将散列值为1的用户分到B组,可以实现对用户的均匀分配。

在本实施例中,若A、B两组的预设分组配置比为10%:90%,对应的哈希算法为:用户标识号mod 10,可得到0-9的散列值。可将散列值为0的分入A组,散列值为1-9的分入B组。

子步骤S127,将每个分组对应的组名信息及配置比信息保存到分组配置文件中。

在本实施例中,所述分组配置文件存储有每个分组的组名信息,以及及每个组对应的预设分组配置比例信息(比如,有多少比例是A组,多少比例是B组)。所述组名信息是便于对每个分组进行区分,每个分组的组名信息可采用人为方式进行设定。

在本实施例中,所述分组配置文件可以采用.xml文件。xml是可扩展标记语言(标准通用标记语言的子集),是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,极其简单且易于掌握和使用。

步骤S130,根据所述分组结果分配各分组对应的服务和/或产品,以便对各分组被分配的服务和/或产品进行测试。

请参阅图5,图5是本发明第一实施例提供的图2所示的步骤S130的子步骤流程图。所述步骤S130包括子步骤S131、子步骤S133、子步骤S135及子步骤S137。

子步骤S131,获取用户所在的分组。

在本实施例中,通过请求一个web服务(比如,abGroup服务)获取用户分组结果信息,以得到用户所在的分组信息。

子步骤S133,基于所述用户所在的分组,通过该分组对应的预设推荐算法计算出为该分组用户分配的服务和/或产品。

在本实施例中,每个分组配置有对应的预设推荐算法,以对不同版本的服务和/或产品进行推荐。由于每个分组对应的预设推荐算法不同,由此实现对不同分组用户推荐不同的服务和/或产品。

在本实施例中,所述服务和/或产品可以是,但不限于UI(User Interface,用户界面)及推荐列表。UI泛指用户的操作界面,UI设计主要指界面的样式及美观程度。推荐列表指的是推荐给用户访问的产品列表,例如,在淘宝网界面中,为用户推荐的“必买清单”、“喜爱清单”等推荐产品列表信息。

在本实施例中,为不同分组分配的服务和/或产品可以是同类服务和/或产品的不同版本,例如,为A组分配UI的新版本,为B组分配UI的旧版本,或者,为A组分配第一版本的推荐列表,为B组分配第二版本的推荐列表;也可以是不同类的服务和/或产品,例如,为A组分配UI,为B组分配推荐列表。为不同分组分配的UI及推荐列表根据不同的预设推荐算法计算得到,所述预设推荐算法可根据实际需求进行设定。

子步骤S135,将每个分组对应被推荐的服务和/或产品信息分别保存到各分组对应的推荐配置文件中。

在本实施例中,每个分组对应一个推荐配置文件,该推荐配置文件用于存储每个分组被推荐的服务和/或产品信息。所述推荐配置文件存放于数据库中。

子步骤S137,建立指示配置文件。

在本实施例中,所述指示配置文件存储有每个分组对应的推荐配置文件保存在数据库的位置信息。所述指示配置文件起到查找指示作用,便于对每个分组的所述推荐配置文件进行查找。

请参照图6,图6是本发明第一实施例提供的基于用户分组的测试方法的步骤流程图之二。所述方法还包括步骤S140及步骤S150。

步骤S140,对分配给每个分组的服务和/或产品进行测试,对每种服务和/或产品的效果进行评估,得到各分组的评估结果。

在本实施例中,所述对分配给每个分组的服务和/或产品进行测试指的是:把每个分组的服务和/或产品发布给该分组的用户使用,并集合该分组的多个用户对被分配的服务和/或产品的使用情况,以便于进行后续的效果评估。

在本实施例中,服务器100获取每个分组的用户对被分配的服务和/或产品的访问日志行为和/或用户体验评价。根据所述访问日志行为和/或用户体验评价得到评估指标。基于评估指标对每种服务和/或产品的效果进行评估。所述评估指标可以包括点击量、使用时长、转化率及用户满意度中的至少一种。

在本实施例中,所述用户体验评价可以是服务器100向用户提供的对被分配的服务和/或产品的使用体验评分。服务器100通过用户的使用体验评分可获取对分配给该用户的服务和/或产品的使用满意度的情况。

步骤S150,选择评估结果达到预设评估标准的服务和/或产品发布给所有用户。

在本实施例中,所述对达到预设评估标准的服务和/或产品进行发布的情况包括:对评估结果最好的某组服务和/或产品进行发布、对多个分组中最优服务和/或产品进行组合发布及对多个分组中无密切联系和相互影响服务和/或产品进行组合发布等。

下面通过举例进行说明。

1.对评估结果最好的某组服务和/或产品进行发布的情况:

购买转化率=(购买产品的用户人数/所有访问产品的用户人数)×100%。例如,A组被推荐服务和/或产品的购买转化率=(10/1000)×100%=1%;B组被推荐服务和/或产品的购买转化率=(30/1000)×100%=3%。由此可知B组被推荐的服务和/或产品评估效果比A组好。经过测试评估后,应将B组对应的被推荐服务和/或产品发布给所有用户。

2.对多个分组中最优服务和/或产品进行组合发布:

例如,A组使用了1服务的V1.1版本及2服务的V1.1版本;B组使用了1服务的V1.2版本及2服务的V1.2版本。经过测试及效果评估后,评估结果最优的是1服务的V1.1版本和2服务的V1.2版本,则可对1服务的V1.1版本和2服务的V1.2版本进行组合发布。

3.对多个分组中无密切联系和相互影响服务和/或产品进行组合发布:

例如,经过测试及效果评估的得到:A组1服务和B组的2服务,或者A组1服务与A组3服务之间没有密切联系和相互影响,则可以将1服务与2服务或1服务与3服务进行组合发布。

在本实施例中,分配给各分组的服务和/或产品可以是,但不限于,不同的服务和/或产品、同种服务和/或产品的不同版本等。

第二实施例

请参阅图7,图7为本发明第二实施例提供的基于用户分组的测试装置200的功能模块图。所述装置包括:、获取模块210、分组模块220、分配模块230、测试模块240及选择模块250。

获取模块210,用于获取用于唯一标识用户身份的用户标识号。

在本实施例中,获取模块210用于执行图2中的步骤S110,关于所述获取模块210的具体描述可以参照图2中步骤S110的描述。

分组模块220,用于依据所述用户标识号对用户进行分组。

请参阅图8,图8为本发明第二实施例提供的分组模块220的子功能模块图。所述分组模块220包括确定子模块222、计算子模块224、分组子模块226及第一保存子模块228。

确定子模块222,用于根据预设分组配置比确定哈希算法。

在本实施例中,确定子模块222用于执行图4中的子步骤S121,关于所述确定子模块222的具体描述可以参照图4中步骤S121的描述。

计算子模块224,用于依据所述哈希算法对所述用户标识号进行计算得到对应的散列值。

在本实施例中,计算子模块224用于执行图4中的子步骤S123,关于所述计算子模块224的具体描述可以参照图4中步骤S123的描述。

分组子模块226,用于基于所述预设分组配置比对应的散列规则对所述散列值进行分组,得到分组结果。

在本实施例中,分组子模块226用于执行图4中的子步骤S125,关于所述分组子模块226的具体描述可以参照图4中步骤S125的描述。

第一保存子模块228,用于将每个分组对应的组名信息及配置比信息保存到分组配置文件中。

在本实施例中,第一保存子模块228用于执行图4中的子步骤S127,关于所述第一保存子模块228的具体描述可以参照图4中步骤S127的描述。

分配模块230,用于根据所述分组结果分配各分组对应的服务和/或产品,以便对各分组被分配的服务和/或产品进行测试。

请参阅图9,图9为本发明第二实施例提供的分配模块230的子功能模块图。所述分配模块230包括获取子模块231、分配子模块233及第二保存子模块235。

获取子模块231,用于获取用户所在的分组。

在本实施例中,获取子模块231用于执行图5中的子步骤S131,关于所述获取子模块231的具体描述可以参照图5中步骤S131的描述。

分配子模块233,用于基于所述用户所在的分组,通过该分组对应的预设推荐算法计算出为该分组用户分配的服务和/或产品。

在本实施例中,分配子模块233用于执行图5中的子步骤S133,关于所述分配子模块233的具体描述可以参照图5中步骤S133的描述。

第二保存子模块235,用于将每个分组对应的被推荐的服务和/或产品信息分别保存到各分组对应的推荐配置文件中。

在本实施例中,第二保存子模块235用于执行图5中的子步骤S135,关于所述第二保存子模块235的具体描述可以参照图5中步骤S135的描述。

建立子模块237,用于建立指示配置文件。

在本实施例中,建立子模块237用于执行图5中的子步骤S137,关于所述建立子模块237的具体描述可以参照图5中步骤S137的描述。

测试模块240,用于对推荐给每个分组的服务和/或产品进行测试,对每种服务和/或产品的效果进行评估,得到各个分组的评估效果。

在本实施例中,测试模块240用于执行图6中的步骤S140,关于所述测试模块240的具体描述可以参照图6中步骤S140的描述。

选择模块250,用于选择评估效果最好的服务和/或产品版本发布给所有用户。

在本实施例中,选择模块250用于执行图6中的步骤S150,关于所述选择模块250的具体描述可以参照图6中步骤S150的描述。

综上所述,本发明提供一种基于用户分组的测试方法及装置,通过获取用于唯一标识用户身份的用户标识号。依据所述用户标识号对用户进行分组。根据所述分组结果分配各分组对应的服务和/或产品,以便对各分组被分配的服务和/或产品进行测试。

本发明提供的方法及装置能够随机均匀地对用户进行分组,减小用户差异对测评结果产生的影响,得到的对比测试评估结果具有良好的代表性和准确性。并且,在计算推荐服务和/或产品时,只需要针对A组或者B组用户分布计算和存储,减少计算时间,节约存储空间。

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

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