掌桥专利:专业的专利平台
掌桥专利
首页

Mock数据更新方法、装置、存储介质及计算机设备

文献发布时间:2024-04-18 19:59:31


Mock数据更新方法、装置、存储介质及计算机设备

技术领域

本申请涉及应用测试技术领域,尤其涉及一种Mock数据更新方法、装置、存储介质及计算机设备。

背景技术

在应用程序正式上线或者对问题进行溯源分析时,可以通过多条Mock数据对应用程序进行测试,并获取应用程序对于各条Mock数据的表现,进而实现程序测试。为了在测试中模拟实际场景,以得到应用程序在实际应用中的表现,Mock数据应当符合一定的接口规范要求。

考虑到应用程序需要在不同的时间点进行多次测试,为避免由Mock数据维持不变导致的测试结果不准确,在实际过程中,需要对Mock数据进行更新,使得Mock数据能够有所变化。由于Mock数据数量众多,因此亟需提供一种能够高效更新Mock数据的方案。

发明内容

本申请的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中更新效率低的技术缺陷。

第一方面,本申请实施例提供了一种Mock数据更新方法,所述方法包括:

获取各个预设的更新触发条件;

根据各个所述更新触发条件判断是否需要更新Mock数据集,所述Mock数据集包括多个原始Mock数据;

若需要更新所述Mock数据集,则根据各个所述原始Mock数据确定数据组成规则,并从线上抓取满足所述数据组成规则的数据作为各个目标Mock数据,且采用各个所述目标Mock数据替换各个所述原始Mock数据。

在其中一个实施例中,所述根据各个所述原始Mock数据确定数据组成规则的步骤,包括:

确定各个所述原始Mock数据对应的目标API接口标识,并根据至少一个目标API接口标识确定所述数据组成规则;所述数据组成规则为判断数据对应的API接口标识是否为所述至少一个目标API接口标识。

在其中一个实施例中,所述采用各个所述目标Mock数据替换各个所述原始Mock数据的步骤,包括:

针对每个所述目标Mock数据,在各个所述原始Mock数据中,确定与该目标Mock数据对应的API接口标识相同的待替换Mock数据,并将所述待替换Mock数据替换为该目标Mock数据。

在其中一个实施例中,所述根据各个所述更新触发条件判断是否需要更新Mock数据集的步骤,包括:

当各个所述更新触发条件的总条件数量大于或等于2时,确定各个所述更新触发条件的优先级;

若不满足优先级最高的更新触发条件,则确定不需要更新所述Mock数据集。

在其中一个实施例中,所述根据各个所述更新触发条件判断是否需要更新Mock数据集的步骤,还包括:

若满足所述优先级最高的更新触发条件,则确定需要更新所述Mock数据集;或者,

若满足所述优先级最高的更新触发条件,则在满足其余更新触发条件的情况下确定需要更新所述Mock数据集。

在其中一个实施例中,所述更新触发条件包括以下任一项或任意组合:

更新时间条件,用于判断当前时间是否晚于预设的起始更新时刻且早于预设的结束更新时刻;

更新时长条件,用于判断当前已更新时长是否小于预设的时长阈值;

待更新接口条件,用于判断是否存在至少一个所述原始Mock数据对应着第一预设API接口标识;

起止接口条件,用于在从线上抓取到第二预设API接口标识对应的数据时启动更新,并在从线上抓取到第三预设API接口标识对应的数据时停止更新。

在其中一个实施例中,所述方法还包括:

在接收Mock数据集获取请求的情况下,返回当前的所述Mock数据集。

第二方面,本申请实施例提供了一种Mock数据更新装置,所述装置包括:

条件获取模块,用于获取各个预设的更新触发条件;

判断模块,用于根据各个所述更新触发条件判断是否需要更新Mock数据集,所述Mock数据集包括多个原始Mock数据;

数据替换模块,用于在需要更新所述Mock数据集的情况下,根据各个所述原始Mock数据确定数据组成规则,并从线上抓取满足所述数据组成规则的数据作为各个目标Mock数据,且采用各个所述目标Mock数据替换各个所述原始Mock数据。

第三方面,本申请实施例提供了一种存储介质,该存储介质中存储有计算机可读指令,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例所述Mock数据更新方法的步骤。

第四方面,本申请实施例提供了一种计算机设备,该计算机设备包括:一个或多个处理器,以及存储器;

所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行上述任一实施例所述Mock数据更新方法的步骤。

