页面测试方法、装置、计算机设备和存储介质与流程

文档序号:23589882发布日期:2021-01-08 14:25阅读:125来源:国知局
页面测试方法、装置、计算机设备和存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种页面测试方法、装置、计算机设备和存储介质。



背景技术:

随着计算机技术的发展,基于网页的便捷性,通过网页进行信息推广在各个域得到了广泛的应用。

通过研究发现,网页的不同设计,往往会带来不同的应用效果,而导致出现不同应用效果的原因可能是多样的,比如针对一个页面的同一个功能的按钮在不同的位置是否会导致点击率不同,针对一个页面的同一个功能的按钮设计成不同的样式是否会导致点击率不同等。这些猜想需要通过验证来证明,从而便于页面在实际应用中能获得比较好的应用效果。

传统技术中,对于页面的测试验证一般是通过不同实验接入时,单独去写针对该实验的ifelse的规则来引入测试用户,按照规则对页面进行测试。但这种测试方式,会导致测试页面达不到足够访问量和随机访问的访问效果,测试效率和测试准确性较低。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高测试效率和准确性的页面测试方法、装置、计算机设备和存储介质。

一种页面测试方法,方法包括:

响应页面测试事件,确定与页面测试事件对应的测试数据;

根据测试数据,得到待测试页面以及与待测试页面匹配的标签类别;

当接收到访问请求时,根据标签类别和访问请求对应的用户标签,筛选得到与待测试页面匹配的目标测试请求;

根据目标测试请求,对待测试页面进行测试,得到页面测试结果。

事件响应模块,用于响应页面测试事件,确定与所述页面测试事件对应的测试数据;

页面确定模块,用于根据所述测试数据,得到待测试页面以及与所述待测试页面匹配的标签类别;

分流模块,用于当接收到访问请求时,根据所述标签类别和所述访问请求对应的用户标签,筛选得到与所述待测试页面匹配的目标测试请求;

测试模块,用于根据所述目标测试请求,对所述待测试页面进行测试,得到页面测试结果。

一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:

响应页面测试事件,确定与页面测试事件对应的测试数据;

根据测试数据,得到待测试页面以及与待测试页面匹配的标签类别;

当接收到访问请求时,根据标签类别和访问请求对应的用户标签,筛选得到与待测试页面匹配的目标测试请求;

根据目标测试请求,对待测试页面进行测试,得到页面测试结果。

一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

响应页面测试事件,确定与页面测试事件对应的测试数据;

根据测试数据,得到待测试页面以及与待测试页面匹配的标签类别;

当接收到访问请求时,根据标签类别和访问请求对应的用户标签,筛选得到与待测试页面匹配的目标测试请求;

根据目标测试请求,对待测试页面进行测试,得到页面测试结果。

上述页面测试方法、装置、计算机设备和存储介质,通过响应页面测试事件,确定与页面测试事件对应的测试数据,根据测试数据,得到待测试页面以及与待测试页面匹配的标签类别,当接收到访问请求时,确定与访问请求对应的用户标签,采用用户标签的方式可以表征访问请求的请求用户的特征,根据用户标签和标签类别,得到与待测试页面匹配的目标测试请求,以实现对访问请求的分流处理,实现了有针对性的访问请求的筛选即请求用户的有效选择,基于分流得到的与测试页面匹配的目标测试请求,对待测试页面进行测试,相较于基于预设配置访问请求的访问规则的测试方式,能够提高测试效率,通过对访问请求的分流,能够基于访问请求所对应的请求用户得到测试页面的主要受众,对待测试页面进行页面测试,得到更为准确的页面测试结果。

附图说明

图1为一个实施例中页面测试方法的应用环境图;

图2为一个实施例中页面测试方法的流程示意图;

图3为另一个实施例中页面测试方法的流程示意图;

图4为一个实施例中页面测试方法的数据交互示意图;

图5为一个实施例中页面测试方法中抽样过程的流程示意图;

