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

一种数据获取方法和装置

文献发布时间:2023-06-19 11:11:32


一种数据获取方法和装置

技术领域

本发明涉及数据处理技术领域,具体涉及一种数据获取方法和装置。

背景技术

在现有的软件测试中,测试数据准备是一个比较耗时的过程,往往需要专业的数据库人员或业务人员手工准备,然后再交由测试执行人员进行手工测试或自动化测试。特别在金融行业中,面对庞大的用户群体,需要进行大量的测试,由于实时性、多样性的要求,需要大量的测试数据以满足测试需要。而目前,一般需要相关人员采用人工方式按照相关业务流程准备测试数据,不仅数据制造效率低下,而且门槛较高,测试数据固定无法支持多样化测试。

发明内容

本申请的目的旨在至少能解决上述的技术缺陷之一。本申请所采用的技术方案如下:

第一方面,本申请实施例公开了一种数据获取方法,所述方法包括:

获取测试人员输入的测试案例并识别业务要素;

根据所述业务要素从预先构建的业务数据模型中获取与所述业务要素具有映射关系的业务数据;其中所述业务数据模型存储有业务要素,和,与所述业务要素具有映射关系的业务数据。

进一步地,所述构建业务数据模型包括:

获取有效的业务数据;

通过业务数据层次划分标准,以树模型为基础构建所述有效业务数据模型;其中所述业务数据模型至少以降阶次序包括母类、子类、细类、衍生业务数据。

进一步地,所述获取有效的业务数据包括:

获取系统数据库表的数据源;

清洗所述数据源中的脏数据,并过滤与业务要素不相关的数据后获取所述有效的业务数据。

进一步地,所述与业务要素具有映射关系的业务数据可以为:固定值、函数关系或在数据库表中获取与所述业务要素具有映射关系的业务数据的SQL规则。

进一步地,所述获取与所述业务要素具有映射关系的业务数据包括:

根据所述业务要素在所述预先构建的业务数据模型中获取业务字段;其中所述业务字段为与所述业务要素具有映射关系的业务数据的唯一标识;

根据所述唯一标识确定所述与所述业务要素具有映射关系的业务数据。

进一步地,所述方法还包括:

构建目标测试案例业务数据唯一标识号;其中,所述目标测试案例至少包括两个以上业务要素;所述根据两个业务要素获取的业务数据的标识号均为所述唯一标识号;

将获取的第一业务要素的第一业务数据缓存于业务场景数据池中;

根据所述第一业务数据和第二业务要素在所述预构建的业务数据模型中获取第二业务数据。

第二方面,本申请实施例提供了一种数据获取装置,所述装置包括:获取模块、存储模块和构建模块;其中,

所述获取模块,用于获取测试人员输入的测试案例并识别业务要素;

所述构建模块,用于构建业务数据模型;所述业务数据模型存储有业务要素,和,与所述业务要素具有映射关系的业务数据。

所述存储模块,用于存储预先构建的业务数据模型;

所述获取模块,还用于根据所述业务要素从预先构建的业务数据模型中获取与所述业务要素具有映射关系的业务数据。

进一步地,所述获取模块还用于获取有效的业务数据;所述构建模块具体用于通过业务数据层次划分标准,以树模型为基础构建所述业务数据模型;其中所述业务数据模型至少以降阶次序包括母类、子类、细类、衍生业务数据。

第三方面,本申请实施例提供了一种电子设备,包括处理器和存储器;

所述存储器,用于存储操作指令;

所述处理器,用于通过调用所述操作指令,执行上述任一实施例中所述的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的方法。

本申请实施例提供数据获取方案通过建立业务数据模型,同时建立业务场景数据池用来进行同一测试案例下的关联业务数据的数据联动动态获取,最终达到测试人员只需关注的业务要素,而不需要关注业务要素与底层技术逻辑的实现。本申请的有益效果至少包括以下之一:

(1)基于本申请所提供的数据获取方案用户只需关测试案例的业务要素即通过测试案例业务要素配置即可获取所需的测试数据;

(2)基于本申请所提供的数据获取方案数据获取过程简单便捷、实现了数据获取及获取的真正复用且维护成本较低;

(3)基于本申请所提供的数据获取方案生成的数据准确多样,能够大幅提高测试效率和测试质量,尤其解决了测试数据动态获取难度大,效率低,测试数据不够多样性且准确度低的难点痛点。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

图1为本申请实施例提供的一种数据获取方法的流程示意图;