在本申请的Mock数据更新方法、装置、存储介质及计算机设备中,计算机设备可以获取各个预设的更新触发条件,并根据各个更新触发条件判断Mock数据集是否需要更新。若需要更新,则计算机设备可以根据确定的数据组成规则,从线上抓取满足该数据组成规则的数据作为目标Mock数据,并采用目标Mock数据对Mock数据集中的原始Mock数据进行替换。如此,可自动地批量更新Mock数据,进而可提高数据维护效率,并提高数据更新效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为一个实施例中Mock数据更新方法的流程示意图;

图2为一个实施例中Mock数据更新装置的结构示意图;

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

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在一个实施例中,本申请实施例提供的Mock数据更新方法可以应用于计算机设备中。本文所述的计算机设备是指具体数据处理功能的设备,可以但不限于是各种服务器、个人计算机和笔记本电脑。

在一个实施例中,如图1所示,本申请提供了一种Mock数据更新方法,该方法具体可包括如下步骤:

S102:获取各个预设的更新触发条件;

S104:根据各个所述更新触发条件判断是否需要更新Mock数据集,所述Mock数据集包括多个原始Mock数据;

S106:若需要更新所述Mock数据集,则根据各个所述原始Mock数据确定数据组成规则,并从线上抓取满足所述数据组成规则的数据作为各个目标Mock数据,且采用各个所述目标Mock数据替换各个所述原始Mock数据。

其中,各个更新触发条件的条件内容可以是由技术人员预先设置的,各个更新触发条件的数量可以是一个或者多个,本文对此不作具体限定。

具体而言,计算机设备可以根据预先设置的各个更新触发条件,判断是否需要对Mock数据集进行数据更新,也即是否需要将Mock数据集中的原始Mock数据更换为新的Mock数据。若需要更新,则计算机设备可以根据Mock数据集中各个原始Mock数据,确定数据组成规则。该数据组成规则用于指示用于替换原始Mock数据的目标Mock数据的数据组成要求。计算机设备可以实时抓取线上数据,即抓取线上当前流转的数据,并将满足前述数据组成要求的数据作为目标Mock数据。进一步地,若抓取的线上数据不满足数据组成要求,则可将其丢弃。

在得到目标Mock数据后,计算机设备可以将Mock数据集中的原始Mock数据替换为目标Mock数据,以实现Mock数据的批量更新。在其中一个实施例中,本申请的Mock数据更新方法还包括:在接收Mock数据集获取请求的情况下,返回当前的所述Mock数据集。也即,当前端设备请求获取Mock数据集时,计算机设备可以将更新后的Mock数据集返回给前端设备。

本申请中,计算机设备可以获取各个预设的更新触发条件,并根据各个更新触发条件判断Mock数据集是否需要更新。若需要更新,则计算机设备可以根据确定的数据组成规则,从线上抓取满足该数据组成规则的数据作为目标Mock数据,并采用目标Mock数据对Mock数据集中的原始Mock数据进行替换。如此,可自动地批量更新Mock数据,进而可提高数据维护效率,并提高数据更新效率。

在一个实施例中,所述根据各个所述原始Mock数据确定数据组成规则的步骤,包括:确定各个所述原始Mock数据对应的目标API接口标识,并根据至少一个目标API接口标识确定所述数据组成规则;所述数据组成规则为判断数据对应的API接口标识是否为所述至少一个目标API接口标识。

具体而言,考虑到不同API接口标识所对应的测试对象、测试数据结构、响应数据结构和/或测试逻辑会有些区别,因此,在更新Mock数据的过程中,需要结合原始Mock数据对应的API接口标识来进行,以提高目标Mock数据的抓取效率。

具体地,计算机设备可以确定Mock数据集中,各个原始Mock数据所对应的API接口标识,并将各个原始Mock数据对应的API接口标识作为目标API接口标识。计算机设备可以根据各个目标API接口标识确定数据组成规则,以通过该数据组成规则判断线上抓取的数据所对应的API接口标识是否与其中一个目标API接口标识相同,进而确定线上抓取的数据是否为目标Mock数据。

需要说明的是,计算机设备可以选取一个或多个目标API接口生成数据组成规则,在此情况下,该数据组成规则可用于判断从线上抓取的数据是否为其中一个被选取的目标API接口相同。若是,则可确定该数据满足数据组成规则,否则,确定该数据不满足数据组成规则。