图6为再一个实施例中页面测试方法的流程示意图;

图7为还一个实施例中页面测试方法的流程示意图;

图8为另一个实施例中页面测试方法的流程示意图;

图9为一个实施例中页面测试方法中编辑面板的界面示意图;

图10为另一个实施例中页面测试方法的流程示意图;

图11为另个实施例中页面测试方法的规则数据配置界面的界面示意图;

图12为一个实施例中页面测试装置的结构框图;

图13为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的页面测试方法,可以应用于如图1所示的测试系统中。测试系统102中的管理模块用于进行测试实验的参数配置,测试系统通过响应页面测试事件,获取基于管理模块的可视化编辑界面配置的测试数据中确定待测试页面以及与待测试页面的属性相匹配的标签类别,当接收到访问请求时,确定与访问请求对应的用户标签,根据用户标签和标签类别,得到与待测试页面匹配的目标测试请求,根据目标测试请求,对待测试页面进行测试,得到页面测试结果。测试系统可以是终端,其中,终端可以包括但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,测试系统也可以包括服务器,或是终端与服务器的组合,其中,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种页面测试方法,以该方法应用于图1中的测试系统为例进行说明,包括以下步骤202至步骤208。

步骤202,响应页面测试事件,确定与页面测试事件对应的测试数据。

配置的测试数据是指测试人员根据测试需求配置的用于进行页面测试的测试参数。在实施例中,测试数据可以由测试人员通过实验创建界面输入实验所需的测试数据,基于输入数据配置得到测试数据。其中,测试数据包括待测试页面的页面标识,如页面对应的url(uniformresourcelocator,统一资源定位器)地址,还包括与待测试页面匹配的标签类别。

页面测试事件可以是用户触发的用于针对某个测试实验的触发事件,比如针对配置的页面测试实验的启动图标的按压操作、点击操作或滑动操作等。页面测试事件也可以是通过预设的程序定时或在满足特定条件下自动触发的事件。例如,设定在某个固定时间时开始进行页面测试或是在检测到当前配置的测试数据的条件符合预设条件时,根据符合条件的检测结果,自动触发开始页面检测。

测试系统响应于该页面测试事件,从预先配置的测试实验参数中,得到与该页面测试事件对应的测试数据。在实施例中,针对不同的实验目标,预先配置有多个实验对应的测试数据。不同的页面测试事件可以针对不同的测试数据来进行页面测试。

测试系统根据页面测试事件的触发信息,确定对应的测试数据标识,然后基于测试数据标识,从预先配置的测试实验参数中得到与测试数据标识对应的测试数据。在实施例中,测试实验参数可以由测试系统的管理模块提供的可视化编辑面板进行数据输入,实现测试实验参数的配置。

步骤204,根据测试数据,得到待测试页面以及与待测试页面匹配的标签类别。

其中,待测试页面是指需要进行测试的对象。在实施例中,待测试页面可以是用于验证猜想的实际落地页面,猜想是指实验之前的想法,比如针对一个页面的同一个功能的功能按钮在不同的位置会导致点击率不同,相应地,待测试页面可以是通过对功能按钮的位置进行调整后的落地页面。可选的,与之对应的,还可以将对功能按钮的位置进行调整前的原始页面作为对照页面,从而有助于在页面测试过程中,设计实验组和对照组,通过对比得到更为准确的测试结果。

与待测试页面匹配的标签类别是指测试人员期望对待测试页面进行访问的用户对应标签所属的标签类别。与待测试页面匹配的标签类别可以根据测试需求进行配置。例如,以待测试页面为游戏页面为例,该游戏页面测试面向的主要受众是18岁-26岁这一年龄段的用户,而实际上,该游戏会包含各个年龄段的用户,通过将年龄范围为18-26作为与该待测试页面匹配的标签类别,能够实现对访问请求对应请求用户的筛选条件的配置。

步骤206,当接收到访问请求时,根据标签类别和访问请求对应的用户标签,筛选得到与待测试页面匹配的目标访问请求。

