一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

流量录制方法及其系统、流量回放方法及计算机设备与流程

2022-11-28 12:47:50 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种流量录制方法及其系统、流量回放方法及计算机设备。


背景技术:

2.目前,流量回放已成为广泛使用的一种测试回归方式。流量回放通过将录制的流量在新版本软件中做回放,核对回放结果以对新版本软件进行回归测试。常用的流量回放方式中,对流量的筛选通常是按时间段筛选出固定时间段的流量,或者按照模块或场景筛选特定模块的流量,然后用这些流量来做顺序回放以达到自动化回归的目的。
3.但是在软件版本的迭代过程中,需要依赖人为对改造的代码影响到的功能或模块进行评估,然后筛选出相应的流量做回放。因此,流量回放往往与人为评估的结果相关,容易出现评估遗漏等问题。如果直接利用全量流量做回归的话,回归流量大、回放比较耗时,会导致测试资源的浪费。


技术实现要素:

4.有鉴于此,实有必要提供一种流量录制方法及其系统、流量回放方法及计算机设备,减少流量数据的遗漏并缩短回放周期。
5.第一方面,本技术实施例提供一种流量录制方法,所述流量录制方法包括:
6.录制软件的当前版本的流量数据,其中,所述流量数据包括若干流量段和与所述流量段相对应的依赖点;
7.获取所述软件的当前版本代码和测试版本代码,其中,所述测试版本代码包括若干测试代码段,所述测试代码段具有方法名;
8.根据所述当前版本代码和所述测试版本代码判断所述测试代码段是否更新;当所述测试代码段已更新时,获取所述测试代码段的方法名;以及
9.根据所述依赖点和所述方法名对所述流量段进行筛选以得到待回放流量,其中,所述待回放流量用于对所述软件的测试版本进行回归测试。
10.第二方面,本技术实施例提供一种计算机设备,所述计算机设备包括:
11.存储器,用于存储程序指令;以及
12.处理器,用于执行所述程序指令以实现如上所述的流量录制方法。
13.第三方面,本技术实施例提供一种流量录制系统,所述流量录制系统包括:
14.录制模块,用于录制软件的当前版本的流量数据,其中,所述流量数据包括若干流量段和与所述流量段相对应的依赖点;
15.第一获取模块,用于获取所述软件的当前版本代码和测试版本代码,其中,所述测试版本代码包括若干测试代码段,所述测试代码段具有方法名;
16.判断模块,用于根据所述当前版本代码和所述测试版本代码判断所述测试代码段是否更新;
17.第二获取模块,用于当所述测试代码段更新时,获取所述测试代码段的方法名;以及
18.筛选模块,用于根据所述依赖点和所述方法名对所述流量段进行筛选以得到待回放流量,其中,所述待回放流量用于对所述软件的测试版本进行回归测试。
19.第四方面,本技术实施例提供一种流量回放方法,所述流量回放方法包括:
20.获取待回放流量,其中,所述待回放流量由如上所述的流量录制方法录制得到;以及
21.调用软件的测试版本回放所述待回放流量。
22.上述流量录制方法及其系统、流量回放方法及计算机设备,录制软件当前版本的所有流量数据,根据软件当前版本代码和迭代的测试版本代码找到已更新的测试代码段,并根据已更新的测试代码段的方法名,匹配流量段的依赖点,从而对流量数据进行筛选。如果依赖点与方法名相匹配,则认为测试代码段的改造会对相应的流量段产生影响,因此,需要将被影响到的流量段筛选出来,作为待回放流量。即是说,待回放流量仅包括与已更新的测试代码段相关联的流量段,而不是包括录制得到的所有流量数据。因此,流量录制方法能够准确匹配相关联的流量段的同时,还能够避免流量段的遗漏。
附图说明
23.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
24.图1为本技术实施例提供的流量录制方法的流程图。
25.图2为本技术实施例提供的流量录制方法的子流程图。
26.图3为本技术实施例提供的计算机设备的内部结构示意图。
27.图4为本技术实施例提供的流量回放系统的内部结构示意图。
28.图5为本技术第一实施例提供的流量回放方法的流程图。
29.图6为本技术第一实施例提供的流量回放方法的第一子流程图。
30.图7为本技术第一实施例提供的流量回放方法的第二子流程图。
31.图8为本技术第一实施例提供的流量回放方法的第三子流程图。
32.图9为本技术第一实施例提供的流量回放方法的第四子流程图。
33.图10为本技术第二实施例提供的流量回放方法的子流程图。
34.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
35.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
36.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第
四”等(如果存在)是用于区别类似的规划对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,换句话说,描述的实施例根据除了这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,还可以包含其他内容,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于只清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
37.需要说明的是,在本技术中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本技术要求的保护范围之内。
38.请结合参看图1和图2,图1为本技术实施例提供的流量录制方法的流程图,图2为本技术实施例提供的流量录制方法的子流程图。流量录制方法用于对软件的当前版本的日常流量进行录制,录制得到的流量可用于对软件的更新版本进行回归测试。流量录制方法具体包括如下步骤。
39.步骤s102,录制软件的当前版本的流量数据。其中,流量数据包括若干流量段和与流量段相对应的依赖点。具体地,每一流量段对应有至少一个依赖点。
40.在本实施例中,软件的当前版本包括若干运行模块。对软件的当前版本中所有运行模块的日常流量进行录制,相应地,每一运行模块对应至少一个流量段。软件的当前版本代码包括若干当前代码段,每一当前代码段具有至少一个方法名。其中,一个运行模块与至少一个当前代码段相对应。即是说,至少一个当前代码段形成一个运行模块。可以理解的是,同一运行模块所对应的当前代码段与流量段相对应,流量段的依赖点可以与一个当前代码段的一个方法名相对应,可以与一个当前代码段的所有方法名相对应,也可以与多个当前代码段的多个方法名相对应。
41.录制软件的当前版本的流量数据之后,可以将流量数据存储至流量数据库。可以理解的是,持续录制所有用户场景下软件的当前版本的流量数据,并将流量数据持久化保存于流量数据库中,以便用于流量回放。
42.步骤s104,获取软件的当前版本代码和测试版本代码。
43.在本实施例中,软件的当前版本对应的代码为当前版本代码,更新迭代形成的软件的测试版本对应的代码为测试版本代码。相应地,测试版本代码包括若干测试代码段,测试代码段具有方法名。其中,每一测试代码段具有至少一个方法名。
44.可以理解的是,软件的测试版本包括若干测试模块。其中,当软件的测试版本没有增加新的模块或者减少原有的模块时,测试模块与运行模块一一对应;当软件增加了新的模块或者减少了原有的模块时,至少部分测试模块和运行模块一一对应。即是说,至少部分测试模块为由原来的运行模块修改而成,至少部分测试模块与原来的运行模块相同。相应地,一个测试模块与至少一个测试代码段相对应。即是说,至少一个测试代码段形成一个测试模块。其中,至少部分测试代码段和当前代码段一一对应,则一一对应的测试代码段和当前代码段具有的方法名相同。即,依赖点可以与一个测试代码段的一个方法名相对应,可以
与一个测试代码段的所有方法名相对应,也可以与多个测试代码段的多个方法名相对应。
45.步骤s106,根据当前版本代码和测试版本代码判断测试代码段是否更新。
46.在本实施例中,将当前版本代码的当前代码段和测试版本代码的测试代码段进行一一比对,当测试代码段与当前代码段不同时,确认该测试代码段为更新迭代过的代码段,即测试代码段已更新。
47.当测试代码段已更新时,执行步骤s108。
48.步骤s108,获取测试代码段的方法名。在本实施例中,获取测试版本代码中所有已更新的测试代码段的方法名。
49.可以理解的是,在软件的版本迭代过程中,版本代码会被改造。对于被改造的代码,需要获取相对应的方法名,从而能够更加准确地筛选出需要的待回放流量。
50.步骤s110,根据依赖点和方法名对流量段进行筛选以得到待回放流量。其中,待回放流量用于对软件的测试版本进行回归测试。
51.根据已更新的测试代码段对所有流量段进行筛选,从而得到用于回归测试的待回放流量。
52.在本实施例中,根据依赖点和方法名对流量段进行筛选以得到待回放流量具体包括如下步骤。
53.步骤s202,判断依赖点和方法名是否匹配。
54.将已更新的测试代码段的方法名与每一依赖点进行比对,判断是否相对应。当依赖点与方法名相对应时,确认依赖点与方法名匹配。
55.当依赖点和方法名匹配时,执行步骤s204。
56.步骤s204,确认与依赖点相对应的流量段为待回放流量。
57.选取与依赖点相对应的流量段为待回放流量。
58.上述实施例中,录制软件当前版本的所有流量数据,根据软件当前版本代码和迭代的测试版本代码找到已更新的测试代码段,并根据已更新的测试代码段的方法名,匹配流量段的依赖点,从而对流量数据进行筛选。如果依赖点与方法名相匹配,则认为测试代码段的改造会对相应的流量段产生影响,因此,需要将被影响到的流量段筛选出来,作为待回放流量。即是说,待回放流量仅包括与已更新的测试代码段相关联的流量段,而不是包括录制得到的所有流量数据。因此,流量录制方法能够准确匹配相关联的流量段的同时,还能够避免流量段的遗漏。
59.请结合参看图3,其为本技术实施例提供的计算机设备的内部结构示意图。计算机设备10包括存储器11和处理器12。存储器11用于存储程序指令,处理器12用于执行程序指令以实现上述流量录制方法。
60.其中,处理器12在一些实施例中可以是一中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器或其它数据处理芯片,用于运行存储器11中存储的程序指令。
61.存储器11至少包括一种类型的可读存储介质,该可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是计算机设备的内部存储单元,例如计算机设备的硬盘。存储器11在另一些实施例中也可以是计算机设备的外部存储设备,例如计算机设备上配备的插接式硬盘、智
能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,存储器11还可以既包括计算机设备的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于计算机设备的应用软件及各类数据,例如实现流量录制方法的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
62.请结合参看图4,其为本技术实施例提供的流量回放系统的内部结构示意图。流量录制系统20包括录制模块21、第一获取模块22、判断模块23、第二获取模块24以及筛选模块25。
63.录制模块21,用于录制软件的当前版本的流量数据。其中,流量数据包括若干流量段和与流量段相对应的依赖点。具体地,每一流量段对应有至少一个依赖点。
64.在本实施例中,软件的当前版本包括若干运行模块。对软件的当前版本中所有运行模块的日常流量进行录制,相应地,每一运行模块对应至少一个流量段。软件的当前版本代码包括若干当前代码段,每一当前代码段具有至少一个方法名。其中,一个运行模块与至少一个当前代码段相对应。即是说,至少一个当前代码段形成一个运行模块。可以理解的是,同一运行模块所对应的当前代码段与流量段相对应,流量段的依赖点可以与一个当前代码段的一个方法名相对应,可以与一个当前代码段的所有方法名相对应,也可以与多个当前代码段的多个方法名相对应。
65.录制模块21录制软件的当前版本的流量数据之后,流量录制系统20可以将流量数据存储至流量数据库。其中,流量数据库可以是流量录制系统20的内部数据库,也可以是流量录制系统20的外部数据库。可以理解的是,录制模块21持续录制所有用户场景下软件的当前版本的流量数据,并将流量数据持久化保存于流量数据库中,以便用于流量回放。
66.第一获取模块22,用于获取软件的当前版本代码和测试版本代码。
67.在本实施例中,软件的当前版本对应的代码为当前版本代码,更新迭代形成的软件的测试版本对应的代码为测试版本代码。相应地,测试版本代码包括若干测试代码段,测试代码段具有方法名。其中,每一测试代码段具有至少一个方法名。
68.可以理解的是,软件的测试版本包括若干测试模块。其中,当软件的测试版本没有增加新的模块或者减少原有的模块时,测试模块与运行模块一一对应;当软件增加了新的模块或者减少了原有的模块时,至少部分测试模块和运行模块一一对应。即是说,至少部分测试模块为由原来的运行模块修改而成,至少部分测试模块与原来的运行模块相同。相应地,一个测试模块与至少一个测试代码段相对应。即是说,至少一个测试代码段形成一个测试模块。其中,至少部分测试代码段和当前代码段一一对应,则一一对应的测试代码段和当前代码段具有的方法名相同。即,依赖点可以与一个测试代码段的一个方法名相对应,可以与一个测试代码段的所有方法名相对应,也可以与多个测试代码段的多个方法名相对应。
69.判断模块23,用于根据当前版本代码和测试版本代码判断测试代码段是否更新。
70.在本实施例中,判断模块23将当前版本代码的当前代码段和测试版本代码的测试代码段进行一一比对。当测试代码段与当前代码段不同时,判断模块23确认该测试代码段为更新迭代过的代码段,即测试代码段已更新。
71.第二获取模块24,用于当测试代码段已更新时,获取测试代码段的方法名。在本实施例中,第二获取模块24获取测试版本代码中所有已更新的测试代码段的方法名。
72.可以理解的是,在软件的版本迭代过程中,版本代码会被改造。对于被改造的代
码,需要获取相对应的方法名,从而能够更加准确地筛选出需要的待回放流量,用于测试迭代更新后的版本是否符合要求。
73.筛选模块25,用于根据依赖点和方法名对流量段进行筛选以得到待回放流量。其中,待回放流量用于对软件的测试版本进行回归测试。
74.筛选模块25根据已更新的测试代码段对所有流量段进行筛选,从而得到用于回归测试的待回放流量。
75.请结合参看图5和图6,图5为本技术第一实施例提供的流量回放方法的流程图,图6为本技术第一实施例提供的流量回放方法的第一子流程图。流量回放方法用于对软件最新迭代的测试版本进行回归测试。第一实施例提供的流量回放方法具体包括如下步骤。
76.步骤s502,获取待回放流量。其中,待回放流量的具体录制方法参照上述实施例。可以理解的是,待回放流量是根据软件的测试版本筛选得到的。即是说,待回放流量与软件的测试版本相关联,并一一对应。
77.在本实施例中,流量数据还包括流量响应结果。其中,流量响应结果与流量段相对应,每一流量段对应有至少一个流量响应结果。具体地,依赖点与流量响应结果一一对应。
78.步骤s504,调用软件的测试版本回放待回放流量。其中,具体回放过程可以根据实际情况进行设置。
79.优选地,部分测试代码段包括回放节点。可以理解的是,开发人员在对软件的版本代码进行改造的过程中,可以将回放节点设置于被改造的测试代码段。即是说,利用回放节点对被改造的测试代码段进行标记。
80.相应地,调用软件的测试版本回放待回放流量具体包括如下步骤。
81.步骤s602,识别回放节点。调用软件的测试版本,识别测试版本代码中的回放节点。
82.步骤s604,根据回放节点调用软件的测试版本中对应的测试模块回放待回放流量。可以理解的是,软件的测试版本包括若干测试模块。根据回放节点匹配相对应的测试模块,调用测试模块回放待回放流量。
83.上述实施例中,根据软件的测试版本获取相对应的待回放流量,调用软件的测试版本回放待回放流量,可以快速准确地完成软件的测试版本的回归测试,避免大范围流量的盲目回归,从而缩短回归周期。
84.此外,开发人员可以在已更新的测试代码段设置回放节点,通过识别回放节点,可以自动完成待回放流量的精准匹配和精准回归,快速完成回归测试,无需人工评估,也无需测试人力的投入,从而实现持续集成测试。
85.请结合参看图7和图8,图7为本技术第一实施例提供的流量回放方法的第二子流程图,图8为本技术第一实施例提供的流量回放方法的第三子流程图。执行步骤s504之后,第一实施例提供的流量回放方法还包括如下步骤。
86.步骤s702,生成回放响应结果。根据回放过程生成相应的回放响应结果。可以理解的是,回放响应结果包括若干个。一个测试代码段对应至少一个回放响应结果。
87.步骤s704,判断回放响应结果是否出现异常。在本实施例中,可以根据预先设定的规则对回放响应结果进行判断。其中,用于判断的规则可以根据实际情况进行设置,在此不作限定。
88.当回放响应结果出现异常时,执行步骤s706。
89.步骤s706,根据流量响应结果和回放响应结果判断测试代码段的功能是否发生改变。
90.在本实施例中,根据当前代码段对应的流量响应结果与测试代码段对应的回放响应结果进行判断。其中,可以根据流量响应结果与回放响应结果是否一致进行判断,也可以根据预先设定的规则进行判断,在此不作限定。
91.当测试代码段的功能发生改变时,执行步骤s708。
92.步骤s708,根据测试代码段的方法名和依赖点删除对应的流量段。可以理解的是,由于测试代码段的功能发生变化,原有的流量段已经无法用于对相应的测试模块进行回归测试,因此,需要删除对应的流量段。
93.在本实施例中,根据测试代码段的方法名和依赖点删除对应的流量段具体包括如下步骤。
94.步骤s802,根据测试代码段的方法名匹配相对应的依赖点。根据功能已经发生改变的测试代码段的方法名与每一依赖点进行比对,找到相对应的依赖点,即匹配的依赖点。
95.步骤s804,从流量数据库中删除测试代码段的方法名所匹配的依赖点对应的流量段。根据找到的匹配的依赖点,从流量数据库中删除相对应的流量段。
96.上述实施例中,当回放响应结果出现异常,根据回放响应结果和流量响应结果可以判断已更新的测试代码段的功能是否发生了改变。若已更新的测试代码段的功能发生改变,则表示软件中相应测试模块的功能发生改变。流量数据中与测试模块相对应的流量段无法再用于对相应测试模块进行回归测试,即是说,流量段已失效,因此,需要删除失效的流量段。
97.请结合参看图9,其为本技术第一实施例提供的流量回放方法的第四子流程图。执行步骤s708之后,第一实施例提供的流量回放方法还包括如下步骤。
98.步骤s902,录制软件的测试版本的测试流量数据。其中,测试流量数据包括若干测试流量段和与测试流量段对应的测试依赖点。相应地,每一测试流量段对应有至少一个测试依赖点。
99.可以理解的是,对软件的测试版本中所有测试模块的日常流量进行录制。录制得到的测试流量段与流量段之间具有相同的部分,也具有不同的部分。
100.步骤s904,根据依赖点和测试依赖点获取测试流量段。根据功能已经发生改变的测试代码段的方法名所匹配的依赖点与每一测试依赖点进行比对,获取相匹配的测试依赖点所对应的测试流量段。
101.步骤s906,将测试流量段存储至流量数据库。
102.上述实施例中,将失效的流量段删除之后,需要补充新的流量段。因此,录制新的与已更新的测试代码段对应的测试流量段,并将测试流量段存储至流量数据库中,以更新流量数据库,保持流量数据库中的流量数据是最新的。
103.请结合参看图10,其为本技术第二实施例提供的流量回放方法的子流程图。第二实施例提供的流量回放方法与第一实施例提供的流量回放方法的不同之处在于,执行步骤s504之后,第二实施例提供的流量回放方法还包括如下步骤。
104.步骤s1002,生成回放响应结果。根据回放过程生成相应的回放响应结果。可以理
解的是,回放响应结果包括若干个。一个测试代码段对应至少一个回放响应结果。
105.步骤s1004,判断回放响应结果是否出现异常。在本实施例中,可以根据预先设定的规则对回放响应结果进行判断。其中,用于判断的规则可以根据实际情况进行设置,在此不作限定。
106.当回放响应结果出现异常时,执行步骤s1006。
107.步骤s1006,根据流量响应结果和回放响应结果判断测试代码段是否对软件的测试版本产生影响。
108.在本实施例中,根据当前代码段对应的流量响应结果与测试代码段对应的回放响应结果进行判断。其中,可以根据流量响应结果与回放响应结果是否一致进行判断,也可以根据预先设定的规则进行判断,在此不作限定。
109.当测试代码段对软件的测试版本产生影响时,执行步骤s1008。
110.步骤s1008,发送警告信息。可以理解的是,由于测试代码段对软件的测试版本产生影响,因此,需要通知开发人员对测试代码段进行修正。
111.上述实施例中,当回放响应结果出现异常,根据回放响应结果和流量响应结果可以判断已更新的测试代码段是否对软件的测试版本产生了影响。若已更新的测试代码段影响了软件测试版本的现有功能,则表示已更新的测试代码段可能存在缺陷,因此,需要通知开发人员对存在缺陷的测试代码段进行修改。
112.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘且本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
113.以上所列举的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属于本技术所涵盖的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献