在一个实施例中,所述采用各个所述目标Mock数据替换各个所述原始Mock数据的步骤,包括:针对每个所述目标Mock数据,在各个所述原始Mock数据中,确定与该目标Mock数据对应的API接口标识相同的待替换Mock数据,并将所述待替换Mock数据替换为该目标Mock数据。

具体而言,考虑到不同API接口标识所对应的测试对象、测试数据结构、响应数据结构和/或测试逻辑会有些区别,因此在进行数据替换时,替换前的原始Mock数据和替换后的目标Mock数据应对应着相同的API接口标识,以避免因测试数据错误替换而影响后续测试结果的准确性。

每当从线上抓取到符合数据组成规则的目标Mock数据,计算机设备可以在Mock数据集中确定与目标Mock数据对应着同一API接口标识的原始Mock数据,并将该原始Mock数据作为待替换Mock数据。进一步地,若Mock数据集存在多个与目标Mock数据对应着同一API接口标识的原始Mock数据,则可根据各个原始Mock数据对应的时间信息,在各个原始Mock数据中选取出一个作为待替换Mock数据。例如,可以将最早加入Mock数据集或者时间信息最早的原始Mock数据作为待替换Mock数据。

在确定待替换Mock数据后,计算机设备可以采用目标Mock数据替换该待替换Mock数据,以使替换后的Mock数据集中包括目标Mock数据,而不包括待替换Mock数据。

在一个实施例中,所述根据各个所述更新触发条件判断是否需要更新Mock数据集的步骤,包括:

当各个所述更新触发条件的总条件数量大于或等于2时,确定各个所述更新触发条件的优先级;

若不满足优先级最高的更新触发条件,则确定不需要更新所述Mock数据集。

具体而言,当计算机设备获取到多个更新触发条件时,由于每个更新触发条件的条件内容互不相同,因此,计算机设备可确定各个更新触发条件的优先级,以便于后续基于优先级判断是否需要对Mock数据集进行更新。若不满足优先级最高的更新触发条件,则可确定不需要更新Mock数据集。如此,可准确判断当前是否需要更新Mock数据。

例如,计算机设备可获取到第一更新触发条件和第二更新触发条件,且第一更新触发条件的优先级高于第二更新触发条件的优先级。那么,在不满足第一更新触发条件的情况下,即使满足第二更新触发条件,计算机设备也可确定不需要更新Mock数据。

在一个实施例中,所述根据各个所述更新触发条件判断是否需要更新Mock数据集的步骤,还包括:

若满足所述优先级最高的更新触发条件,则确定需要更新所述Mock数据集;或者,

若满足所述优先级最高的更新触发条件,则在满足其余更新触发条件的情况下确定需要更新所述Mock数据集。

具体而言,在满足优先级最高的更新触发条件时,计算机设备可以直接确定需要进行数据更新,并按照本文其他实施例所述的过程更新Mock数据集。或者,计算机设备可以进一步判断除优先级最高的更新触发条件外,是否满足其余更新触发条件,若满足其余更新触发条件则确定更新Mock数据集。

在一个实施例中,各个更新触发条件可以包括以下任一项或任意组合:更新时间条件、更新时长条件、待更新接口条件和起止接口条件。

其中,更新时间条件是根据当前时间进行判断的更新条件,具体而言,更新时间条件可包括预设的起始更新时间和结束更新时间。若当前时间晚于起始更新时间且早于结束更新时间,则可确定满足更新时间条件。若当前时间早于起始更新时间或者晚于结束更新时间,则可确定不满足更新时间条件。

更新时长条件是根据已进行的连续更新时长进行判断的更新条件。具体而言,更新时长条件可预先配置有时长阈值,若当前已更新时长小于该时长阈值,则可确定满足更新时长条件。若当前已更新时长大于或等于该时长阈值,则可确定不满足更新时长条件。

待更新接口条件为用于根据第一预设API(Application ProgrammingInterface,应用程序编程接口)接口标识判断需要更新的Mock数据的条件。具体而言,每条Mock数据均包括该Mock数据对应的API接口标识,该API接口标识用于指示Mock数据的来源服务器或到达服务器。计算机设备可以判断在Mock数据集中,是否存在至少一条原始Mock数据对应着第一预设API接口标识。若是,则可确定满足待更新接口条件,在更新Mock数据的过程中,计算机设备可以采用目标Mock数据替换第一预设API接口标识所对应的原始Mock数据。若Mock数据集中各条原始Mock数据对应的API接口标识均非第一预设API接口标识,则可确定不满足待更新接口条件。