访问请求包括用户通过网络发送的网页访问请求。在实施例中,访问请求可以是由服务器接收,并从服务器转发至测试系统的网页访问请求。针对不同领域的网页测试,测试系统可以通过该领域的软件开发工具包sdk(softwaredevelopmentkit)来获取访问请求。以游戏网页测试为例,基于sdk能够获取众多测试用户对应的网页访问请求,便于在后续处理过程中,将测试用户对应的访问请求接入对应的网页,如原始网页或是与原始网页内容相同的待测试网页等。

用户标签是指用来表征用户属性的特征信息,例如用户年龄、用户性别等,再例如,游戏类用户的用户标签还可以包括付费玩家/非付费玩家、等级特性等。视频类用户的用户标签还可以包括会员用户/非会员用户、会员等级、喜欢的观影类型等。

用户标签是基于用户的注册信息、使用行为记录等预先生成并记录的数据,用户标签与用户账号相关联,基于访问请求中携带的用户账号信息,可以获取到该用户对应的用户标签。

在实施例中,根据用户标签所属的类别是否属于与待测试页面匹配的标签类别中的一个,对访问请求进行筛选,实现与待测试页面匹配的访问请求和不匹配的访问请求的分类,得到与待测试页面匹配的目标测试请求。实现访问请求的分流,分流是指将访问请求对应的请求用户以按照对应的用户标签分为不同的组别,是一种用户分类机制。

在实施例中,待测试页面的数量可以是多个,通过预先配置的分流参数,可以将筛选得到的访问请求按照分流参数进行分流,得到与各个大测试页面匹配的目标测试请求。其中,分流参数可以是按比例分流的比例参数,也可以是按访问请求类别分流的类别参数等。通过对访问请求进行筛选和分流,能够确定对每个待测试页面进行测试的目标测试请求。

步骤208,根据目标测试请求,对待测试页面进行测试,得到页面测试结果。

通过目标测试请求接入待测试页面,使得请求用户能够对待测试页面进行访问,通过统计各测试请求对应请求用户针对该待测试页面的操作行为,得到该待测试页面的页面测试结果。在实施例中,在待测试页面中预先配置有测试埋点作为数据指标,根据测试埋点和目标测试请求对应的操作行为,对页面测试结果按数据指标进行计算处理,得到具有针对性的测试结果。

上述页面测试方法,通过响应页面测试事件,确定与页面测试事件对应的测试数据,根据测试数据,得到待测试页面以及与待测试页面匹配的标签类别,当接收到访问请求时,确定与访问请求对应的用户标签,采用用户标签的方式可以表征访问请求的请求用户的特征,根据用户标签和标签类别,得到与待测试页面匹配的目标测试请求,以实现对访问请求的分流处理,实现了有针对性的访问请求的筛选即请求用户的有效选择,基于分流得到的与测试页面匹配的目标测试请求,对待测试页面进行测试,相较于基于预设配置访问请求的访问规则的测试方式,能够提高测试效率,通过对访问请求的分流,能够基于访问请求所对应的请求用户得到测试页面的主要受众,对待测试页面进行页面测试,得到更为准确的页面测试结果。

在一个实施例中,如图3所示,当接收到访问请求时,根据标签类别和访问请求对应的用户标签,筛选得到与待测试页面匹配的目标测试请求包括步骤302至步骤306。

步骤302,当接收到访问请求时,根据访问请求对应的用户标识,确定访问请求对应的用户标签。

步骤304,对用户标签属于标签类别的访问请求进行筛选,得到备选测试请求。

步骤306,对备选测试请求进行抽样,得到目标测试请求。