图2为本申请实施例提供的一种业务数据模型关系表;

图3为本申请实施例提供的一种数据获取装置的示意图;

图4为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式,其中的“第一”“第二”等只是为了介绍清楚方案而进行的对象区分定义,并不对对象本身进行限制,当然“第一”和“第二”限定的对象可能是同一个终端、设备和用户等,也可能是同一种终端、设备和用户。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

此外应理解,本申请实施例中“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A 和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一(项)个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b或c中的至少一项(个),可以表示:a,b,c,a和b,a和 c,b和c,或a、b和c,其中a、b、c可以是单个,也可以是多个。

如背景技术中所陈述的目前包括金融测试等很多测试领域的测试数据是需要测试人员利用数据库或其他辅助生成操作来获取测试数据,此方法步骤繁琐,人力成本较大。此外,还有一些技术方案是先确定各测试系统对应的造数模型,然后基于各造数模型中关键的造数数据字段以及造数规则,生成各测试系统对应的测试数据,此方法生成的测试数据都是固定的,无法根据场景变换生成多样的测试数据。另外,还有一些方案是通过解析并执行SQL指令信息,获取数据库操作函数库中对应的驱动函数,从目标数据库中获取参数化依据,此方法主要用于自动化测试脚本,同时使用的是纯技术语言,不易理解操作。还有一些方案是通过预先对各个测试字段类型创建生成规则,将数据库中的各原始数据转换为多个测试数据,此方法使用纯技术语言,测试人员需要对生成规则有较深入理解才能够准确写成相应语句,不利于推广使用。综上,基于上述测试数据获取方案存在的各种局限性,本申请下述实施例公开了一种数据获取方法和装置以解决上述至少一种技术问题。

图1示出了本申请实施例提供的一种数据获取的流程示意图,如图1 所示,该方法主要可以包括:

S101、获取测试人员输入的测试案例并识别业务要素;

S102、根据所述业务要素从预先构建的业务数据模型中获取与所述业务要素具有映射关系的业务数据;其中所述业务数据模型存储有业务要素,和,与所述业务要素具有映射关系的业务数据。

在进一步的可选实施例中,所述构建业务数据模型包括:

步骤1、获取有效的业务数据;

步骤2、通过业务数据层次划分标准,以树模型为基础构建所述有效业务数据模型;其中所述业务数据模型至少以降阶次序包括母类、子类、细类、衍生业务数据。

在优选实施例中,所述构建业务数据模型包括:

步骤1、获取系统数据库表的数据源;

步骤2、清洗所述数据源中的脏数据,并过滤与业务要素不相关的数据后获取所述有效的业务数据。

步骤3、通过业务数据层次划分标准,以树模型为基础构建所述有效业务数据模型;其中所述业务数据模型至少以降阶次序包括母类、子类、细类、衍生业务数据。

在进一步的可选实施例中,业务要素取值对应业务数据的枚举值,包括固定值,函数关系值或SQL规则值,即所述与业务要素具有映射关系的业务数据可以为:

(1)固定值;

(2)函数关系;

(3)在数据库表中获取与所述业务要素具有映射关系的业务数据的 SQL规则。

在进一步的可选实施例中,所述获取与所述业务要素具有映射关系的业务数据包括:

步骤1、根据所述业务要素在所述预先构建的业务数据模型中获取业务字段;其中所述业务字段为与所述业务要素具有映射关系的业务数据的唯一标识;

步骤2、根据所述唯一标识确定所述与所述业务要素具有映射关系的业务数据。

在本申请实施例中,每个业务交易所包含的业务要素(也即测试案例中包含业务要素)均可对应到与其具有映射关系的业务数据,业务数据则可通过库表及库表字段对应,如客户类-对私客户类-账号状态正常的对私客户类,其包含的业务数据有客户号cust_info-cust_no、客户名cust_info- cust_name、客户证件类型cust_info-cust_IDtype等,对于业务交易 APICODE,其业务要素有客户号、客户名、客户证件号、账号等,其中客户号、客户名、客户证件号则对应上述业务数据中的各个具体的业务字段的业务数据。因此通过建立业务要素和业务数据的映射关系即可建立业务语言向技术语言转换的桥梁。

在上述实施例的基础上,在具体的实施例中测试人员提供测试案例或通过界面勾选/填写业务场景的业务取值等的方式构建业务要素,系统可自动根据已建立的业务数据模型进行通用SQL规则的填充或固定值、函数关系值多方式的补充将业务语言转换为技术语言。具体的实现方法如下:

每个业务交易都有很多种交易场景,但这些交易场景中所使用的业务要素即业务语言是一样的,只是取值会有所不同,结合已建立的业务数据模型(在具体实施例中该模型以业务要素-业务数据表的形式存储),只需要以业务要素的枚举值进行通用取值方式的SQL填充或固定值、函数关系值多方式的补充即可完成技术语言的业务场景适配。如图2示例所示,通过改变通用SQL规则的枚举值即可满足不同场景的数据条件,实现业务语言向技术语言的转换。

在进一步的可选实施例中,当所述与业务要素具有映射关系的业务数据可以为在数据库表中获取与所述业务要素具有映射关系的业务数据的 SQL规则时,所述根据业务要素获取具有映射关系的业务数据的实现方式还包括:

步骤1、构建目标测试案例业务数据唯一标识号;其中,所述目标测试案例至少包括两个以上业务要素;所述根据两个业务要素获取的业务数据的标识号均为所述唯一标识号;

步骤2、将获取的第一业务要素的第一业务数据缓存于业务场景数据池中;

步骤3、根据所述第一业务数据和第二业务要素在所述预构建的业务数据模型中获取第二业务数据。

在本申请实施例中通过建立业务场景类数据池(也即业务测试案例的测试场景数据池),并以唯一标识号进行业务场景关联要素的实时动态交互,以获取满足场景的一组数据,如业务场景案例包含业务要素A、B、 C、D…,其中A、B的取值为联表SQL获取,同时B的SQL关系部分由 A的值决定,则该发明将会优先根据A的SQL获取A的值,存入业务场景类数据池,并生成唯一场景标识号,接着将A的值传入B的SQL规则获取B的值,再写入业务场景类该标识下的场景中,依此类推完成一组场景业务数据的获取。基于本申请实施例,解决了测试数据动态获取难度大,效率低,测试数据不够多样性且准确度低的难点痛点。

基于本申请上述实施例提供的数据获取方案,在具体应用操作中用户只需按照业务场景在界面中选择配置相关数据类,即可获得相应测试数据,无需关注数据类或业务场景的取值逻辑,提升用户体验,降低使用门槛,极大的提高测试效率;此外,上述实施例提供的数据获取方案也能够满足用户7*24小时实时动态获取测试数据的需求,同时所获取的测试数据是动态多样的,丰富测试场景同时避免人为测试可能存在的不充分性。同时,利用本申请上述实施例所公开的数据获取方案在业务系统发生较大功能或架构变更时,也只需针对性的维护受影响的数据类和业务库表的数据关系模型,即可实时完成测试数据的更新,用户在业务层级上是不感知也无需感知的,极大提高了测试数据获取方案的易用性和健壮性。

基于图1所示的数据获取方法,另一方面本申请实施例提供了一种数据获取装置,所述装置如图3所示,所述装置可以包括:301获取模块、 302存储模块和303构建模块;其中,

所述301获取模块,用于获取测试人员输入的测试案例并识别业务要素;

所述303构建模块,用于构建业务数据模型;所述业务数据模型存储有业务要素,和,与所述业务要素具有映射关系的业务数据。

所述302存储模块,用于存储预先构建的业务数据模型;

所述301获取模块,还用于根据所述业务要素从预先构建的业务数据模型中获取与所述业务要素具有映射关系的业务数据。

在进一步的实施例中,根据所述301获取模块获取的有效的业务数据,所述303构建模块具体用于通过业务数据层次划分标准,以树模型为基础构建所述业务数据模型;其中所述业务数据模型至少以降阶次序包括母类、子类、细类、衍生业务数据。

可以理解的是,本实施例中的数据获取装置的上述各组成设备具有实现图1中所示的实施例中的方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块或系统。上述模块和系统可以是软件和/或硬件,上述各模块和系统可以单独实现,也可以多个模块和系统集成实现。对于上述各模块和系统的功能描述具体可以参见图1中所示实施例中的方法的对应描述,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。

可以理解的是,本发明实施例示意的结构并不构成对数据获取装置的具体结构的具体限定。在本申请另一些实施例中,数据获取装置可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

本申请实施例提供了一种电子设备,包括处理器和存储器;

存储器,用于存储操作指令;

处理器,用于通过调用操作指令,执行本申请任一实施方式中所提供的数据获取方法。

