一种性能测试数据分离方法、装置、设备和介质与流程

文档序号:30224142发布日期:2022-05-31 23:56阅读:77来源:国知局
一种性能测试数据分离方法、装置、设备和介质与流程

1.本技术涉及研发管理技术领域,特别是涉及一种性能测试数据分离方法、装置、设备和介质。


背景技术:

2.随着计算机应用领域的不断扩大及市场经济建设的不断发展,软件工程也得到了快速发展,为了适应日益增长的应用软件用户数量,对于应用软件进行性能测试的重要性也日益凸显。
3.性能测试数据的分离是性能测试环节中重要的一环,当前业内在进行性能测试时,主要是采用在测试完成后再对测试数据进行清理以完成数据分离的传统方法。可以看出,传统的测试数据分离方法,由于测试数据占用了非测试环境较多的环境资源,测试数据与非测试数据容易发生数据混淆而使得数据分离工作存在较大的工作困难,同时,在测试过程中,若产生了异常的测试数据将会连锁性地使得部分正常数据也变为数据异常状态。诸如此类不良情况将极为严重地影响正常用户对应用软件的使用体验,并且,还需要投入大量的人力成本专门针对测试数据进行甄别和清除以完成数据分离工作,造成了大量的资源浪费。


技术实现要素:

4.本技术实施例提供了一种性能测试数据分离方法、装置、设备和介质,实施本技术实施例的方法,不需要停机测试也能够将测试数据和非测试数据进行分离。
5.第一方面,本技术实施例提供了一种性能测试数据分离方法,应用于应用服务集群,应用服务集群为多个应用服务器组成的集群,上述方法包括:
6.获取发起访问请求的用户设备,确定用户设备对应的用户为标签用户或非标签用户;
7.若用户为标签用户,则向用户设备提供非测试功能模块入口和测试功能模块入口,其中测试功能模块部署在应用服务集群中的测试集群,非测试功能模块部署在应用服务集群中的非测试集群;
8.若用户为非标签用户,则向用户设备提供非测试功能模块入口;
9.接收用户设备的功能访问请求,确定功能访问请求用于请求访问的功能模块;
10.若功能访问请求用于请求访问非测试功能模块,则在非测试集群中生成访问过程数据;
11.若功能访问请求用于请求访问测试功能模块,则在测试集群中生成访问过程数据。
12.第二方面,本技术实施例提供了一种性能测试数据分离装置,应用于应用服务集群,应用服务集群为多个应用服务器组成的集群,上述装置包括:
13.获取单元,用于获取发起访问请求的用户设备,确定用户设备对应的用户为标签
用户或非标签用户;
14.展示单元,用于若用户为标签用户,则向用户设备提供非测试功能模块入口和测试功能模块入口,其中测试功能模块部署在应用服务集群中的测试集群,非测试功能模块部署在应用服务集群中的非测试集群;若用户为非标签用户,则向用户设备提供非测试功能模块入口;
15.确定单元,用于接收用户设备的功能访问请求,确定功能访问请求用于请求访问的功能模块;
16.生成单元,用于若功能访问请求用于请求访问非测试功能模块,则在非测试集群中生成访问过程数据;若功能访问请求用于请求访问测试功能模块,则在测试集群中生成访问过程数据。
17.第三方面,本技术实施例提供了一种电子设备,包括处理器、存储器以及存储在存储器上并可在处理器上运行的计算机执行指令,当计算机执行指令被运行时,使得电子设备执行如本技术实施例第一方面任一方法中所描述的部分或全部步骤。
18.第四方面,本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机指令,当计算机指令在通信装置上运行时,使得通信装置执行如本技术实施例第一方面任一方法中所描述的部分或全部步骤。
19.第五方面,本技术实施例提供了一种计算机程序产品,其中,计算机程序产品包括计算机程序,计算机程序可操作来使计算机执行如本技术实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
20.可以看出,本技术实施例中,获取发起访问请求的用户设备,确定用户设备对应的用户为标签用户或非标签用户;若用户为标签用户,则向用户设备提供非测试功能模块入口和测试功能模块入口,其中测试功能模块部署在应用服务集群中的测试集群,非测试功能模块部署在应用服务集群中的非测试集群;若用户为非标签用户,则向用户设备提供非测试功能模块入口;接收用户设备的功能访问请求,确定功能访问请求用于请求访问的功能模块;若功能访问请求用于请求访问非测试功能模块,则在非测试集群中生成访问过程数据;若功能访问请求用于请求访问测试功能模块,则在测试集群中生成访问过程数据。采用本技术实施例的方法,在确定到用户为标签用户、且用户设备的功能访问请求用于访问测试功能模块的情况下,在测试集群中生成访问过程数据,从而在进行测试时,不需要停机测试也能够将测试数据和非测试数据进行分离。
附图说明
21.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1a是一种应用服务集群的结构部署图;
23.图1b是另一种应用服务集群的结构部署图;
24.图1c是本技术实施例提供的一种性能测试数据分离方法的流程示意图;
25.图1d是本技术实施例提供的一种性能测试数据分离方法的举例示意图;
26.图1e是本技术实施例应用的一种基于性能测试数据分离的应用服务集群的部署图;
27.图2a是本技术实施例提供的一种性能测试数据分离方法的举例示意图;
28.图2b是本技术实施例提供的一种性能测试数据分离方法的举例示意图;
29.图3是本技术实施例提供的一种性能测试数据分离装置的结构图;
30.图4是本技术的实施例提供的一种电子设备的硬件运行环境的服务器结构示意图。
具体实施方式
31.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
32.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤的过程、方法、系统、产品或设备没有限定于已列出的步骤,而是可选地还包括没有列出的步骤,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤。
33.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
34.下面结合附图对本技术实施例涉及的应用场景进行介绍。
35.图1a是一种应用服务集群的结构部署图。如图1a所示,应用服务集群与测试用户设备连接,其中,
36.测试用户设备,指被指定作为测试用户的用户所使用的终端设备,测试用户指目的为针对应用服务集群对应的应用软件中的测试功能完成测试的角色;
37.应用服务集群,包括一个或多个测试服务器,测试服务器专门用于测试用户设备针对测试功能完成测试,测试服务器并非实际运行服务器。
38.在上述应用服务集群进行性能测试的过程中,测试用户设备在应用服务集群中的测试服务器完成测试。完成测试之后,后续则通常是通过获取测试服务器所产生的测试数据,根据测试数据确定测试功能的测试结果,根据测试结果对后续实际运行应用软件的实际应用服务集群进行负载环境配置,得到不同于应用服务集群的用于非测试用户实际使用应用软件的实际应用服务集群。从而,测试用户与非测试用户的运行负载环境是不同的,并且,由于测试用户是在测试服务器进行测试、并非是在真实的运行负载环境中进行测试,因此,这种传统测试方法在进行性能测试时所得到的测试结果并不适用于真实的运行负载环境,显然,利用上述应用服务集群进行性能测试将存在测试结果不准确的缺陷。
39.图1b是另一种应用服务集群的结构部署图。如图1b所示,应用服务集群的第一端与用户设备连接、第二端与测试人员设备连接,其中,
40.用户设备,指应用服务集群对应的应用软件中的用户所使用的终端设备,用户指目的为使用应用软件中的非测试功能的角色;
41.测试人员设备,指应用软件对应的测试人员所使用的终端设备,测试人员指目的为根据测试脚本的规定要求、针对应用软件中的测试功能完成测试的角色,测试人员可以是应用软件的开发人员或后台管理人员,测试脚本中表征测试的步骤、目的等内容。
42.应用服务集群,用于接收用户设备和测试人员设备的访问请求消息,为用户设备使用非测试功能、测试人员设备针对测试功能完成测试提供运行负载环境。
43.在上述应用服务集群进行性能测试的过程中,由于测试人员对于测试脚本中表征的测试的步骤、目的等内容较为熟悉,因此,性能测试过程将会具有较高效率,然而,性能测试追求的并非只有测试效率,性能测试追求的更多是其真实性和客观性,即是说,在真实的测试场景中,将可能会存在用户会无法完成测试进度、用户在测试过程中去运行非测试功能或其他操作等不可控的客观情况,从而,由开发人员或后台管理人员等人员作为测试人员针对测试功能进行性能测试的话,将存在测试过程不真实、不客观的缺陷。并且,该性能测试的过程中,还将会导致测试数据与正常数据发生混淆,不仅导致后期在对测试数据进行分离时需要花费较大的人力成本,还可能导致测试数据影响到正常数据进而影响到用户对应用软件的正常使用问题。
44.综上所述,传统的测试方法,会由于运行负载环境不真实、或测试过程不具有真实性和客观性等缺陷,从而造成性能测试过程不真实,进而导致测试结果不准确等问题,也存在由于测试数据与正常数据发生混淆从而影响到用户对应用软件的正常使用问题。
45.基于此,本技术实施例提供了一种性能测试数据分离方法,应用于应用服务集群,应用服务集群为多个应用服务器组成的集群,请参阅图1c,图1c是本技术实施例提供的一种性能测试数据分离方法的流程示意图,如图1c所示,该方法包括以下步骤:
46.101:获取发起访问请求的用户设备,确定用户设备对应的用户为标签用户或非标签用户。
47.其中,用户设备包括智能手机、平板电脑、台式电脑等电子设备。
48.其中,标签用户,指被打上预设标签的用户,预设标签可以是test标签或其他标签。标签用户是应用软件中的真实用户,由真实用户针对应用软件的测试功能模块完成测试,就不需要由测试人员另外单独在应用软件中构造用于测试的虚拟用户,从而避免了在应用软件中创造额外的多余账号数据导致降低应用软件响应性能,影响到非标签用户的使用体验的不良情况。在具体实现中,对用户进行标签处理得到标签用户,可以是抽取出应用软件中登录令牌token未过期的部分用户账号,获取该部分用户账号的userid,根据userid在用户数据库表单中对该部分用户账号打上test标签,从而得到标签用户。
49.若用户为标签用户,则执行步骤102;若用户为非标签用户,则执行步骤103。
50.102:若用户为标签用户,则向用户设备提供非测试功能模块入口和测试功能模块入口,其中测试功能模块部署在应用服务集群中的测试集群,非测试功能模块部署在应用服务集群中的非测试集群。
51.其中,向用户设备提供非测试功能模块入口和测试功能模块入口,指向用户设备开放非测试功能模块和测试功能模块,使得用户设备能够访问非测试功能模块和测试功能模块。
52.其中,若用户为标签用户,则向用户设备提供测试功能模块入口,在具体实现中,可以是给每个用户针对测试功能模块设置可见性条件,从而测试功能模块只对标签用户对应的用户设备可见、并且对非标签用户对应的用户设备不可见。
53.示例性地,给每个用户针对测试功能模块设置可见性条件,是给每个用户配置可见性参数,可见性参数包括on和off,在用户对应的可见性参数为on时用户能够访问测试功能模块入口,在用户对应的可见性参数为off时用户无法访问测试功能模块入口。从而,在用户设备对应的用户为标签用户时,由于该用户的可见性参数为on,则向该用户对应的用户设备提供测试功能模块入口,即是说,测试功能模块入口对用户设备可见,使得该用户能够访问测试功能模块;反之,在用户设备对应的用户为非标签用户时,由于该用户的可见性参数为off,则不向该用户对应的用户设备提供测试功能模块入口,即是说,测试功能模块入口对用户设备不可见,使得该用户无法访问测试功能模块。
54.其中,测试集群为用于完成测试功能模块的一个或多个服务器组成的集群;非测试集群为用于完成非测试功能模块的一个或多个服务器组成的集群。
55.其中,若用户为标签用户,则向用户设备提供非测试功能模块入口和测试功能模块入口,目的是,使得标签用户既能够访问测试功能模块也能够访问非测试功能模块。
56.其中,测试功能模块,指测试人员希望对标签用户进行测试、且不希望被非标签用户访问的功能模块;非测试功能模块,指可以被标签用户和非标签用户访问的功能模块。测试功能模块和非测试功能模块均位于应用服务集群对应的应用软件中。
57.103:若用户为非标签用户,则向用户设备提供非测试功能模块入口。
58.其中,若用户为非标签用户,则向用户设备提供非测试功能模块入口,目的是,使得非标签用户只能够访问非测试功能模块,在确保非标签用户能够正常使用应用软件中的非测试功能模块的同时,还能避免非标签用户访问到测试功能模块导致应用软件的业务状态异常。
59.请参阅图1d,图1d是本技术实施例提供的一种性能测试数据分离方法的举例示意图,如图1d所示,由于应用服务集群中的测试集群和非测试集群分别把测试功能模块入口和非测试功能模块入口都提供给标签用户的用户设备,因此,标签用户既能够测试功能模块、也能够访问非测试功能模块;而对于非标签用户而言,由于只有应用服务集群中的非测试集群将非测试功能模块入口提供给了非标签用户的用户设备,因此,非标签用户的用户设备是无法访问测试功能模块的,只能对非测试功能模块进行访问。从而实现了标签用户在对应用软件的测试功能模块进行测试的过程中,非标签用户依然可以正常访问应用软件的非测试功能模块,从而在测试期间不影响应用软件的正常使用。
60.示例性地,假设有一目标app原本包含a功能模块和b功能模块,测试人员希望在目标app中新增c功能模块并对其进行性能测试,则此时c功能模块为测试功能模块,a功能模块和b功能模块为非测试功能模块。标签用户的用户设备能访问目标app中的a功能模块、b功能模块和c功能模块,而非标签用户则只能访问目标app中的a功能模块和b功能模块。
61.由于非标签用户对应的用户设备的功能访问请求只能访问非测试功能模块,因此,执行完步骤103后,转去执行步骤105。
62.104:接收用户设备的功能访问请求,确定功能访问请求用于请求访问的功能模块。
63.其中,功能访问请求,指用户设备发送的希望访问应用软件的某一功能模块的请求。
64.若功能访问请求用于请求访问的功能模块为非测试功能模块,则执行步骤105;若功能访问请求用于请求访问的功能模块为测试功能模块,则执行步骤106。
65.105:若功能访问请求用于请求访问非测试功能模块,则在非测试集群中生成访问过程数据。
66.其中,在功能访问请求用于请求访问非测试功能模块时,访问过程数据指非测试数据。
67.106:若功能访问请求用于请求访问测试功能模块,则在测试集群中生成访问过程数据。
68.其中,在功能访问请求用于请求访问测试功能模块时,访问过程数据指而是数据。
69.其中,若功能访问请求用于请求访问非测试功能模块,则在非测试集群中生成访问过程数据、且若功能访问请求用于请求访问测试功能模块,则在测试集群中生成访问过程数据,目的是,将访问非测试功能模块和测试功能模块的过程中所生成的访问过程数据分别地存放于不同的集群中,从而实现非测试数据和测试数据的分离,进而避免测试数据和非测试数据发生数据混淆而导致非标签用户无法正常使用应用软件的不良情况发生。
70.示例性地,测试人员欲对目标app测试是否能完成目标活动,其中,目标app可以是购物app、目标活动是针对目标商品的秒杀活动,因此,测试功能模块可以是目标商品的秒杀活动页面,非测试功能模块则可以是正常商品的下单页面,将目标活动设置于测试功能模块中,对目标app的部分用户进行test标签处理得到标签用户,只有标签用户能够访问测试功能模块而非标签用户无法访问测试功能模块。第一服务器获取到发起访问请求的用户设备,且确定到用户设备对应的用户带有test标签,即用户为标签用户,则第一服务器向用户设备提供正常商品的下单页面入口和目标商品的秒杀活动页面入口,从而标签用户能够在用户设备上看到正常商品的下单页面和目标商品的秒杀活动页面,第一服务器接收用户设备的功能访问请求且确定到功能访问请求用于请求访问目标商品的秒杀活动页面,则在测试集群中生成标签用户访问目标商品的秒杀活动页面进行测试时所生成的访问过程数据;反之,若第一服务器确定到功能访问请求用于请求访问正常商品的下单页面,则在非测试集群中生成标签用户访问正常商品的下单页面时所生成的访问过程数据。其中,在完成针对测试功能模块的测试之后,可以对测试过程中产生的测试数据进行删除,在具体实现中,可以通过直接调取位于测试集群中的数据并进行删除。由于测试功能模块入口只提供给标签用户的用户设备、不会提供给非标签用户的用户设备,因此,目标app在测试过程中依然可以正常运行、非标签用户可以正常使用目标app。其中,在完成测试之后,还可以对标签用户进行去标签化处理,即是说,将标签用户的test标签去掉,从而将标签用户还原为只能访问非测试功能模块的非标签用户。至此,在完成测试之后,通过对测试过程中产生的测试数据进行删除且将标签用户的test标签去掉后,应用软件的运行环境又恢复为了进行测试之前的初始环境。
71.又一示例性地,上述在完成针对测试功能模块的测试之后之后,还可以根据应用服务集群所统计到的测试数据变化情况,计算应用服务集群的系统处理能力。若测试人员对目标app测试的测试目的还包括对测试功能模块的单位时间内最大处理量进行测试,在
具体实现中,可以是将应用服务集群中的多个服务器中每个服务器的配置参数进行统一化配置、并指定其中一个服务器为用于测试的目标服务器,目标服务器在标签用户针对测试功能模块进行测试的过程中对标签用户的操作行为进行记录,如记录标签用户的下单时间点,而后根据标签用户的下单时间点计算出目标服务器在单位时间内的最大处理量,再根据应用服务集群中的服务器数量去计算应用服务集群的单位时间内的最大处理量即可。例如,应用服务集群有n个服务器,获取到目标服务器在单位时间内的最大处理量=100个请求/秒,则应用服务集群在单位时间内的最大处理量=100*n个请求/秒;在另一种具体实现中,若指定应用服务集群中的多个服务器为测试集群,即在测试过程中会在测试集群中的多个服务器中生成测试数据,假设应用服务集群有n个服务器且测试集群有m个服务器,获取到测试集群在单位时间内的最大处理量=100个请求/秒,则在该具体实现中,应用服务集群在单位时间内的最大处理量=100*n/m(个请求*秒)。
72.下面结合附图对本技术实施例中所涉及的设备进行介绍。
73.请参阅图1e,图1e是本技术实施例应用的一种基于性能测试数据分离的应用服务集群的部署图,该应用服务集群与用户设备连接,应用服务集群包括确定模块、测试集群和测试功能模块,其中,每个模块的功能可以由单独的服务器来实现,也可以是多个模块的功能由一个服务器实现。实现不同模块功能的多个服务器互相通信连接。服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
74.其中,用户设备,指目的为使用应用服务集群对应的应用软件中的测试功能模块,而在向应用服务集群发送访问请求消息之后,向应用服务集群发送用于访问测试功能模块的功能访问请求的角色。
75.其中,确定模块,用于在应用服务集群接收到用户设备发送的访问请求消息后,确定用户设备对应的用户是否为标签用户,并且在用户为标签用户时向用户设备展示测试功能模块。
76.其中,测试集群,用于在用户为标签用户时向用户设备提供测试功能模块入口,并且在用户设备的功能访问请求用于请求访问测试功能模块时生成访问过程数据。
77.其中,测试功能模块,用于在应用服务集群接收到用户设备发送的用于访问测试功能模块的功能访问请求之后,与用户设备发生数据交互从而完成测试。
78.如图1e所示,用户使用用户设备向应用服务集群发送访问请求,应用服务集群接收到用户设备发送的访问请求之后,令确定模块确定用户设备对应的用户是否为标签用户,若确定模块确定到用户为标签用户,则测试集群向用户设备提供测试功能模块入口,反之则不提供测试功能模块入口,用户在用户设备上获取到测试功能模块后,使用用户设备向应用服务集群发送用于访问测试功能模块的功能访问请求,用户设备针对测试功能模块与测试功能模块发生数据交互以完成测试,其中,在针对测试功能模块进行测试的同时在测试集群中生成访问过程数据。
79.可以看出,本技术实施例中,获取发起访问请求的用户设备,确定用户设备对应的用户为标签用户或非标签用户;若用户为标签用户,则向用户设备提供非测试功能模块入口和测试功能模块入口,其中测试功能模块部署在应用服务集群中的测试集群,非测试功
能模块部署在应用服务集群中的非测试集群;若用户为非标签用户,则向用户设备提供非测试功能模块入口;接收用户设备的功能访问请求,确定功能访问请求用于请求访问的功能模块;若功能访问请求用于请求访问非测试功能模块,则在非测试集群中生成访问过程数据;若功能访问请求用于请求访问测试功能模块,则在测试集群中生成访问过程数据。采用本技术实施例的方法,在确定到用户为标签用户、且用户设备的功能访问请求用于访问测试功能模块的情况下,在测试集群中生成访问过程数据,从而在进行测试时,不需要停机测试也能够将测试数据和非测试数据进行分离。
80.在一个可能的示例中,上述方法还包括:获取测试集群中生成的访问过程数据,确定访问过程数据的数据量是否大于第一预设阈值;若访问过程数据的数据量大于第一预设阈值,则从应用服务集群中获取新的应用服务器添加到测试集群;获取新的非测试集群,确定新的非测试集群的性能参数是否优于第二预设阈值,若是,则确定测试功能模块具有性能稳定性。
81.其中,获取测试集群中生成的访问过程数据,确定访问过程数据的数据量是否大于第一预设阈值,在具体实现中,可以是通过调取响应功能访问请求的测试集群中的服务器缓存数据来获取到访问过程数据,再将访问过程数据的数据量与第一预设阈值进行比较。第一预设阈值可以是500mb、1gb或其他数据量。
82.其中,获取新的非测试集群,确定新的非测试集群的性能参数是否优于第二预设阈值,在具体实现中,可以是通过获取在非测试集群中生成的访问过程数据确定非测试集群的性能参数,例如根据非测试集群中生成的访问过程数据确定出非测试集群的最高负载量、最大处理量或其他性能参数来确定非测试集群的性能参数,再将性能参数与第二预设阈值进行比较。第二预设阈值可以是0~1、0~100%或其他数值范围中的某一数值。
83.可以看出,本技术实施例中,在确定到测试集群中生成的访问过程数据的数据量大于第一预设阈值的情况下,从应用服务集群中获取新的服务器添加到测试集群,并且确定获取到的新的非测试集群的性能参数优于第二预设阈值的情况下,确定测试功能模块具有性能稳定性。在将应用服务集群中的部分应用服务集群添加到测试集群中后,新的非测试集群依然具有较高的性能参数而得以正常运行时,则确定测试功能模块具有性能稳定性,也能证明测试集群和非测试集群在互相分配服务器时并不会对彼此的运行性能产生影响,进而确保测试集群和非测试集群各自生成的访问过程数据在数据空间上是互相分离的,且测试集群和非测试集群在运行响应上是互不干扰、互不影响的。
84.在一个可能的示例中,上述方法还包括:获取测试集群中针对多个用户设备生成的多个访问过程数据;确定多个访问过程数据中,满足第一预设规则的访问过程数据量,第一预设规则用于表征在测试功能模块与非测试功能模块关联的情况下,可能遵守的规则;若满足第一预设规则的访问过程数据量大于第三预设阈值,则确定测试功能模块具有可用性。
85.示例性地,测试人员欲对目标app测试是否能完成目标活动且目标app是购物app,目标活动包括下单商品和结算商品两个步骤,其中,下单商品是测试功能模块,而结算商品是非测试功能模块,则下单商品与结算商品关联时应当遵守的规则为先完成下单商品的步骤再进行结算商品的步骤,因此,第一预设规则为:先下单商品,再结算商品。进一步地,满足第一预设规则的访问过程数据可以是下单商品后结算商品所生成的账单明细数据。
86.其中,第三预设阈值可以是500mb、1gb或其他数据量。
87.可以看出,本技术实施例中,在确定到测试集群中针对多个用户设备生成的多个访问过程数据中,满足第一预设规则的访问过程数据量大于第三预设阈值时,则确定测试功能模块具有可用性,从而认为测试功能模块和非测试功能模块能够关联运行,即是说,测试功能模块和非测试功能模块能够融合使用,进而确定测试功能模块具有可用性。
88.在一个可能的示例中,上述方法还包括:设置第一用户池和第二用户池,针对第一用户池,设置其对应的可见性参数为第一参数,用于表征非测试功能模块入口和测试功能模块入口对第一用户池中对应的用户设备可见;针对第二用户池,设置其对应的可见性参数为第二参数,用于表征非测试功能模块入口对第二用户池中对应的用户设备可见,测试功能模块入口对第二用户池中的用户设备对应的用户设备不可见,上述若用户为标签用户,则向用户设备提供非测试功能模块入口和测试功能模块入口,包括:将标签用户划分到第一用户池中;上述若用户为非标签用户,则向用户设备提供非测试功能模块入口,包括:将非标签用户划分到第二用户池中。
89.其中,设置第一用户池和第二用户池,目的是,使得测试功能模块入口只对标签用户对应的用户设备可见、并且对非标签用户对应的用户设备不可见。
90.其中,第一参数和第二参数,在具体实现中,可以是第一参数是on且第二参数是off。
91.示例性地,请参阅图2a,图2a是本技术实施例提供的一种性能测试数据分离方法的举例示意图,如图2a所示,有用户设备1-4共4个用户设备,其中用户设备1-2对应的用户为标签用户,用户设备3-4对应的用户为非标签用户,因此,将用户设备1-2划分到第一用户池中、且将用户设备3-4划分到第二用户池中,从而由于非测试功能模块入口和测试功能模块入口对第一用户池中对应的用户设备可见,因此,位于第一用户池中的用户设备1和用户设备2能够访问非测试功能模块和测试功能模块,同时,由于只有非测试功能模块入口对第二用户池中对应的用户设备可见,位于第二用户池中的用户设备3和用户设备4只能够访问非测试功能模块而无法访问测试功能模块。至此,实现了测试功能模块入口只对标签用户对应的用户设备可见,确保非标签用户对应的用户设备无法访问测试功能模块。
92.可以看出,本技术实施例中,通过设置第一用户池和第二用户池,针对第一用户池设置其对应的可见性参数为第一参数、针对第二用户池设置其对应的可见性参数为第二参数,并且将标签用户划分到第一用户池中、将非标签用户划分到第二用户池中。从而非测试功能模块入口和测试功能模块入库口对标签用户的用户设备可见,同时,只有非测试功能模块入口对非标签用户的用户设备可见,测试功能模块入口对非标签用户的用户设备不可见,从而避免非标签用户访问到测试功能模块,进而避免了应用软件发生数据异常、数据混淆等影响到正常业务运行的不良情况发生。
93.在一个可能的示例中,在功能访问请求用于请求访问非测试功能模块的情况下,上述方法还包括:获取测试功能模块的测试需求,测试需求包括测试测试功能模块的可用性,和/或测试测试功能模块对应用服务集群的性能影响;若测试功能模块的测试需求包括测试测试功能模块的可用性,则提示用户访问测试功能模块;若测试功能模块的测试需求包括测试测试功能模块对应用服务集群的性能影响,则在第一预设时间,将用户的访问请求引导至测试功能模块。
94.其中,测试功能模块的可用性,指测试功能模块是否能够正常使用,即是说,测试功能模块对应的接口是否可用以及标签用户是否能被引流到测试集群中;测试功能模块对应用服务集群的性能影响,可以指测试功能模块可能产生的最高负载量、最大处理量或响应速度等。
95.其中,第一预设时间,可以是测试需求对应的测试时间。例如,在测试需求为测试测试功能模块在目标时间点的最大负载量,则第一预设时间为该目标时间点。
96.示例性地,测试功能模块对应用服务集群的性能影响,指测试功能模块在预设时间内的最高负载量。因此,若测试需求为对测试功能模块的可用性进行测试,则只需要提示标签用户访问测试功能模块协助完成测试即可,在具体实现中,可以通过弹窗提示或其他形式以提示用户对测试功能模块进行访问;若测试需求为对测试功能模块在预设时间内的最高负载量进行测试,则需要在第一预设时间内将标签用户强制引导至测试功能模块中以协助完成对测试功能模块在预设时间内的最高负载量的测试。
97.可以看出,本技术实施例中,在标签用户的功能访问请求用于请求访问非测试功能模块的情况下,获取测试功能模块的测试需求,在测试功能模块的测试需求包括测试测试功能模块的可用性时,则提示用户访问测试功能模块;而在测试功能模块的测试需求包括测试测试功能模块对应用服务集群的性能影响时,则在第一预设时间将用户的访问请求引导至测试功能模块。从而在标签用户没有访问测试功能模块进行测试时,能够引导标签用户配合完成针对测试功能模块的测试,避免标签用户忘记进行测试、没有在测试需求对应的测试时间进行测试等影响到测试的意外情况,通过减少测试过程中的意外情况进而提高测试效率、保证测试结果的准确性。
98.在一个可能的示例中,上述应用服务集群还包括测试数据库和非测试数据库,若功能访问请求用于请求访问非测试功能模块,则在非测试集群中生成访问过程数据之后,上述方法还包括:将访问过程数据存储于非测试数据库中;若功能访问请求用于请求访问测试功能模块,则在测试集群中生成访问过程数据之后,上述方法还包括:将访问过程数据存储于测试数据库中。
99.其中,非测试数据库,除了存储在非测试集群中生成的访问过程数据,还可以存储标签用户和非标签用户访问非测试功能模块过程中所需要的数据。
100.示例性地,基于上述示例实施例,若非测试功能模块是正常商品的下单页面,在非测试集群中生成的访问过程数据,则可以是下单正常商品后所生成的订单信息;而标签用户和非标签用户访问非测试功能模块过程中所需要的数据,则可以是正常商品的商品详情信息。
101.其中,测试数据库,除了存储在测试集群中生成的访问过程数据,还可以存储标签用户访问测试功能模块过程中所需要的数据。
102.示例性地,基于上述示例实施例,若测试功能模块是目标商品的秒杀页面,在测试集群中生成的访问过程数据,则可以是秒杀目标商品后所生成的订单信息;而标签用户访问测试功能模块过程中所需要的数据,则可以是目标商品的商品详情信息。
103.其中,将在测试集群中生成的访问过程数据存储于测试数据库中、且将在非测试集群中生成的访问过程数据存储于非测试数据库中,目的是,通过将测试集群和非测试集群中生成的访问过程数据分别存储在互相独立而不同的数据库中,从而实现测试集群数据
和非测试集群数据的分离,进而避免了标签用户在访问测试功能模块的过程中所生成的访问过程数据对非标签用户正常使用应用软件产生不良影响的情况。
104.其中,测试数据库与非测试数据库之间不存在通讯连接。在具体实现中,可以通过对数据库与集群服务器之间的对应关系进行配置来实现,具体地,将测试数据库与测试集群进行对应性配置、且将非测试数据库与应用服务集群中除测试集群外的非测试集群进行对应性配置,从而测试集群只能与测试数据库发生数据交互、且非测试集群只能与非测试数据库发生数据交互;还可以是通过将测试数据库的域名配置为应用服务集群中除测试集群外的非测试集群中服务器的屏蔽域名来实现,从而非测试集群中服务器无法与测试数据库发生数据交互。
105.示例性地,请参阅图2b,图2b是本技术实施例提供的一种性能测试数据分离方法的举例示意图,如图2b所示,在具体实现中,测试数据库与非测试数据库分离存在、彼此之间不存在通讯连接。应用服务集群由测试集群和非测试集群组成,通过对数据库与集群服务器的对应关系进行配置后,测试集群中的服务器可以与测试数据库、非测试数据库发生数据交互,而非测试集群中的服务器只可以与非测试数据库发生数据交互,从而,在标签用户的用户设备的功能访问请求用于请求访问测试功能模块时,功能访问请求所产生的访问流量、访问过程数据或需要调取的数据,只能是与测试数据库进行数据交互,若标签用户完成了测试或停止了测试转而去访问非测试功能模块,由于测试集群中的服务器可以与非测试数据库发生数据交互,因此,标签用户的用户设备能够正常地从非测试数据库调取非测试数据而访问非测试功能模块,并且由于测试数据库与非测试数据库的分离性,标签用户在针对测试功能模块完成测试的过程中所生成的测试数据不会对非测试数据库产生影响,故而能够确保非标签用户对应用软件的正常、流畅使用。
106.可以看出,本技术实施例中,应用服务集群还包括测试数据库和非测试数据库,在功能访问请求用于请求访问非测试功能模块的情况下,则在非测试集群中生成访问过程数据之后,将访问过程数据存储于非测试数据库中;并且,在功能访问请求用于请求访问测试功能模块的情况下,则在测试集群中生成访问过程数据之后,将访问过程数据存储于测试数据库中。通过将测试集群和非测试集群中生成的访问过程数据分别存储在互相独立而不同的数据库中,从而实现测试集群数据和非测试集群数据的分离,进而避免了标签用户在访问测试功能模块的过程中所生成的访问过程数据对非标签用户正常使用应用软件产生不良影响的情况,通过提高应用软件运行稳定性确保了非标签用户对应用软件的正常、流畅使用。
107.在一个可能的示例中,上述应用服务集群还包括测试数据库和非测试数据库,上述方法还包括:接收用户设备在第二预设时间内的多个功能访问请求,根据多个功能访问请求确定访问路径;确定访问路径中请求访问测试功能模块的占比;若请求访问测试功能模块的占比大于第一预设比例,则将访问路径中产生的访问过程数据存储到测试数据库中;若请求访问测试功能模块的占比小于或等于第一预设比例,则将访问路径中请求访问测试功能模块产生的访问过程数据存储到测试数据库中,将访问路径中请求访问非测试功能模块产生的访问过程数据存储到非测试数据库中。
108.其中,第二预设时间,可以是1小时、2小时或其他时间,还可以是从开始进行测试到完成测试这一过程的时间。
109.其中,第一预设比例,可以是60%、80%或其他比例。
110.可以看出,本技术实施例中,应用服务集群还包括测试数据库和非测试数据库,根据用户设备在第二预设时间内的多个功能访问请求确定访问路径后,若确定到访问路径中请求访问测试功能模块的占比大于第一预设比例,则将访问路径中产生的访问过程数据存储到测试数据库中;若确定到访问路径中请求访问测试功能模块的占比小于或等于第一预设比例,则将访问路径中请求访问测试功能模块产生的访问过程数据存储到测试数据库中并且将访问非测试功能模块产生的访问过程数据存储到非测试数据库中。从而实现了在访问路径中请求访问测试功能模块的占比较大时,将测试数据和非测试数据都存储到测试数据库中,以方便后续完成测试后对标签用户在测试过程中的所有相关数据都进行删除;而在访问路径中请求访问测试功能模块的占比较小时,将测试数据和非测试数据分别对应存储在测试数据库和非测试数据库中,从而完成对测试数据和非测试数据的分离。
111.与上述图1c所示的实施例一致的,请参阅图3,图3是本技术实施例提供的一种性能测试数据分离装置的结构图,如图3所示:
112.一种性能测试数据分离装置,应用于应用服务集群,应用服务集群为多个应用服务器组成的集群,上述装置包括:
113.301:获取单元,用于获取发起访问请求的用户设备,确定用户设备对应的用户为标签用户或非标签用户;
114.302:展示单元,用于若用户为标签用户,则向用户设备提供非测试功能模块入口和测试功能模块入口,其中测试功能模块部署在应用服务集群中的测试集群,非测试功能模块部署在应用服务集群中的非测试集群;若用户为非标签用户,则向用户设备提供非测试功能模块入口;
115.303:确定单元,用于接收用户设备的功能访问请求,确定功能访问请求用于请求访问的功能模块;
116.304:生成单元,用于若功能访问请求用于请求访问非测试功能模块,则在非测试集群中生成访问过程数据;若功能访问请求用于请求访问测试功能模块,则在测试集群中生成访问过程数据。
117.可以看出,本技术实施例提供的装置中,获取单元用于获取发起访问请求的用户设备,确定用户设备对应的用户为标签用户或非标签用户;展示单元用于若用户为标签用户,则向用户设备提供非测试功能模块入口和测试功能模块入口,其中测试功能模块部署在应用服务集群中的测试集群,非测试功能模块部署在应用服务集群中的非测试集群;若用户为非标签用户,则向用户设备提供非测试功能模块入口;确定单元用于接收用户设备的功能访问请求,确定功能访问请求用于请求访问的功能模块;生成单元用于若功能访问请求用于请求访问非测试功能模块,则在非测试集群中生成访问过程数据;若功能访问请求用于请求访问测试功能模块,则在测试集群中生成访问过程数据。采用本技术实施例的装置,在确定到用户为标签用户、且用户设备的功能访问请求用于访问测试功能模块的情况下,在测试集群中生成访问过程数据,从而在进行测试时,不需要停机测试也能够将测试数据和非测试数据进行分离。
118.具体地,本技术实施例可以根据上述方法示例对性能测试数据分离装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能
集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
119.与上述图1c所示的实施例一致的,本技术实施例提供了一种电子设备,请参阅图4,图4是本技术的实施例提供的一种电子设备的硬件运行环境的服务器结构示意图,如图4所示,电子设备包括处理器、存储器以及存储在存储器上并可在处理器上运行的计算机执行指令,当计算机执行指令被运行时,使得电子设备执行包括任一项性能测试数据分离方法的步骤的指令。
120.其中,处理器为cpu(central processing unit)。
121.其中,存储器,可选的,存储器可以为高速ram存储器,也可以是稳定的存储器,例如磁盘存储器。
122.本领域技术人员可以理解,图4中示出的服务器的结构并不构成对其的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
123.如图4所示,存储器中可以包括操作系统、网络通信模块以及性能测试数据分离方法的计算机执行指令。操作系统用于管理和控制服务器硬件和软件资源,支持计算机执行指令的运行。网络通信模块用于实现存储器内部各组件之间的通信,以及与服务器内部其他硬件和软件之间通信,通信可以使用任一通信标准或协议,包括但不限于gsm(global system of mobile communication,全球移动通讯系统)、gprs(general packet radio service,通用分组无线服务)、cdma2000(codedivision multiple access 2000,码分多址2000)、wcdma(wideband code divisionmultiple access,宽带码分多址)、td-scdma(time division-synchronous codedivision multiple access,时分同步码分多址)等。
124.在图4所示的服务器中,处理器用于执行存储器中存储的人员管理的计算机执行指令,实现以下步骤:获取发起访问请求的用户设备,确定用户设备对应的用户为标签用户或非标签用户;若用户为标签用户,则向用户设备提供非测试功能模块入口和测试功能模块入口,其中测试功能模块部署在应用服务集群中的测试集群,非测试功能模块部署在应用服务集群中的非测试集群;若用户为非标签用户,则向用户设备提供非测试功能模块入口;接收用户设备的功能访问请求,确定功能访问请求用于请求访问的功能模块;若功能访问请求用于请求访问非测试功能模块,则在非测试集群中生成访问过程数据;若功能访问请求用于请求访问测试功能模块,则在测试集群中生成访问过程数据。
125.本技术涉及的服务器的具体实施可参见上述性能测试数据分离方法的各实施例,在此不做赘述。
126.本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机指令,当计算机指令在通信装置上运行时,使得通信装置执行以下步骤:获取发起访问请求的用户设备,确定用户设备对应的用户为标签用户或非标签用户;若用户为标签用户,则向用户设备提供非测试功能模块入口和测试功能模块入口,其中测试功能模块部署在应用服务集群中的测试集群,非测试功能模块部署在应用服务集群中的非测试集群;若用户为非标签用户,则向用户设备提供非测试功能模块入口;接收用户设备的功能访问请求,确定功能访问请求用于请求访问的功能模块;若功能访问请求用于请求访问非测试功能模块,则在非测试集群中生成访问过程数据;若功能访问请求用于请求访问测试功能模块,则
在测试集群中生成访问过程数据。上述计算机包括电子设备。
127.其中,电子终端设备包括手机、平板电脑、个人数字助理、穿戴式设备等。
128.其中,计算机可读存储介质可以是上述实施例所述的电子设备的内部存储单元,例如电子设备的硬盘或内存。计算机可读存储介质也可以是上述电子设备的外部存储设备,例如电子设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,计算机可读存储介质还可以既包括电子设备的内部存储单元也包括外部存储设备。计算机可读存储介质用于存储计算机执行指令以及电子设备所需的其他计算机执行指令和数据。计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
129.本技术涉及的计算机可读存储介质的具体实施可参见上述性能测试数据分离方法的各实施例,在此不做赘述。
130.本技术实施例提供了一种计算机程序产品,其中,计算机程序产品包括计算机程序,计算机程序可操作来使计算机如上述方法实施例中记载的任何一种性能测试数据分离方法的部分或全部步骤,该计算机程序产品可以是一个软件安装包。
131.需要说明的是,对于前述的任一种性能测试数据分离方法的实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本技术所必须的。
132.以上对本技术实施例进行了详细介绍,本文中应用了具体个例对本技术一种性能测试数据分离方法的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术一种性能测试数据分离方法的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
133.本技术是参照本技术实施例的方法、硬件产品和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
134.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。存储器可以包括:闪存盘、只读存储器(英文:read-only memory,简称:rom)、随机存取器(英文:random access memory,简称:ram)、磁盘或光盘等。
135.尽管在此结合各实施例对本技术进行了描述,然而,在实施所要求保护的本技术过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现所公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。相互不同的从属权利要求中记载了某些措施,但这
并不表示这些措施不能组合起来产生良好的效果。
136.本领域普通技术人员可以理解上述任一种性能测试数据分离方法的方法实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read-only memory,简称:rom)、随机存取器(英文:random access memory,简称:ram)、磁盘或光盘等。
137.显然,本领域的技术人员可以对本技术提供的一种性能测试数据分离方法进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1