用户标识具体可以是用户的openid,openid是指网站上或应用中唯一对应用户身份的标识,通过将其与用户在网站上或应用中的原有账号进行绑定,便于用户下次登录时辨识其身份。测试系统基于标签服务,获取与用户标识对应的用户标签。其中,标签服务是指基于用户账号等用户标识,通过对用户标识对应的用户基本信息和行为信息,对该用户标识进行用户画像得到的用户标签的功能模块,该标签服务能够对接收用户标识进行分析处理,反馈该用户标识对应的用户标签至用户标识的发送方。

在实施例中,如图4所示,测试系统通过基于sdk接入访问请求,基于访问请求对应的用户标识,向标签服务发送请求,拉取该用户标识对应的标签,通过管理模块配置的与待测试页面对应的标签类别,同步标签配置,基于配置的标签类别和拉取的标签,实现对访问请求的筛选,通过预先配置的分流参数和分类算法,对筛选得到的访问请求进行分流,基于规则引擎,将分流后的访问请求接入至各个页面,其中接入待测试页面的访问请求为目标测试请求。

其中,规则引擎是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据规则做出业务决策。规则存储的时候是使用json格式,规则引擎基于对json格式的规则进行解析,获取详细的规则配置,通过规则引擎,实现了规则数据的可视化编辑操作。

标签类别中包括一个或多个标签,也就是说,通过确定待测试页面匹配的标签类别,筛选用户标签属于该标签类别的访问请求,可以得到与待测试页面匹配的备选测试请求。

备选测试请求是指按用户标签对访问请求进行筛选得到的结果。由于测试系统接入的访问请求的数量可能是百万级的,对于筛选得到的测试请求的数量基数可能也是极大的,在此情况下,将筛选得到的所有测试请求都用于进行测试显然是不合理的,通过对筛选得到的备选测试请求进行抽样,能够实现目标测试请求数量的控制。抽样处理实际上是对访问请求的二次筛选,通过抽样的方式进行二次筛选,能够在针对性的筛选基础上实现数量的有效控制,能够快速准确地得到测试结果。

在实施例中,抽样可以是取模随机抽样、标签抽样或是取模随机抽样和标签抽样的组合。

其中,取模随机抽样的过程包括:

根据备选测试请求对应的用户标识,对用户标识进行哈希处理,得到固定字节长度的数组,根据预设的取模参数,对数组进行取模运算,根据取模运算的结果,对备选测试请求进行随机抽样。

用户标识具体可以是用户的openid。openid是指网站上或应用中唯一对应用户身份的标识,通过将其与用户在网站上或应用中的原有账号进行绑定,便于用户下次登录时辨识其身份。使用murmur3算法对openid进行哈希计算,生成一个固定位数的无符号整型,其中,固定位数可以是32位、64位等,该固定位数可以根据实际需要进行调整。

取模运算是指通过对整数取整数商之后得到的模,例如,5mod3=2为例子,模为3,2为取模的值。预设的取模参数是指进行取模运算的模,在实施例中,假设分流算法最多支持100个桶,则取模参数可以为100,以100为取模的值,对数组进行取模运算,将备选测试请求分流成100份数据集,以达到数据分流的效果。在其他实施例中,也可以根据待测试页面的数据量来确定取模参数的具体数值。在实施例中,若待测试页面的数量为5个,则预设的取模参数可以为5、5的倍数或是分流算法支持的最大值。通过取模运算的结果得到了多个数据集之后,根据待测试页面的数量和分流后的数据集,实现对备选测试请求的随机抽样。

标签抽样的过程包括:

根据备选测试请求对应的用户标签和从标签类别中选取的目标标签类别,对备选测试请求进行抽样。

目标标签类别是指测试人员对于待测试页面匹配的多个标签类别中选择出的标签类别。在实施例中,目标标签类别的筛选可以是随机选取,也可以是根据实际需要进行选择。