作为一个示例,图4示出了本申请实施例所适用的一种电子设备的结构示意图,如图4所示,该电子设备400包括:处理器401和存储器403。其中,处理器401和存储器403相连,如通过总线402相连。可选的,电子设备400还可以包括收发器404。需要说明的是,实际应用中收发器404 不限于一个。可以理解的是,本发明实施例示意的结构并不构成对电子设备400的具体结构的具体限定。在本申请另一些实施例中,电子设备400 可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实。可选地,电子设备还可以包括显示屏405,用于显示图像,或需要时接收用户的操作指令。

其中,处理器401应用于本申请实施例中,用于实现上述方法实施例所示的方法。收发器404可以包括接收机和发射机,收发器404应用于本申请实施例中,用于执行时实现本申请实施例的电子设备与其他设备通信的功能。

处理器401可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC (Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器401也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。

处理器401也可以包括一个或多个处理单元,例其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是电子设备400的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器 401中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器401中的存储器为高速缓冲存储器。该存储器可以保存处理器401刚用过或循环使用的指令或数据。如果处理器401需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器401的等待时间,因而提高了系统的效率。

处理器401可以运行本申请实施例提供的数据获取方法,以便于降低用户的操作复杂度、提高终端设备的智能化程度,提升用户的体验。处理器401可以包括不同的器件,比如集成CPU和GPU时,CPU和GPU可以配合执行本申请实施例提供的数据获取方法,比如数据获取方法中部分算法由CPU执行,另一部分算法由GPU执行,以得到较快的处理效率。

总线402可包括一通路,在上述组件之间传送信息。总线402可以是 PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA (ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线402可以分为地址总线、数据总线、控制总线等。为便于表示,图4 中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器403可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

可选的,存储器403用于存储执行本申请方案的应用程序代码,并由处理器401来控制执行。处理器401用于执行存储器403中存储的应用程序代码,以实现本申请任一实施方式中所提供的数据获取方法。

存储器403可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器401通过运行存储在存储器403的指令,从而执行电子设备400的各种功能应用以及数据处理。存储器403可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,应用程序的代码等。存储数据区可存储电子设备400使用过程中所创建的数据(比如相机应用采集的图像、视频等)等。

存储器403还可以存储本申请实施例提供的数据获取方法对应的一个或多个计算机程序。该一个或多个计算机程序被存储在上述存储器403 中并被配置为被该一个或多个处理器401执行,该一个或多个计算机程序包括指令,上述指令可以用于执行上述相应实施例中的各个步骤。

当然,本申请实施例提供的数据获取方法的代码还可以存储在外部存储器中。这种情况下,处理器401可以通过外部存储器接口运行存储在外部存储器中的数据获取方法的代码,处理器401可以控制运行数据获取流程。

显示屏405包括显示面板。在一些实施例中,电子设备400可以包括 1个或N个显示屏405,N为大于1的正整数。显示屏405可用于显示由用户输入的信息或提供给用户的信息以及各种图形用户界面(graphical user interface,GUI)。例如,显示屏405可以显示照片、视频、网页、或者文件等。

本申请实施例提供的电子设备,适用于上述方法任一实施例,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。

本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法实施例所示的数据获取方法。

本申请实施例提供的计算机可读存储介质,适用于上述方法任一实施例,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。

本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的方法。本申请实施例提供的计算机程序产品,适用于上述方法任一实施例,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。

本申请实施例提供数据获取方案通过建立业务数据模型,同时建立业务场景数据池用来进行同一测试案例下的关联业务数据的数据联动动态获取,最终达到测试人员只需关注的业务要素,而不需要关注业务要素与底层技术逻辑的实现。本申请实施例基于本申请所提供的数据获取方案用户只需关测试案例的业务要素即通过测试案例业务要素配置即可获取所需的测试数据;基于本申请所提供的数据获取方案数据获取过程简单便捷、实现了数据获取及获取的真正复用且维护成本较低;基于本申请所提供的数据获取方案生成的数据准确多样,能够大幅提高测试效率和测试质量,尤其解决了测试数据动态获取难度大,效率低,测试数据不够多样性且准确度低的难点痛点。

以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,还可以做出若干改进和润饰,这些变化、替换、改进和润饰也应视为都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

相关技术
  • 三维表面粗糙度评价装置、三维表面粗糙度评价方法、三维表面粗糙度数据获取装置和三维表面粗糙度数据获取方法
  • 一种数据获取方法、数据获取装置、服务器及存储介质
技术分类

06120112837283