起止接口条件为用于根据从线上抓取到的实时数据所对应的API接口标识进行判断的更新条件。具体而言,若计算机设备从线上抓取到第二预设API接口标识对应的数据,则可确定满足起止接口条件。若计算机设备从线上抓取到第三预设API接口标识对应的数据,则可确定不满足起止接口条件。进一步地,当本次更新只配置有起始接口条件时,计算机设备可以在从线上抓取到第二预设API接口标识对应的数据时启动更新,并在从线上抓取到第三预设API接口标识对应的数据时停止更新。

下面对本申请实施例提供的Mock数据更新装置进行描述,下文描述的Mock数据更新装置与上文描述的Mock数据更新方法可相互对应参照。

在一个实施例中,本申请提供了一种Mock数据更新装置200。如图2所示,该装置200包括条件获取模块210、判断模块220和数据替换模块230。其中:

条件获取模块210,用于获取各个预设的更新触发条件;

判断模块220,用于根据各个所述更新触发条件判断是否需要更新Mock数据集,所述Mock数据集包括多个原始Mock数据;

数据替换模块230,用于在需要更新所述Mock数据集的情况下,根据各个所述原始Mock数据确定数据组成规则,并从线上抓取满足所述数据组成规则的数据作为各个目标Mock数据,且采用各个所述目标Mock数据替换各个所述原始Mock数据。

在一个实施例中,本申请的数据替换模块230包括规则确定单元。该规则确定单元用于确定各个所述原始Mock数据对应的目标API接口标识,并根据至少一个目标API接口标识确定所述数据组成规则;所述数据组成规则为判断数据对应的API接口标识是否为所述至少一个目标API接口标识。

在一个实施例中,本申请的数据替换模块230还包括替换单元。该替换单元用于针对每个所述目标Mock数据,在各个所述原始Mock数据中,确定与该目标Mock数据对应的API接口标识相同的待替换Mock数据,并将所述待替换Mock数据替换为该目标Mock数据。

在一个实施例中,本申请的判断模块220包括优先级确定单元和第一判断单元。该优先级确定单元用于当各个所述更新触发条件的总条件数量大于或等于2时,确定各个所述更新触发条件的优先级。第一判断单元用于若不满足优先级最高的更新触发条件,则确定不需要更新所述Mock数据集。

在一个实施例中,本申请的判断模块220还包括第二判断单元或第三判断单元。其中,第二判断单元用于若满足所述优先级最高的更新触发条件,则确定需要更新所述Mock数据集。第三判断单元用于若满足所述优先级最高的更新触发条件,则在满足其余更新触发条件的情况下确定需要更新所述Mock数据集。

在一个实施例中,所述更新触发条件包括以下任一项或任意组合:

更新时间条件,用于判断当前时间是否晚于预设的起始更新时刻且早于预设的结束更新时刻;

更新时长条件,用于判断当前已更新时长是否小于预设的时长阈值;

待更新接口条件,用于判断是否存在至少一个所述原始Mock数据对应着第一预设API接口标识;

起止接口条件,用于在从线上抓取到第二预设API接口标识对应的数据时启动更新,并在从线上抓取到第三预设API接口标识对应的数据时停止更新。

在一个实施例中,本申请还提供了一种存储介质,该存储介质中存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如任意实施例中Mock数据更新方法的步骤。

在一个实施例中,本申请还提供了一种计算机设备,所述计算机设备中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如任意实施例中Mock数据更新方法的步骤。

示意性地,图3为本申请实施例提供的一种计算机设备的内部结构示意图,在一个示例中,该计算机设备可以为服务器。参照图3,计算机设备900包括处理组件902,其进一步包括一个或多个处理器,以及由存储器901所代表的存储器资源,用于存储可由处理组件902的执行的指令,例如应用程序。存储器901中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件902被配置为执行指令,以执行上述任意实施例所述方法的步骤。

计算机设备900还可以包括一个电源组件903被配置为执行计算机设备900的电源管理,一个有线或无线网络接口904被配置为将计算机设备900连接到网络,和一个输入输出(I/O)接口905。计算机设备900可以操作基于存储在存储器901的操作系统,例如WindowsServer TM、Mac OS XTM、Unix TM、Linux TM、Free BSDTM或类似。

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

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本文中,“一”、“一个”、“所述”、“该”和“其”也可以包括复数形式,除非上下文清楚指出另外的方式。多个是指至少两个的情况,如2个、3个、5个或8个等。“和/或”包括相关所列项目的任何及所有组合。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术分类

06120116516832