在其中一个实施例中,如图5所示,抽样过程包括从配置数据中获取测试人员配置的抽样方法,抽样方法包括随机抽样和标签抽样的组合(在其他实施例中,也可以只有随机抽样或是标签抽样中的一种抽样方式),在随机抽样的过程中,以openid为用户的qq账号为例,通过哈希处理随机生成id,通过对随机生成的id进行取模运算,得到待分组数据,便于进行测试请求的分组。在标签抽样的过程中,根据qq账号对应的用户标签和管理模块中查询到的测试人员配置的目标标签类别,得到待分组数据。基于待分组数据和测试人员配置在规则引擎中的规则数据,对待分组数据进行分组处理。其中,规则数据包括进入测试环境的分配比例数据。当测试环境中的测试对象包括待测试页面和对照页面时,规则数据还包括待测试页面和对照页面的分配比例数据。

在一个实施例中,如图6所示,根据目标测试请求,对待测试页面进行测试,得到页面测试结果包括步骤602至步骤606。

步骤602,获取对照页面与待测试页面的测试请求分配比例,其中,对照页面为与待测试页面形成对照的测试页面。

步骤604,根据测试请求分配比例,对目标测试请求进行比例分配。

步骤606,根据比例分配的结果,对对照页面和待测试页面分别进行测试,得到页面测试结果。

对照页面是指用于与待测试页面形成对照的测试页面。在实施例中,利用实验组和对照组对猜想进行验证的流程,比如验证同一个功能的按钮在页面不同的位置的用户点击率。其中,实验组是指对猜想的实际落地的实验页面即待测试页面,对照组是指猜想之前的原始页面即对照页面。

测试人员通过管理模块的参数配置界面配置对照页面与待测试页面的测试请求分配比例。测试系统在对目标测试请求进行比例分配时,基于管理模块中配置的测试请求分配比例,得到目标测试请求的比例分配结果,比例分配的结果包括用于对对照页面进行测试的第一部分目标测试请求以及用于对待测试页面进行测试的第二部分目标测试请求,根据第一部分目标测试请求对对照页面进行测试,得到对照页面测试结果,第二部分目标测试请求对待测试页面分别进行测试,得到待测试页面测试结果,通过将对照页面测试结果与待测试页面测试结果进行对比整合,得到页面测试结果。通过实验组和对照组进行对照实验,能够在参照条件下得到更为可靠有效的页面测试结果。

在实施例中,如图7所示,页面测试方法还包括步骤702至步骤704。

步骤702,当检测到测试前的测试页面设置事件或测试过程中的测试页面修改事件时,推送选定的待编辑页面。

步骤704,响应对待编辑页面的元素编辑操作,对待编辑页面中的元素进行编辑,得到最新的待测试页面。

待测试页面可以在测试前或是测试过程中通过可视化的操作方式进行编辑调整。选定的待编辑页面可以是对照页面或初始的设计页面。测试人员可以通过可视化编辑,对待编辑页面进行编辑,得到最新的待测试页面,其中,可视化编辑是指前端的一种技术,编辑者不需要会写前端代码,直接进行页面拖动按钮等元素,就可以完成交互页面的编辑和配置,且具有即时修改即时生效的特点。

测试前的测试页面设置事件可以是测试人员进入预先配置的页面设置界面,或是根据预设的配置顺序,在规则配置流程结束时触发测试页面设置事件选定待编辑页面,进行页面配置。测试过程中的测试页面修改事件可以是在整个测试实验过程中,当测试人员认为当前测试进程所达到的测试效果不符合预期时,展示选定的待编辑页面,以通过对待编辑页面进行编辑调整,得到最新的待测试页面。测试系统通过响应测试人员针对待编辑页面的元素编辑操作,对待编辑页面中的元素进行编辑,得到最新的待测试页面,通过可视化编辑的方式,能够做到随时编辑,随时生效,在实验的任意过程中都可以进行页面调整。

在其中一个实施例中,如图8所示,当检测到测试前的测试页面设置事件或测试过程中的测试页面修改事件时,推送选定的待编辑页面包括步骤802至步骤804。

步骤802,当检测到测试前的页面设置事件或测试过程中的页面修改事件时,进入用于展示待编辑页面的编辑面板界面。

