具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
考虑到现有的页面版本的测试方法在对某个待测试的网络产品(例如某个手机的APP)的不同页面版本进行测试评价时,往往需要预先在服务器一侧编写并布设相应的执行代码。当用户想要获取该产品的某个页面数据来访问对应页面时,服务器会先通过运行上述执行代码,确定该用户所对应的测试版本类型,进而再将预先准备好的该版本类型的页面数据反馈给用户。其中,上述该版本类型的页面数据是技术人员预先根据具体的测试要求,另外编辑并内嵌有对应的用于测试的逻辑代码的页面数据。这样用户在接收到该版本类型的页面数据,并根据该数据在客户端展示出对应页面后,内嵌于该页面数据中逻辑代码会对用户的行为数据进行采集,并将所采集到的行为数据发送至服务器,以便服务器可以对该版本类型的用户体验进行评价,完成测试。
但是上述方法在实施过程中,需要耗费服务器的内存资源来运行布设于服务器一侧的执行代码来判断用户所对应的测试版本,并找到发送对应版本的页面数据,势必会增加服务器一侧的数据处理量,增加服务器的处理负担。当参阅测试的用户数量较为庞大时,上述影响会更加严重,甚至还会影响到服务器正常的业务数据处理,导致服务器的运行存在风险。此外,上述方法在实施时,后台技术人员需要对每一个测试版本的页面数据分别编写并内嵌对应的逻辑代码,还会增加测试的成本,增加技术人员的工作量。当涉及到的版本类型较多或者测试较为频繁时,上述问题更为明显。综上可见,现有的页面版本的测试方法在实施时,确实容易存在实施成本高、实施过程繁琐、数据处理量大的技术问题。
针对产生上述问题的根本原因,本说明书考虑可以在设置在客户端的浏览器中内嵌相应的测试组件,从而可以通过该测试组件,利用客户端的资源来判断使用该客户端的用户所对应的测试版本类型,再向服务器发送对应版本类型的页面数据的获取请求,服务器只要把预先进行埋点处理后的对应的版本类型的页面数据发送给客户端即可,这样可以有效地降低服务器一侧的数据处理量,减少服务器一侧资源的占用和消耗,缓解服务器的处理压力。同时,所提供给用户的对应版本的页面数据也不需要预先分别编写并内嵌相应的用于测试的逻辑代码,只要进行埋点处理即可。这样客户端在接收到上述对应版本的页面数据并通过浏览器向用户展示出对应页面时,可以通过上述测试组件根据页面中的埋点信息自动地采集用户的行为数据提供给服务器,从而可以有效地降低实施成本,减少后台技术人员的工作量。即达到降低实施成本,提高处理效率的技术效果。
本说明书实施例提供了一种页面版本的测试方法,所述页面版本的测试方法具体可以应用于包含有第一服务器、第二服务器和客户端的系统架构中。具体可以参阅图1所示。其中,上述第一服务器负责为客户端提供用户想要访问的页面的对应测试版本的页面数据的服务器,上述第二服务器负责采集用户在对应测试版本页面上的行为数据,并根据上述行为数据对该测试版本进行测试评价的服务器。上述第一服务器、第二服务器和客户端具体可以通过有线或无线的方式耦合,以进行数据交互。需要说明的是,上述第一服务器和第二服务器具体可以是两个分别用于实现对应功能的独立的服务器,也可以是集成上述两种服务器功能的一个服务器。对此,本说明书不作限定。
具体实施时,客户端可以先调用预设于客户端的浏览器中的测试组件来获取用户想要访问的目标页面的地址数据;再通过该测试组件根据目标页面的地址数据、用户的身份信息和配置字典,自动确定该用户的对应的目标测试版本,并生成与该目标测试版本的目标页面数据对应的目标地址,再根据该目标地址生成对应的目标页面数据获取请求,并向第一服务器发送上述目标页面数据获取请求。第一服务器在接收到上述目标页面数据获取请求后,可以根据该请求中所携带的目标地址,从预先准备好的多个测试版本的页面数据找到对应版本的页面数据作为上述目标测试版本的目标页面数据,再将上述数据反馈给客户端。其中,上述目标测试版本的目标页面数据为预先进行埋点处理后的数据。客户端在接收到该目标测试版本的目标页面数据后,可以基于该数据通过浏览器向用户展示对应的目标页面。同时,通过测试组件可以根据页面中的埋点自动采集用户的行为数据,并将所采集到的用户的行为数据发送至第二服务器。第二服务器可以根据所接收到的用户针对目标测试版本的目标页面的行为数据进行分析处理,从而对目标测试版本进行对应的测试评价。
在本实施例中,上述第一服务器、第二服务器具体可以是一种应用于业务平台一侧,能够实现数据传输、数据处理等功能的后台业务服务器。具体的,所述服务器可以为一个具有数据运算、存储功能以及网络交互功能的电子设备;也可以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件程序。在本实施方式中,并不具体限定第一服务器、第二服务器所包含的服务器的数量。第一服务器或第二服务器具体可以为一个服务器,也可以包含几个服务器,或者,由若干服务器形成的服务器集群。
在本实施例中,所述客户端具体可以是一种应用于用户一侧,能够实现数据采集、数据传输等功能的前端设备。具体地,所述客户端可以为台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、导购终端、具有网络访问功能的电视机等。或者,所述客户端也可以为能够运行于上述电子设备中的软件应用。例如,可以是在手机上运行的某APP等。
在一个场景示例中,可以参阅图2所示,应用本说明书实施例提供的页面版本的测试方法对某网络平台的手机APP上的待上线的A版本、B版本两种不同版本的页面进行用户测试。
某网络平台推出了该平台的手机APP,该手机APP本身可以作为一种浏览器,用户可以通过该手机APP浏览该平台上的商品页面。该网络平台准备更新该手机APP展示的推荐商品页面的样式,以进一步提高用户体验,使得更多用户愿意使用该平台的手机APP浏览商品,购买推荐商品页面中的商品,提高成交量。
目前该网络平台准备了两种不同版本的推荐商品页面:A版本页面和B版本页面。可以参阅图3所示,上述两种版本页面所展示的商品,以及相关的商品信息相同,但两种版本页面的样式,例如页面的排版、字符的展示方式以及图片的布设位置等存在区别。该网络平台希望将上述两种版本的页面随机推送给一批用户进行测试,再根据测试结果确定上述两种版本的页面哪种用户体验度较高、更受用户欢迎,进而将该版本页面确定为最终的版本页面作为该平台APP展示给用户的推荐商品页面。
在本场景示例中,参与测试的用户甲使用自己的手机作为客户端,在点击进入手机上安装的该平台的手机APP时,手机的显示屏上首先会展示出该网络平台的首页面。在该网络平台的首页面的中心位置处会展示有“本日推荐商品”图标。这时,用户可以通过点击该图标,以触发进入对应的推荐商品页面(可以理解为本场景示例中的目标页面)。
手机接收并响应用户甲的上述操作,调用预设于该平台的手机APP中的测试组件获取与被触发的“本日推荐商品”图标对应的推荐商品页面的地址数据,例如,该推荐商品页面的url地址,记为url0。其中,上述测试组件具体可以理解为一种预先内嵌于该平台的手机APP的浏览器模块中的一段用于负责参与完成页面版本测试的代码文件,基于该代码文件可以实现与页面版本测试相关的数据处理。具体的,该测试组件可以是内嵌于浏览器引擎中的测试逻辑。当然,需要说明的是,根据用户手机上与该平台的手机APP相关页面的展示方案,上述测试组件还可以是预设于客户端的其他位置处。例如,某个APP本身也可以不支持网页页面的展示,不能作为浏览器使用,这时当用户触发该APP中所展示的某个商品图标时,该APP可以通过调用用户手机中G浏览器来展示与被触发的商品图标对应的网页页面。在这种情况下,也可以在上述G浏览器中预先内嵌有上述测试组件。当然,需要说明的是,上述所列举的情况只是一种示意性说明。具体实施时,根据具体的应用场景,以及客户端展示页面的具体方案,可以将上述测试组件预先设置在客户端的合适位置处。对此,本说明书不作限定。
测试组件在获取了上述推荐商品的页面的地址数据的同时,还会通过读取用户登录该平台的手机APP的账户信息等方式获取该用户的身份信息,例如,获取该用户的账户名称、身份ID或者注册邮箱等等。
进一步,测试组件还会调用预设于客户端的配置字典,先根据上述配置字典和上述推荐商品页面的地址数据对用户甲想要触发的页面是否是测试对象进行判断。其中,上述配置字典是根据负责测试的第二服务器所提供的配置信息生成的,上述配置字典具体可以包含有的测试对象的签名(例如推荐商品页面所对应的签名),以及所述测试对象所包含的多个测试版本的地址数据和流量配置参数(例如A版本页面的地址数据、A版本页面的流量配置参数、B版本页面的地址数据、B版本页面的流量配置参数)等数据。
具体的,测试组件可以先从上述获取的推荐商品页面的地址数据中先分离出预设字符段,例如,地址数据中的query字段和fragment string字段等。上述预设字符具体可以理解为用于表征页面中的内容信息的字符数据,也可以称为动态字符段。例如,用于表征推荐商品页面中的商品信息的字符段等。
测试组件可以根据分离后的地址数据生成对应的推荐商品页面的签名。再检索上述配置字典,确定是否在该配置字典中存在与该签名匹配的测试对象的签名。如果在上述配置字典中检索到与该页面签名匹配的测试对象的签名,则可以确定该页面为需要进行页面版本测试的页面,即是测试对象。相对的,如果在上述配置字典中没有检索到与该页面标签匹配的测试对象的签名,则可以确定该页面为不需要进行页面版本测试的页面,即不是测试对象。
在本实施例中,由于测试组件在配置字典中检索到了与推荐商品页面的签名匹配的测试对象的签名,因此可以确定该页面为测试对象,进而可以进行后续针对该用户的测试版本的判断,即确定展示给用户甲的页面是A版本页面还是B版本页面。
具体实施时,测试组件可以先根据用户的身份信息,以及配置字典中所包含的A版本页面的流量配置参数、B版本页面的流量配置参数,进行运算,得到运算结果;再根据运算结果确定与该用户对应的测试版本作为目标测试版本。例如,将用户甲的身份ID与A版本页面的流量配置参数和B版本页面的流量配置参数分别作哈希运算,根据运算结果确定出A版本为与用户甲对应的版本(即用户甲所命中的版本),进而可以将A版本确定为对应用户甲的目标测试版本。
在确定出目标测试版本后,测试组件可以先通过检索上述配置字典得到A版本的地址数据(例如可以记为urlA)。再利用之前分离出来的预设字符段与A版本的地址数据进行拼接,得到完整的地址数据,作为与A版本的推荐商品页面对应的访问地址,可以记为目标地址(例如可以记为urlA0)。其中,上述目标地址可以用于指示预先存储于负责向客户端反馈页面数据的第一服务器的A版本的推荐商品页面的页面数据。
进而该平台的手机APP可以根据上述目标地址生成对应的目标页面数据获取请求,其中,上述目标页面数据获取请求中携带有上述目标地址,并将上述目标页面数据获取请求发送至第一服务器。
第一服务器在接收到上述目标页面数据获取请求后,可以先解析出该目标页面数据获取请求所携带的目标地址,再根据该目标地址作为索引,从多个测试版本的页面数据中确定并获取对应的,预先进行埋点处理好的A版本的推荐商品页面的页面数据,即目标测试版本的目标页面数据。再将上述目标测试版本的目标页面数据发送至用户甲的手机。
用户甲的手机在接收到上述目标测试版本的目标页面数据后,可以通过该平台的手机APP中的浏览器模块根据所获取的目标页面数据,向用户展示出对应的A版本的推荐商品页面。这样用户甲可以基于所展示的A版本的推荐商品页面进行浏览、收藏、购买等操作。例如,可以根据所获取的目标页面数据,通过执行基于HTML5网页页面渲染来生成并展示目标测试版本的目标页面。
在用户甲对手机所展示的A版本的推荐商品页面进行相应操作时,测试组件则会根据该页面中的埋点,自动地采集用户针对A版本的推荐商品页面的行为数据。例如,采集用户针对该页面中商品的收藏图标的点击操作数据、用户针对该页面中商品的购买图标的点击操作数据、用户针对该页面的商品图片的浏览触发操作数据、用户在该页面中文本输入框中输入所想要的尺寸的输入操作数据等等作为用户的行为数据。并将用户甲的行为数据发送至第二服务器。
第二服务器在接收到用户甲针对A版本的推荐商品页面的行为数据后,可以对上述行为数据的分析处理,根据预设的评分规则,确定出用户甲对A版本的用户体验分数值。例如,如果统计出用户甲在A版本的推荐商品页面中的针对商品的收藏图标的点击操作的次数较多,则可以认为用户甲对A版本的评价较高,相应的可以将用户甲对A版本的用户体验分数值设置得相对较高。如果统计出用户甲在A版本的推荐商品页面中的针对商品的收藏图标的点击操作的次数较少,则可以认为用户甲对A版本的评价较低,相应的可以将用户甲对A版本的用户体验分数值设置得相对较低。
按照类似的测试方式,用户乙、用户丙、用户丁等参与测试的用户都可以通过自己所使用的手机、平板电脑或者智能手表等作为客户端,通过预设于客户端中的该平台的APP的测试组件确定用户所对应的版本,再生成对应版本的推荐商品页面的目标地址,以便从第一服务器中获取对应的预先进行了埋点处理的对应版本的推荐商品页面的页面数据,并在客户端展示出对应版本的推荐商品页面。同时各个测试组件会根据页面中的埋点分别采集各个用户针对所对应版本的推荐商品页面的行为数据,并将上述行为数据分别发送至第二服务器。第二服务器在接收到上述各个用户针对对应版本的推荐商品页面的行为数据后,可以按照确定用户甲对A版本的用户体验分数值的方式分别计算出各个用户对所对应的测试版本的用户体验分数值。再按照加权求和地方式确定测试用户整体分别对A版本和B版本的用户体验分数值。进而可以根据测试用户整体分别对A版本和B版本的用户体验分数值,选择用户体验分数值较高的版本作为最终版本。
例如,在本场景示例中,确定出测试用户整体对A版本的用户体验分数值高于对B版本的用户体验分数值,因此可以将A版本作为推荐商品页面的最终版本。进而可以正式使用A版本页面来显示推荐商品页面。
由上述场景示例可见,本说明书提供的页面版本的测试方法,由于通过调用预设于客户端的浏览器中的测试组件根据所获取的目标页面的地址数据、用户的身份信息和配置字典先从第一服务器所保存的多个测试版本中判断与用户对应的目标测试版本,以生成与目标测试版本的目标页面数据对应的目标地址;再根据该目标地址,从第一服务器获取目标测试版本的目标页面数据并在客户端向用户展示出对应的目标测试版本的目标页面;同时又通过测试组件采集用户针对上述目标测试版本的目标页面的行为数据,并将上述行为数据发送至第二服务器,以便第二服务器可以根据上述行为数据对目标测试版本进行关于用户体验的测试评价,避免了需要对多个测试版本中的各个测试版本的页面数据分别编辑设置对应的逻辑代码,同时降低了第二服务器所承受的数据处理量,从而解决了现有方法存在的实施成本高、实施过程繁琐、数据处理量大的技术问题,达到降低实施成本,提高处理效率的技术效果。
参阅图4所示,本说明书实施例提供了一种页面版本的测试方法,其中,该方法具体可以应用于客户端一侧。具体实施时,该方法可以包括以下内容。
S41:调用测试组件获取目标页面的地址数据,以及用户的身份信息,其中,所述测试组件预设于客户端的浏览器中。
在本实施例中,具体实施时前,上述浏览器具体可以是预设于客户端上用于浏览网页页面的独立的应用程序,例如可以是XX浏览器APP;也可以是内嵌于客户端上设置的软件应用中,受该软件应用调用的支持网页页面展示或者展示软件应用的相应界面的程序模块,例如可以是内嵌于TB购物APP中的用于浏览商品网页页面的浏览器模块等。对于上述浏览器的具体形式本说明书不作限定。
在本实施例中,上述测试组件具体可以理解为预先设置或内嵌于上述浏览器中的,用于负责配合参与完成多种页面版本测试的代码文件(也可以称为一种判断和执行逻辑)。通过该代码文件,客户端可以进行与对应版本的页面测试相关的数据处理。例如,确定所在客户端所对应的测试版本;采集并传输所在客户端的用户在对应的测试版本的页面中的行为数据;或者接收与页面版本测试相关的配置信息,生成对应的配置字典等等。
在本实施例中,上述目标页面具体可以理解为用户通过客户端想要访问的网页页面,或者用户想要触发打开的某软件应用中界面等。例如,可以是某网络平台的商品页面、信息查询页面等,还可以是某个APP中的用户交互界面等。对于上述目标页面的具体内容以及具体形式,本说明书不作限定。
在本实施例中,上述目标页面的地址数据具体可以理解为一种指示目标页面的页面数据的地址数据。例如,url(Uniform Resource Locator,统一资源定位符)格式的地址数据等,在本实施例中,可以记为url0。通常负责提供页面的服务器可以根据上述目标页面的地址数据找到对应的页面数据反馈给客户端,以便在客户端上向用户展示对应的目标页面。当然,需要说明的是,上述所列举的地址数据只是一种示意性说明。具体实施时,根据具体情况,还可以使用其他类型的地址数据作为目标页面的地址数据。对此,本说明书不作限定。
在本实施例中,上述用户的身份信息具体可以理解为一种用于指示使用客户端的用户的信息数据。具体的,上述用户的身份信息可以是用户使用的账户名称,也可以是用户的身份ID,还可以是用户注册邮箱、手机号码等等。对于上述用户的身份信息的具体内容和形式本说明书不作限定。
在本实施例中,具体实施时,用户如果想要在客户端上访问某个感兴趣的目标页面,可以在客户端上发起了针对该目标页面的触发操作,例如,在客户端上点击与该目标页面对应的图标等。客户端会接收并响应用户针对目标页面的触发操作,进行后续的数据处理。
具体的,客户端可以先调用预设于客户端浏览器中的测试组件获取目标页面的地址数据。例如,可以通过测试组件获取与用户所处触发的图标对应的地址数据作为目标页面的地址数据。同时,客户端还会通过上述测试组件获取用户的身份信息。例如,可以通过测试组件获取登录客户端应用软件上的账户名称或身份ID作为用户的身份信息。
S43:通过所述测试组件根据所述目标页面的地址数据、所述用户的身份信息和所述配置字典,生成目标地址,其中,所述目标地址与第一服务器所保存的多个测试版本的页面数据中的目标测试版本的目标页面数据对应。
在本实施例中,客户端在通过测试组件获取了用户想要访问的目标页面的地址数据后,不会立即根据该目标页面的地址数据直接获取对应的页面数据。而会先根据该目标页面的地址数据进行判断以确定该地址数据所对应的目标页面是否是需要进行页面版本测试的页面。如果确定目标页面不是需要进行页面版本测试的页面,可以直接根据该目标地址数据获取对应的页面数据。如果确定目标页面是需要进行页面版本测试的页面,可以再进一步从多个测试版中确定出该用户所对应的测试版本作为目标测试版本,进而可以根据上述目标地址数据生成与目标测试版本的目标页面对应的地址数据,即目标地址;再根据上述所生成的目标地址去获取对应的目标测试版本的页面数据,以向用户展示出目标测试版本的目标页面,对该用户进行关于该版本目标页面的测试。
在本实施例中,上述配置字典具体可以理解为一种预先的设置的用于进行页面版本测试的参考数据。具体的,上述配置字典中可以包含有测试对象的签名、测试对应所包含的多个测试版本的地址数据、流量配置参数等于版本测试相关的数据。当然,上述所列举的配置字典中所包含的数据类型只是一种示意性说明。根据具体的版本测试方案,上述配置字典还可以包含有其他类型的数据,例如,测试版本的版本ID等等。对此,本说明书不作限定。
在本实施例中,上述第一服务器具体可以理解为负责为客户端提供对应测试版本页面的页面数据的服务器。例如,提供网页服务(Web服务)的服务器。
在本实施例中,具体实施时,客户端可以先通过测试组件先从第二服务器获取与页面版本测试相关的配置信息,再根据上述配置信息生成对应的配置字典,并将上述配置字典保存于客户端的存储模块中,便于后续使用。当然,为了方便读取配置字典中的数据,也可以将上述配置字典缓存在浏览器或者相关的应用软件中,以提高后续使用到配置字典的数据处理的处理效率。其中,上述第二服务器具体可以理解为负责页面版本测试的服务器。例如,提供版本测试云服务的服务器。
在本实施例中,需要说明的是,上述第一服务器和第二服务器可以是分离、独立的两个服务器,也可以是集成在一起能够同时实现上述第一服务器和第二服务器所负责功能的一个服务器。对此,本说明书不作限定。
在本实施例中,上述测试对象具体可以理解为需要进行页面版本测试的网页页面或者软件应用的界面等。通常会事先为测试对象准备多个测试版本在用户中进行测试。例如,可以参阅图3所示,可以为需要测试的推荐商品页面准备A版本、B版本两个不同的测试版本。需要说明的是,不同测试版本所要展示的内容信息可以相同,但页面样式(包括:页面中的文字排版、页面中的字符展示、页面中的图片大小以及布设位置等)可以存在区别。例如,不同测试版本的购物页面所展示的商品,以及商品的相关信息是一样,不同测试版本的购物页面中展示商品的图片的位置不相同,字符风格以及字符的展示方式也不相同。
在本实施例中,上述目标地址具体可以理解为用于指示与用户对象的目标测试版本的目标页面的页面数据的地址数据。
在本实施例中,上述通过所述测试组件根据所述目标页面的地址数据、所述用户的身份信息和所述配置字典,生成目标地址,具体实施时,可以包括以下内容:通过所述测试组件根据所述目标页面的地址数据和所述配置字典,确定所述目标页面是否为测试对象。
在本实施例中,具体实施时,上述通过所述测试组件根据所述目标页面的地址数据和所述配置字典,确定所述目标页面是否为测试对象,具体实施时,可以包括以下内容:通过所述测试组件从所述目标页面的地址数据中分离出预设字符段,并根据分离后的目标页面的地址数据,生成目标页面的签名;检索所述配置字典,确定所述配置字典中是否存在与所述目标页面的签名匹配的测试对象的签名;在确定所述配置字典中存在与所述目标页面的签名匹配的测试对象的签名的情况下,确定所述目标页面为测试对象。
在本实施例中,上述预设字符段具体可以理解为一种用于表征页面中的内容信息的字符数据,也可以称为动态字符段。具体的,上述预设字符段可以是地址数据中的query字段和/或fragment string字段等。通常同一个测试对象的不同测试版本的页面的地址数据中所包含的预设字符段是相同的,除预设字符段外其他的字符段可以是不同的。
在本实施例中,具体实施时,测试组件可以从目标页面的地址数据中检索并分离出上述预设字符段,再根据不含有预设字符段的地址数据,即分离后的目标页面的地址数据进行签名运算,生成对应的签名作为目标页面的签名。进而可以检索在配置字典中是否存在与上述目标页面的签名匹配的测试对象的签名(例如检索是否存在与目标页面的签名相同的测试对象的签名)。如果在配置字典中检索出匹配的测试对象的签名,可以判断该目标页面为测试对象,即该目标页面需要进行页面版本测试。如果在配置字典中没有检索出匹配的测试对象的签名,可以判断该目标页面不是测试对象,即该目标页面不需要进行页面版本测试。
在本实施例中,在确定所述目标页面不是测试对像的情况下,可以直接将上述目标页面的地址数据作为目标地址,并根据该目标地址生成对应的目标页面的页面数据获取请求,向第一服务器发送上述目标页面的页面数据获取请求,以得到对应的目标页面的页面数据,正常展示目标页面。
在本实施例中,在确定所述目标页面为测试对像的情况下,则可以根据所述目标页面的地址数据、所述用户的身份信息和所述配置字典进一步判断并确定该用户所对应的测试版本,即目标测试版本;再根据目标页面的地址数据和所确定的目标测试版本,生成与该目标测试版本的目标页面的页面数据所对应地址数据作为上述目标地址。进而,以根据该目标地址生成对应的目标页面的页面数据获取请求,以获取对应的目标测试版本的目标页面的页面数据。
在本实施例中,上述根据所述目标页面的地址数据、所述用户的身份信息和所述配置字典,生成目标地址,具体实施时,可以包括以下内容:根据所述用户的身份信息,以及所述测试对象所包含的多个测试版本的流量配置参数,从所述多个测试版本中确定出目标测试版本;根据配置字典,获取目标测试版本的地址数据;根据所述目标测试版本的地址数据和所述预设字符段进行拼接处理,得到所述目标地址。
在本实施例中,测试组件可以利用用户的身份信息,以及多个测试版本的流量配置参数进行运算,根据运算结果从多个测试版本中确定出该用户所命中的测试版本,即该用户所对应的测试版本作为目标测试版本。进一步,可以通过查询配置字典,得到目标测试版本的地址数据。其中,上述目标测试版本的地址数据具体可以理解为目标测试版本的页面入口地址。不同测试版本的地址数据往往不相同。例如,A版本的地址数据可以记为urlA,而B版本的地址数据可以记为urlB。在确定出目标测试版本的地址数据后,可以利用上述目标测试版本的地址数据,与之前从目标页面的地址数据中分离出来的预设字符段进行拼接,从而得到用于指示目标测试版本的目标页面的页面数据的完整的地址数据,即目标地址。
S45:根据所述目标地址,获取目标测试版本的目标页面数据,并在所述浏览器中展示目标测试版本的目标页面,其中,所述目标测试版本的目标页面数据为预先进行埋点处理后的数据。
在本实施例中,上述目标测试版本的目标页面数据具体可以是预先进行埋点处理后的保存于第一服务器上的页面数据。其中,上述第一服务器上还保存有其他多个测试版本的页面数据,上述其他多个测试版本的页面数据也是预先进行埋点处理后的数据。需要说明的是,存储于第一服务器中的多个测试版本的页面数据分别与对应版本的页面的地址数据所对应。这样第一服务器可以根据所接收到的目标地址,准确地从多个测试版本的页面数据中找到与目标地址对应的目标测试版本的目标页面的页面数据反馈给客户端。
在本实施例中,上述根据所述目标地址,获取目标测试版本的目标页面数据,具体实施时,可以包括以下内容:根据所述目标地址,生成目标页面数据获取请求,其中,上述目标页面数据获取请求携带有与目标测试版本的目标页面的页面数据对应的目标地址;向第一服务器发送所述目标页面数据获取请求。第一服务器在接收到上述目标页面数据获取请求后,可以根据目标页面数据获取请求所携带的目标地址找到对应测试版本的页面数据作为目标测试版本的目标页面的页面数据,并将该页面数据发送至客户端。客户端接收上述第一服务器根据所述目标地址所反馈的目标测试版本的目标页面数据。
在本实施例中,上述目标页面数据获取请求具体可以理解为一种请求获取与目标地址对应的测试版本的页面数据的请求数据。
在本实施例中,在客户端得到上述目标测试版本的目标页面的页面数据后,进一步可以根据上述页面数据在浏览器或者对应的软件应用中展示出对应的目标测试版本的目标页面。这样用户可以在客户端上浏览对应的目标测试版本的目标页面,并根据情况在该页面上进行相关操作。
S47:通过所述测试组件采集用户针对所述目标测试版本的目标页面的行为数据,并将所述行为数据发送至第二服务器,其中,所述第二服务器用于获取并根据用户针对所述目标测试版本的目标页面的行为数据,对目标测试版本进行测试评价。
在本实施例中,上述用户针对所述目标测试版本的目标页面的行为数据具体可以理解为用户在客户端上对目标测试版本的目标页面进行的操作数据。具体的,上述行为数据可以包括:针对所述目标页面中的预设图标的点击操作数据(例如点击了收藏图标或者购买图标等操作)、针对所述目标页面中的对话框的触发操作数据(例如展开文本描述框或者展示图片框等操作)、针对所述目标页面中的输入框的输入操作数据(例如在页面的属性输入框内输入相应属性参数等操作)等等。当然,需要说明的是,上述所列举的行为数据只是为了更好地说明本说明书实施例。具体实施时,根据具体的应用场景和测试方案,还可以引入其他类型的操作数据作为行为数据。对此,本说明书不作限定。
在本实施例中,具体实施时,测试组件可以根据目标页面中的埋点信息,有针对性地采集用户针对所述目标测试版本的目标页面的行为数据。例如,目标页面中包含有5个不同的图标,其中,只有第2个图标设置有埋点,这样测试组件可以仅采集用户针对目标页面中第2个图标的点击操作作为上述行为数据。
通过上述方式来采集行为数据,可以降低测试组件的代码编写的复杂度,同时还可以使得一个测试组件能够同时适用多种不同场景下的页面版本测试。例如,在进行另一种场景下的页面版本测试时,可以不改变测试组件的代码,而只需要将第一服务器所存储的多个测试版本的页面数据按照该场景要求作对应的埋点处理,测试组件就可以根据目标页面中与该场景对应的埋点信息自动地采集该场景下所要求采集的行为数据,从而可以有效地降低实施成本,提高处理效率。
在本实施例中,测试组件在采集到用户针对目标测试版本的目标页面的行为数据后,可以将上述行为数据发送至第二服务器。第二服务器在接收到用户针对目标测试版本的目标页面的行为数据后,可以对上述行为数据进行分析处理,按照预设的评分规则确定出该用户对目标测试版本的用户体验分数值。例如,如果统计发现用户对目标测试版本中的某类图标的点击操作的次数较多,则可以判断用户对该测试版本的评价较高,相应的,第二服务器可以将该用户对该测试版本的用户体验分数值设置得相对较高。反之则会将该用户对所对应的测试版本的用户体验分数值设置得相对较低。
在本实施例中,第二服务器可以接收到不同用户针对所对应的版本的目标页面的行为数据,进而可以根据预设的评分规则,综合不同用户对所对应的测试版本的目标页面的行为数据,确定出各个测试版本整体的用户体验分数值。例如,可以将不同用户对同一测试版本的用户体验值进行加权求平均得到该测试版本整体的用户体验分数值。进而可以根据各个测试版本的用户体验分数值确定各个测试版本是否符合预设的用户体验要求,为是否推广应用相应的测试版本提供参考依据。还可以从多个测试版本中选出整体的用户体验分数值最高的测试版本作为最终版本,进而只推广应用最终版本的页面,从而提高用户浏览页面时的用户体验,达到吸引用户浏览使用的效果。
由上可见,本说明书实施例提供的页面版本的测试方法,由于通过调用预设于客户端的浏览器中的测试组件根据所获取的目标页面的地址数据、用户的身份信息和配置字典先从第一服务器所保存的多个测试版本中判断与用户对应的目标测试版本,以生成与目标测试版本的目标页面数据对应的目标地址;再根据该目标地址,从第一服务器获取目标测试版本的目标页面数据并在客户端向用户展示出对应的目标测试版本的目标页面;同时又通过测试组件采集用户针对上述目标测试版本的目标页面的行为数据,并将上述行为数据发送至第二服务器,以便第二服务器可以根据上述行为数据对目标测试版本进行关于用户体验的测试评价,避免了需要对多个测试版本中的各个测试版本的页面数据分别编辑设置对应的逻辑代码,同时降低了第二服务器所承受的数据处理量,从而解决了现有方法存在的实施成本高、实施过程繁琐、数据处理量大的技术问题,达到降低实施成本,提高处理效率的技术效果。
在一个实施例中,所述行为数据具体可以包括以下至少之一:针对所述目标页面中的预设图标的点击操作数据、针对所述目标页面中的对话框的触发操作数据、针对所述目标页面中的输入框的输入操作数据等。当然,上述所列举的行为数据只是为了更好地说明本说明书实施例。具体实施时,根据具体情况还可以引入其他类型的行为数据。对此,本说明书不作限定。
在一个实施例中,上述通过所述测试组件根据所述目标页面的地址数据、所述用户的身份信息和所述配置字典,生成目标地址,具体实施时,可以包括以下内容:通过所述测试组件根据所述目标页面的地址数据和所述配置字典,确定所述目标页面是否为测试对象,其中,所述配置字典预设于客户端中,所述配置字典中至少包含有测试对象的签名,以及所述测试对象所包含的多个测试版本的地址数据和流量配置参数;在确定所述目标页面为测试对像的情况下,根据所述目标页面的地址数据、所述用户的身份信息和所述配置字典,生成目标地址。
在一个实施例中,上述通过所述测试组件根据所述目标页面的地址数据和所述配置字典,确定所述目标页面是否为测试对象,具体实施时,可以包括以下内容:通过所述测试组件从所述目标页面的地址数据中分离出预设字符段,并根据分离后的目标页面的地址数据,生成目标页面的签名;检索所述配置字典,确定所述配置字典中是否存在与所述目标页面的签名匹配的测试对象的签名;在确定所述配置字典中存在与所述目标页面的签名匹配的测试对象的签名的情况下,确定所述目标页面为测试对象。
在一个实施例中,上述根据所述目标页面的地址数据、所述用户的身份信息和所述配置字典,生成目标地址,具体实施时,可以包括以下内容:根据所述用户的身份信息,以及所述测试对象所包含的多个测试版本的流量配置参数,从所述多个测试版本中确定出目标测试版本;根据配置字典,获取目标测试版本的地址数据;根据所述目标测试版本的地址数据和所述预设字符段进行拼接处理,得到所述目标地址。
在一个实施例中,上述获取目标测试版本的目标页面数据,具体实施时,可以包括以下内容:根据所述目标地址,生成目标页面数据获取请求;向第一服务器发送所述目标页面数据获取请求,其中,所述第一服务器预设有对应多个测试版本的页面数据,所述对应多个测试版本的页面数据为预先进行埋点处理后的数据;接收第一服务器根据所述目标地址所反馈的目标测试版本的目标页面数据,其中,所述目标测试版本的目标页面数据为与目标地址对应的测试版本的页面数据。
在一个实施例中,在通过所述测试组件根据所述目标页面的地址数据、所述用户的身份信息和所述配置字典,生成目标地址前,所述方法具体实施时,还可以包括以下内容:接收第二服务器发送的配置信息,其中,所述配置信息至少包括测试对象所包含的测试版本的身份号、地址数据、流量配置参数;根据所述配置信息,生成并保存所述配置字典。
在本实施例中,上述配置信息具体可以理解为一种与页面版本测试相关的数据参数。具体的,上述配置信息可以包括需要进行页面版本测试的测试对象所包含的各个测试版本的身份号、各个测试版本的地址数据、各个测试的流量配置参数等。当然,上述所列举的配置信息只是一种示意性说明。具体实施时,根据具体的应用场景和测试要求,还可以引入其他相关的参数数据作为配置信息。对此,本说明书不作限定。
在本实施例中,第二服务器可以将上述配置信息发送至客户端,客户端在接收到上述配置信息后,可以根据上述配置信息,生成并保存对应的配置字典。具体的,客户端可以对上述配置信息进行解析,得到需要进行页面版本测试的测试对象所包含的各个测试版本的身份号、各个测试版本的地址数据、各个测试的流量配置参数等数据。进一步,还可以通过计算测试对象所包含的多个测试版本的地址数据和身份号生成并保存测试对象的签名数据。进而可以根据上述数据建立对应的配置字典。
在本实施例中,在建立了上述配置字典后可以将该配置字典保存于客户端便于后续使用。为了进一步提高数据处理效率,还可以将上述配置字典保存于浏览器或对应的软件应用的缓存中。当然,上述所列举的保存方式只是一种示意性说明。具体实施时,根据具体情况可以采用合适的保存方式来保存上述配置字典。
在一个实施例中,在根据所述配置信息,生成并保存所述配置字典后,所述方法具体实施时,还可以包括以下内容:间隔预设的时间段,接收更新配置信息;根据所述更新配置信息,更新所述配置字典。
在本实施例中,随着测试场景的变化,第二服务器会更新配置信息,并间隔预设的时间段将上述更新配置信息发送至客户端,以便于客户端可以根据更新配置信息,更新版本测试。例如更改所采集的行为数据,或者增加新的测试对象等。客户端每隔预设的时间段可以接收第二服务器发送的更新配置信息,并根据所接收到的更新配置信息,更新所保存的配置字典。例如在配置字典中增加新的测试对象的签名,或者修改测试版本的身份号、地址数据、流浪配置参数等信息。进而可以根据更新后的配置字典配合进行对应新的场景变化的行为数据的采集。
在一个实施例中,在完成对应的页面版本测试后,第二服务器还可以向客户端生成并发送删除指示。客户端接收并响应上述删除指示,删除相关的配置信息和配置字典。这时,如果用户又想访问同一个目标页面,客户端可以不再触发页面版本测试,直接根据用户所触发的目标页面的地址数据,获取对应的目标页面的页面数据,并正常向用户展示目标页面。
由上可见,本说明书实施例提供的页面版本的测试方法,由于通过调用预设于客户端的浏览器中的测试组件根据所获取的目标页面的地址数据、用户的身份信息和配置字典先从第一服务器所保存的多个测试版本中判断与用户对应的目标测试版本,以生成与目标测试版本的目标页面数据对应的目标地址;再根据该目标地址,从第一服务器获取目标测试版本的目标页面数据并在客户端向用户展示出对应的目标测试版本的目标页面;同时又通过测试组件采集用户针对上述目标测试版本的目标页面的行为数据,并将上述行为数据发送至第二服务器,以便第二服务器可以根据上述行为数据对目标测试版本进行关于用户体验的测试评价,避免了需要对多个测试版本中的各个测试版本的页面数据分别编辑设置对应的逻辑代码,同时降低了第二服务器所承受的数据处理量,从而解决了现有方法存在的实施成本高、实施过程繁琐、数据处理量大的技术问题,达到降低实施成本,提高处理效率的技术效果;还通过测试组件利用配置字典中的目标测试版本的地址数据和所分离出的预设字符段进行拼接,得到与目标测试版本的目标页面数据对应的目标地址,以从第一服务器获取目标测试版本的目标页面数据,降低了第一服务器的数据处理量,进一步提高了处理效率。
参阅图5所示,本说明书实施例还提供了一种页面的展示方法,该方法具体可以应用于客户端一侧,具体实施时,该方法可以包括以下内容:
S51:调用测试组件获取目标页面的地址数据,以及用户的身份信息,其中,所述测试组件预设于客户端的浏览器中;
S53:通过所述测试组件根据所述目标页面的地址数据、所述用户的身份信息和所述配置字典,生成目标地址,其中,所述目标地址与第一服务器所保存的多个预设版本的页面数据中的目标版本的目标页面数据对应;
S55:根据所述目标地址,获取目标版本的目标页面数据,并在所述浏览器中展示目标版本的目标页面。
在本实施例中,上述测试组件具体可以理解为预先设置或内嵌于浏览器或者软件应用的浏览器模块中的,用于负责确定适合用户的页面版本的代码文件(也可以称为一种判断和执行逻辑)。通过该代码文件,客户端可以进行与确定适合用户的页面版本相关的数据处理。
在本实施例中,上述目标版本具体可以理解为多个预设版本中筛选出的适合用户的版本。
在本实施例中,第一服务器预先可以保存有多个预设版本的页面数据。用户在通过客户端触发想要访问的目标页面时,客户端可以通过上述测试组件根据用户的身份信息、目标页面的地址数据以及配置字典,从多个预设版本中确定出适合用户的版本作为目标版本。进而可以根据目标版本的地址数据和目标页面的地址数据通过拼接得到用于指示目标版本的目标页面的地址数据,即目标地址。进而可以根据上述目标地址生成对应的目标页面数据获取请求,再向第一服务器发送上述目标页面数据获取请求。第一服务器在接收到上述目标页面数据请求后,可以根据该目标页面数据获取请求中所携带的目标地址找到并向客户端反馈对应的目标版本的目标页面的页面数据。客户端在接收到上述页面数据后,可以根据上述页面数据自动为用户确定并展示出适合用户的目标版本的目标页面,以提高用户体验。
由上可见,本说明书实施例提供的页面的展示方法,由于通过调用预设于客户端的浏览器中的测试组件根据所获取的目标页面的地址数据、用户的身份信息和配置字典先从第一服务器所保存的多个预设版本中判断适合用户的目标版本,并生成与目标版本的目标页面数据对应的目标地址;再根据该目标地址,从第一服务器获取目标版本的目标页面数据并在客户端向用户展示出适合用户的目标版本的目标页面,从而降低了第一服务器一侧的数据处理压力,提高了用户体验。
本说明书实施例还提供了一种页面的展示方法,该方法具体应用于第一服务器一侧,其中,该方法具体实施时,可以包括以下内容:
S1:接收目标页面数据获取请求;
S2:根据所述目标页面数据获取请求中所携带的目标地址,从多个测试版本的页面数据中确定出与所述目标地址对应的测试版本的页面数据作为目标测试版本的目标页面数据;
S3:将所述目标测试版本的目标页面数据发送至客户端,以便客户端通过浏览器展示所述目标测试版本的目标页面。
在本实施例中,上述第一服务器具体可以理解为负责客户端提供对应的测试版本的页面数据的服务器。
本说明书实施例还提供了另一种页面版本的测试方法,该方法具体应用于第二服务器一侧,其中,该方法具体实施时,可以包括以下内容:
S1:接收客户端通过预设于浏览器中的测试组件所采集的行为数据,其中,所述行为数据为用户针对所述客户端所展示的目标测试版本的目标页面的行为数据;
S2:根据所述行为数据,对所述目标测试版本进行测试评价。
在本实施例中,上述第二服务器具体可以理解为负责进行页面版本测试的服务器。
在一个实施例中,上述根据所述行为数据,对所述目标测试版本进行测试评价,具体实施时,可以包括以下内容:据所述行为数据和预设的评分规则,确定目标测试版本的用户体验分数值;根据所述目标测试版本的用户体验分数值,确定所述目标测试版本是否符合预设的用户体验要求。
在本实施例中,具体实施时,可以将目标测试版本的用户体验分数值与预设的分数阈值作比较,如果目标测试版本的用户体验分数值大于等于上述预设的分数阈值,可以确定目标测试版本符合预设的用户体验要求,即用户的接受和认可度相对较高,可以推广应用该目标测试版本。如果目标测试版本的用户体验分数值小于上述预设的分数阈值,可以确定目标测试版本不符合预设的用户体验要求,即用户的接受和认可度相对较低,可以暂时不推广应用该目标测试版本,而对该目标测试版本进行修改、调整后再进行测试与推广。其中,上述预设的分数阈值可以根据具体情况灵活设定。
在一个实施例中,在接收客户端通过预设于浏览器中的测试组件所采集的行为数据前,所述方法具体实施时,还可以包括以下内容:确定测试对象所包含的测试版本;获取所述测试版本的身份号、地址数据、流量配置参数;根据所述测试版本的身份号、地址数据、流量配置参数,生成对应的配置信息;将所述配置信息发送至客户端,以便所述客户端根据所述配置信息生成配置字典。
在本实施例中,上述第二服务器具体实施时,可以需要进行测试的测试对象,以及测试对象所包含的测试的版本的相关信息,例如试版本的身份号、地址数据、流量配置参数等,生成对应的配置信息,再将上述配置信息发送至客户端,以便客户端可以根据上述配置信息生成并保存对应的配置字典。
在一个实施例中,第二服务器还可以根据场景变化或者测试内容的改变,生成更新配置信息,并间隔预设的时间间隔向客户端发送上述更新配置信息,以便客户端可以根据更新配置信息及时更新所保存的配置字典。
本说明书实施例还提供一种客户端,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:调用测试组件获取目标页面的地址数据,以及用户的身份信息,其中,所述测试组件预设于客户端的浏览器中;通过所述测试组件根据所述目标页面的地址数据、所述用户的身份信息和所述配置字典,生成目标地址,其中,所述目标地址与第一服务器所保存的多个测试版本的页面数据中的目标测试版本的目标页面数据对应;根据所述目标地址,获取目标测试版本的目标页面数据,并在所述浏览器中展示目标测试版本的目标页面,其中,所述目标测试版本的目标页面数据为预先进行埋点处理后的数据;通过所述测试组件采集用户针对所述目标测试版本的目标页面的行为数据,并将所述行为数据发送至第二服务器,其中,所述第二服务器用于获取并根据用户针对所述目标测试版本的目标页面的行为数据,对目标测试版本进行测试评价。
为了能够更加准确地完成上述指令,参阅图6所示,本说明书实施例还提供了另一种具体的客户端,其中,所述客户端包括网络通信端口601、处理器602以及存储器603,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述网络通信端口601,具体可以用于获取目标页面的地址数据,以及用户的身份信息。
所述处理器602,具体可以用于通过所述测试组件根据所述目标页面的地址数据、所述用户的身份信息和所述配置字典,生成目标地址,其中,所述目标地址与第一服务器所保存的多个测试版本的页面数据中的目标测试版本的目标页面数据对应;根据所述目标地址,获取目标测试版本的目标页面数据,并在所述浏览器中展示目标测试版本的目标页面,其中,所述目标测试版本的目标页面数据为预先进行埋点处理后的数据;通过所述测试组件采集用户针对所述目标测试版本的目标页面的行为数据,并将所述行为数据发送至第二服务器,其中,所述第二服务器用于获取并根据用户针对所述目标测试版本的目标页面的行为数据,对目标测试版本进行测试评价。
所述存储器603,具体可以用于存储处理器602所基于的相应的指令程序。
在本实施例中,所述网络通信端口601可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的80号端口,也可以是负责进行FTP数据通信的21号端口,还可以是负责进行邮件数据通信的25号端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述处理器602可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述存储器603可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供了一种基于上述页面版本的测试方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:通过所述测试组件根据所述目标页面的地址数据、所述用户的身份信息和所述配置字典,生成目标地址,其中,所述目标地址与第一服务器所保存的多个测试版本的页面数据中的目标测试版本的目标页面数据对应;根据所述目标地址,获取目标测试版本的目标页面数据,并在所述浏览器中展示目标测试版本的目标页面,其中,所述目标测试版本的目标页面数据为预先进行埋点处理后的数据;通过所述测试组件采集用户针对所述目标测试版本的目标页面的行为数据,并将所述行为数据发送至第二服务器,其中,所述第二服务器用于获取并根据用户针对所述目标测试版本的目标页面的行为数据,对目标测试版本进行测试评价。
在本实施例中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施例中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
参阅图7所示,在软件层面上,本说明书实施例还提供了一种页面版本的测试装置,该装置具体可以包括以下的结构模块:
第一获取模块701,具体可以用于调用测试组件获取目标页面的地址数据,以及用户的身份信息,其中,所述测试组件预设于客户端的浏览器中;
第一生成模块702,具体可以用于通过所述测试组件根据所述目标页面的地址数据、所述用户的身份信息和所述配置字典,生成目标地址,其中,所述目标地址与第一服务器所保存的多个测试版本的页面数据中的目标测试版本的目标页面数据对应;
第二获取模块703,具体可以用于根据所述目标地址,获取目标测试版本的目标页面数据,并在所述浏览器中展示目标测试版本的目标页面,其中,所述目标测试版本的目标页面数据为预先进行埋点处理后的数据;
采集模块704,具体可以用于通过所述测试组件采集用户针对所述目标测试版本的目标页面的行为数据,并将所述行为数据发送至第二服务器,其中,所述第二服务器用于获取并根据用户针对所述目标测试版本的目标页面的行为数据,对目标测试版本进行测试评价。
在一个实施例中,所述行为数据具体可以包括以下至少之一:针对所述目标页面中的预设图标的点击操作数据、针对所述目标页面中的对话框的触发操作数据、针对所述目标页面中的输入框的输入操作数据等等。
在一个实施例中,所述第一生成模块702具体可以包括以下结构单元:
第一确定单元,具体可以用于通过所述测试组件根据所述目标页面的地址数据和所述配置字典,确定所述目标页面是否为测试对象,其中,所述配置字典预设于客户端中,所述配置字典中至少包含有测试对象的签名,以及所述测试对象所包含的多个测试版本的地址数据和流量配置参数;
第一生成单元,具体可以用于在确定所述目标页面为测试对像的情况下,根据所述目标页面的地址数据、所述用户的身份信息和所述配置字典,生成目标地址。
在一个实施例中,所述第二获取模块703具体可以包括以下结构单元:
第二生成单元,具体可以用于根据所述目标地址,生成目标页面数据获取请求;
发送单元,具体可以用于向第一服务器发送所述目标页面数据获取请求,其中,所述第一服务器预设有对应多个测试版本的页面数据,所述对应多个测试版本的页面数据为预先进行埋点处理后的数据;
接收单元,具体可以用于接收第一服务器根据所述目标地址所反馈的目标测试版本的目标页面数据,其中,所述目标测试版本的目标页面数据为与目标地址对应的测试版本的页面数据。
具体可以,所述装置具体还可以包括第二生成模块,具体可以用于接收第二服务器发送的配置信息,其中,所述配置信息至少包括测试对象所包含的测试版本的身份号、地址数据、流量配置参数;根据所述配置信息,生成并保存所述配置字典。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
由上可见,本说明书实施例提供的页面版本的装置,由于通过第一获取模块调用预设于客户端的浏览器中的测试组件根据所获取的目标页面的地址数据、用户的身份信息,并通过第一生成模块结合配置字典先从第一服务器所保存的多个测试版本中判断与用户对应的目标测试版本,以生成与目标测试版本的目标页面数据对应的目标地址;再通过第二获取模块根据该目标地址,从第一服务器获取目标测试版本的目标页面数据并在客户端向用户展示出对应的目标测试版本的目标页面;同时又通过采集模块调用测试组件采集用户针对上述目标测试版本的目标页面的行为数据,并将上述行为数据发送至第二服务器,以便第二服务器可以根据上述行为数据对目标测试版本进行关于用户体验的测试评价,避免了需要对多个测试版本中的各个测试版本的页面数据分别编辑设置对应的逻辑代码,同时降低了第二服务器所承受的数据处理量,从而解决了现有方法存在的实施成本高、实施过程繁琐、数据处理量大的技术问题,达到降低实施成本,提高处理效率的技术效果。
参阅图8所示,本说明书实施例还提供了一种页面的展示装置,该装置具体可以包括以下的结构模块:
获取模块801,具体可以用于调用测试组件获取目标页面的地址数据,以及用户的身份信息,其中,所述测试组件预设于客户端的浏览器中;
生成模块802,具体可以用于通过所述测试组件根据所述目标页面的地址数据、所述用户的身份信息和所述配置字典,生成目标地址,其中,所述目标地址与第一服务器所保存的多个预设版本的页面数据中的目标版本的目标页面数据对应;
展示模块803,具体可以用于根据所述目标地址,获取目标版本的目标页面数据,并在所述浏览器中展示目标版本的目标页面。
由上可见,本说明书实施例提供的页面的展示装置,由于通过获取模块调用预设于客户端的浏览器中的测试组件根据所获取的目标页面的地址数据、用户的身份信息,并通过生成模块结合配置字典先从第一服务器所保存的多个预设版本中判断适合用户的目标版本,并生成与目标版本的目标页面数据对应的目标地址;再通过展示模块根据该目标地址,从第一服务器获取目标版本的目标页面数据并在客户端向用户展示出适合用户的目标版本的目标页面,从而降低了第一服务器一侧的数据处理压力,提高了用户体验。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。