步骤804,获取测试配置数据中的测试页面地址,将测试页面地址对应的待编辑页面加载至编辑面板的页面展示区域。

测试系统在检测到测试前的页面设置事件或测试过程中的页面修改事件时,进入编辑面板界面。编辑面板界面的编辑面板包括页面展示区域,用于展示待编辑页面,测试人员可以通过编辑面板对加载的待编辑页面进行编辑。待编辑页面可以从测试配置数据中获取测试页面地址得到,测试页面地址可以是测试人员需要进行测试的页面的url地址。其中,测试配置数据包括响应页面测试实验创建操作获取的输入数据,在页面测试实验创建过程中,测试人员通过实验创建页面,输入实验配置数据。

在实验前的数据配置过程和实验过程中的数据修改过程中,可以通过可视化编辑的方式对待测试页面和与待测试页面匹配的标签类型进行配置,简化测试人员的配置过程,提高配置效率。

在一个实施例中,响应对待编辑页面的元素编辑操作,对待编辑页面中的元素进行编辑,得到最新的待测试页面包括:检测针对待编辑页面的元素编辑操作,元素编辑操作包括元素属性数据编辑操作或元素图标编辑操作中的任意一种。根据元素编辑操作对应的编辑结果,得到最新的待测试页面,其中,编辑结果包括对元素尺寸、元素位置、元素背景、元素文本样式、元素可见参数以及元素边框中的至少一种元素数据的编辑结果。

如图9所示,边界面板界面上展示的编辑面板包括页面展示区域和元素属性数据展示区域。待编辑页面由多个元素构成,对于每一个元素,测试人员都可以通过编辑面板进行编辑,具体来说,对页面中的元素编辑方式包括两种:第一种是直接对页面中的元素进行编辑,如拖动元素的位置,调节元素的尺寸等。另一种方式是通过元素属性数据展示区域对元素属性数据进行修改。

在一个实施例中,如图10所示,提供了一种页面测试方法,包括以下步骤:

步骤1002,当检测到测试前的页面设置事件或测试过程中的页面修改事件时,进入用于展示待编辑页面的编辑面板界面。

步骤1004,获取测试配置数据中的测试页面地址,将测试页面地址对应的待编辑页面加载至编辑面板的页面展示区域。

步骤1006,检测针对待编辑页面的元素编辑操作,元素编辑操作包括元素属性数据编辑操作或元素图标编辑操作中的任意一种。

步骤1008,根据元素编辑操作对应的编辑结果,得到最新的待测试页面,其中,编辑结果包括对元素尺寸、元素位置、元素背景、元素文本样式、元素可见参数以及元素边框中的至少一种元素数据的编辑结果。

步骤1010,响应页面测试事件,确定与页面测试事件对应的测试数据。

步骤1012,根据测试数据,得到待测试页面以及与所述待测试页面匹配的标签类别。

步骤1014,当接收到访问请求时,根据访问请求对应的用户标识,确定访问请求对应的用户标签。

步骤1016,对用户标签属于标签类别的访问请求进行筛选,得到备选测试请求。

步骤1018,对备选测试请求进行抽样,得到目标测试请求,抽样包括取模随机抽样和标签抽样中的至少一种抽样方式。

步骤1020,获取对照页面与待测试页面的测试请求分配比例,其中,对照页面为与待测试页面形成对照的测试页面。

步骤1022,根据测试请求分配比例,对目标测试请求进行比例分配。

步骤1024,根据比例分配的结果,对对照页面和待测试页面分别进行测试,得到页面测试结果。

本申请还提供一种页面测试方法在实验平台中对游戏页面进行测试的应用场景,该应用场景应用上述的页面测试方法。具体地,该页面测试方法在该应用场景的应用如下:

实验平台对接不同的游戏,不同游戏的用户的属性有所区别,不同种类的游戏都有进行实验的需求,如何统一进行配置管理,做到高效快速的基于用户游戏属性的分组是保证顺利实验的前提。

在该实验平台中,引入可视化编辑、实验规则配置和规则引擎来实现页面测试,其中规则引擎分为两个模块,分别是分流算法模块和规则引擎模块。其中,可视化编辑技术能够让产品运营人员对落地页的按钮等前端元素进行细节调整和修改,且是即时修改即时生效的。实验规则配置,实验平台具有页面设置实验规则标签,规则标签影响每个实验组、对照组的用户流量占比。分流算法模块是基于openid的使用murmur3算法对用户openid进行计算,生成一个32位无符号整型,然后固定对100%取模(分流算法将所有用户看成100%),规则引擎模块,使用ruleengine规则引擎从管理平台获取规则配置,按实验分类进行预加载,兼容不同属性和游戏,进行用户匹配,最终基于接入的访问请求呈现给不同的用户不同的实验页面,配置可以灵活修改,可以灵活调整试验周期、实验规则等。

与传统的页面测试方式相比较,传统方式是不同实验接入的时候单独去写针对该实验的ifelse的规则,且分流中采用的是用户染色和提前设定用户的号码包进行人为分组。在实验前,需要设置规则,制作落地页,编写的ifelse的规则不支持实验中进行规则修改,每设置一次规则,规则代码就需要调整,而且用户染色和号码包导入需要提前指定用户,且不可预测这些用户的访问量,可能会对实验结果造成影响。当落地页和规则设置完成后,将实验组和对照组的页面发布到线上进行测试,如果需要提前或者延期结束实验需要修改代码来实现。

而本方案中,如图11所示,在实验开始前,先通过实验创建面板进行实验配置。首先,输入实验目标,具体包括目标名称,如提升游戏中的微社区每日的pv,实验的起止时间。可选的,实验目标还可以包括原始页面的url以及关于实验目标的描述信息。

在确定好实验目标之后,需要配置实验方案和试验内容。其中,实验方案包括方案所属的实验目标、待验证的猜想起止时间等。实验内容包括实验基本信息、实验详细要求、设置流量分配以及选择数据指标四大配置界面。

其中,实验基本信息包括实验方案、起止时间、实验类型、实验层级和实验组数。举例来说,实验方案可以是调整官网首页大图中英雄的位置、实验类型包括功能实验和策略实验,功能实验主要用于社区业务,策略实验基于广告流量,主要用于品牌方案、营销策略等。实验层级是指测试平台按照实验层id,对各个实验进行分层正交,每个跑动中的实验占用一个虚拟实验层,测试平台中的实验层共设置有50层。实验组数是指除对照以外的待测试页面的数量。

实验详细要求的配置主要用于配置落地页,在实验详细要求的配置页面,可以填入具体的落地页的url,落地页的数量可以是多个,在该配置页面中,还可以填入具体的对照页的url。

在设置流量分配的配置界面,可以输入加入测试的流量占比,加入实验组的流量占比以及加入对照组的流量占比。

在选择数据指标的配置界面,可以选择用于评估测试页面的测试指标,基于测试请求对待测试页面的访问及其对应的用户行为,可以得到具有针对性的页面测试结果。

在实验基本信息、实验详细要求、设置流量分配以及选择数据指标四大配置界面的数据配置完成之后,得到实验信息,进入编辑面板,使用前端editor.js组件实现页面的可视化编辑功能,可视化编辑整体流程包括:使用editor.js组件初始化编辑面板,编辑面板中包括元素尺寸、元素位置(绝对定位或是相对定位)、背景色或是背景图、文本样式、可见性、边框以及图片上传的编辑框,通过加载实验信息,根据实验信息中的url地址获取待编辑页面,将待编辑页面中的信息填充至编辑面板中的页面展示区域,通过响应测试人员的元素编辑操作对页面中的元素进行编辑,在选择好埋点信息之后,可以对编辑后的页面进行预览,通过保存编辑后的页面,由测试平台对待测试页面中的元素合理性进行二次确认,在确认无误后,上线进入测试阶段。

在测试过程中,规则引擎中的标签模块从管理服务获取实验对应的标签服务配置,当测试平台接收到访问请求时,根据配置数据去实验对应的标签服务拉取标签,然后填充到访问请求中。然后利用规则引擎模块从管理模块获取配置的规则数据,按实验分类对规则数据进行预加载,当测试平台接收到访问请求时直接执行规则匹配,按照规则数据中的比例数据,将访问请求引入对应的待测试页面。

通过上述处理过程,利用前端可视化编辑,做到随时编辑,随时生效,实验前、中、后都可以进行页面调整,且实验上线的时候直接利用可视化编辑的保存的json格式配置,利用规则引擎对json进行解析,最后随时可以进行实验调整与临时下线。采用可配置化的通用规则引擎和基于openid的分流可以达到实验前只需要产品人员即时配置规则,即时上线,随时调整实验周期和分流与规则。

应该理解的是,虽然上述实施例中涉及的各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例中涉及的各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图12,提供了一种页面测试装置1200,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:事件响应模块1202、页面确定模块1204、分流模块1206和测试模块1208,其中:

事件响应模块1202,用于响应页面测试事件,确定与所述页面测试事件对应的测试数据;

页面确定模块1204,用于根据所述测试数据,得到待测试页面以及与所述待测试页面匹配的标签类别;

分流模块1206,用于当接收到访问请求时,根据所述标签类别和所述访问请求对应的用户标签,筛选得到与所述待测试页面匹配的目标测试请求;

测试模块1208,用于根据所述目标测试请求,对所述待测试页面进行测试,得到页面测试结果。

在一个实施例中,分流模块还用于当接收到访问请求时,根据访问请求对应的用户标识,确定访问请求对应的用户标签,对用户标签属于标签类别的访问请求进行筛选,得到备选测试请求;对备选测试请求进行抽样,得到目标测试请求。

在一个实施例中,抽样包括取模随机抽样和标签抽样中的至少一种抽样方式。

在一个实施例中,分流模块还用于根据备选测试请求对应的用户标识,对用户标识进行哈希处理,得到固定字节长度的数组,根据预设的取模参数,对数组进行取模运算,根据取模运算的结果,对备选测试请求进行随机抽样;

在一个实施例中,分流模块还用于根据备选测试请求对应的用户标签和从标签类别中选取的目标标签类别,对备选测试请求进行抽样。

在一个实施例中,测试模块还用于获取对照页面与待测试页面的测试请求分配比例,其中,对照页面为与待测试页面形成对照的测试页面;根据测试请求分配比例,对目标测试请求进行比例分配;根据比例分配的结果,对对照页面和待测试页面分别进行测试,得到页面测试结果。

在一个实施例中,页面测试还包括配置管理模块,用于当检测到测试前的测试页面设置事件或测试过程中的测试页面修改事件时,推送选定的待编辑页面;响应对待编辑页面的元素编辑操作,对待编辑页面中的元素进行编辑,得到最新的待测试页面。

在一个实施例中,配置管理模块还用于当检测到测试前的页面设置事件或测试过程中的页面修改事件时,进入用于展示待编辑页面的编辑面板界面;获取测试配置数据中的测试页面地址,将测试页面地址对应的待编辑页面加载至编辑面板的页面展示区域。

在一个实施例中,配置管理模块还用于检测针对待编辑页面的元素编辑操作,元素编辑操作包括元素属性数据编辑操作或元素图标编辑操作中的任意一种;根据元素编辑操作对应的编辑结果,得到最新的待测试页面,其中,编辑结果包括对元素尺寸、元素位置、元素背景、元素文本样式、元素可见参数以及元素边框中的至少一种元素数据的编辑结果。

关于页面测试装置的具体限定可以参见上文中对于页面测试方法的限定,在此不再赘述。上述页面测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图13。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种页面测试方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图13出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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