一种基于建表语句的测试数据自动生成方法、装置及设备与流程

文档序号:16468091发布日期:2019-01-02 22:54阅读:181来源:国知局
一种基于建表语句的测试数据自动生成方法、装置及设备与流程

本发明涉及软件测试领域,特别涉及一种基于建表语句的测试数据自动生成方法、装置及设备。



背景技术:

随着科技的发展和应用需求的日益增强,软件的种类和数量越来越多,能够应用到多种不同的场景中,而在软件的开发过程中,软件测试占据重要的地位,测试数据的准备和维护也由此成为一个至关重要的过程,如何快速构造有效的测试数据是提升测试效率的重要环节。

现有技术中,对于测试数据生成,常规的方式有:一是直接使用sql语句生成测试数据,这种方式需要测试人员非常了解数据结构,当数据结构发生变化时需要重新生成数据;二是调用业务接口生成测试数据,如果业务场景复杂、业务逻辑长、业务接口错综复杂,测试数据的生成会很困难,需要人工介入,效率低下,和手工操作相差不大;三是利用生产流量回放生成测试数据,利用生产流量回放生成数据,需要测试环境和生产环境完全一致,否则数据无法带入,频繁报错。鉴于此,提供一种快速、高效、使用范围广的测试数据生成方法是目前有待解决的问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于建表语句的测试数据自动生成方法、装置、设备,适用性广,能够有效提高测试数据生成的效率,从而提升测试效率。其具体方案如下:

第一方面,本发明公开了一种基于建表语句的测试数据自动生成方法,包括:

获取预设的建表语句;

从所述建表语句中提取字段信息特征;

利用所述字段信息特征,生成相应的测试数据。

可选的,所述预设的建表语句为从数据库中导出的建表语句,或从建表脚本中导出的建表语句。

可选的,所述从所述建表语句中提取字段信息特征,包括:

利用语法分析技术从所述建表语句中提取字段信息特征;

其中,所述字段信息特征包括字段类型、和/或字段长度。

可选的,在所述利用所述字段信息特征,生成相应的测试数据之前,还包括:

设置测试数据生成目标和测试数据生成方式。

可选的,所述测试数据生成目标包括:测试数据个数、和/或测试数据范围。

可选的,所述测试数据生成方式为字典生成或随机生成。

可选的,所述利用所述字段信息特征,生成相应的测试数据,包括:

根据所述测试数据生成目标和所述测试数据生成方式,生成符合所述字段信息特征的测试数据。

可选的,在所述生成相应的测试数据之后,还包括:

将所述测试数据整理并导入至对应的数据库表中,以供测试使用。

第二方面,本发明公开了一种基于建表语句的测试数据自动生成装置,包括:

语句获取模块,用于获取预设的建表语句;

字段提取模块,用于从所述建表语句中提取字段信息特征;

数据生成模块,用于利用所述字段信息特征,生成相应的测试数据。

第三方面,本发明公开了一种基于建表语句的测试数据自动生成设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述任一种所述测试数据自动生成方法的步骤。

可见,本发明在获取到预设的建表语句之后,从所述建表语句中提取出字段信息的特征,利用字段信息特征,生成相应的测试数据,由此可见,本发明通过提取获取到的预设建表语句中的字段,根据字段信息的特征,生成相应的数据以供测试使用,在生成过程中用户不必自己编写数据,且建表语句具有可重用性,可以重复使用,也即,本申请消除了原本现有技术中对专业技术要求比较高的、较繁琐的操作,从而实现了简化用户操作的目的,提高了测试数据生成的效率,从而提升整个测试进程的效率。另外,由于软件系统中普遍带有数据库,利用数据库的建表语句生成测试数据的方式适用范围较广。

附图说明

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

图1为本发明公开的一种基于建表语句的测试数据自动生成方法流程图;

图2为本发明公开的一种基于建表语句的测试数据自动生成装置结构示意图;

图3为本发明公开的一种基于建表语句的测试数据自动生成设备结构示意图。

具体实施方式

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

本发明实施例公开了一种基于建表语句的测试数据自动生成方法,包括:

步骤s101:获取预设的建表语句;

需要说明的是,本实施例中获取预设的建表语句可以是从数据库导入的建表语句,也可以通过导入建表脚本从而获取建表语句。另外,可以基于有线通讯接口导入建表语句;或,基于无线通讯接口获取建表语句。例如,上述通讯接口可以是ble(bluetoothlowenergy,蓝牙低功耗技术)接口或usb通讯接口等,在此不做限定。

步骤s102:从所述建表语句中提取字段信息特征;

本实施例中,从所述建表语句中提取字段信息特征具体过程为:利用语法分析技术提取建表语句中的字段信息特征;其中,语法分析技术是一种开源技术,分为从字符到单词的词法分析技术以及从单词到语句的语法分析技术,需要说明的是,语法分析技术包括但不限于正则表达式、上下文无关文法推导。

具体地,字段信息特征可以为字段类型和/或字段长度。

步骤s103:利用所述字段信息特征,生成相应的测试数据。

需要说明的是,在利用所述字段信息特征生成相应的测试数据之前,还需要相应的设置测试数据生成目标以及测试数据生成方式。所述测试数据生成目标和测试数据生成方式可以预先在系统内设置好,也可以在实施过程中由用户人工设定,还可以有系统预设值,具体实施过程中用户可以根据需求对预设值进行修改,在此不再限定,这均不影响本发明的实现。此后,根据测试数据的生成目标和生成方式,生成符合字段信息特征的测试数据。

另外,所述测试数据生成目标可以为测试数据个数和/或测试数据范围;所述测试数据生成方式可以为字典生成或随机生成。

在一种具体实施方式中,设置测试数据生成方式为字典生成,则利用所述字段信息特征,并根据设置的数据生成目标自动搜集符合所述字段信息特征的数据,从而生成测试数据;其中,自动搜集的数据可以来源于网络、也可来源于相关系统的日志数据,在此不做限定。

在另一种具体实施方式中,设置测试数据生成方式为随机生成,则利用所述字段信息特征,并根据设置的数据生成目标通过数据生成函数自动生成符合所述字段信息特征的数据,从而生成测试数据;其中,所述数据生成函数可以按照所传入的参数要求生成随机数,可以是自主开发的用于随机生成数据的函数。

进一步地,在生成测试数据后,将测试数据导入相应的数据库表中,以供测试使用。

可见,本发明在获取到预设的建表语句之后,从所述建表语句中提取出字段信息的特征,利用字段信息特征,生成相应的测试数据,由此可见,本发明通过提取获取到的预设建表语句中的字段,根据字段信息的特征,生成相应的数据以供测试使用,在生成过程中用户不必自己编写数据,且建表语句具有可重用性,可以重复使用,也即,本申请消除了原本现有技术中对专业技术要求比较高的、较繁琐的操作,从而实现了简化用户操作的目的,提高了测试数据生成的效率,从而提升整个测试进程的效率。另外,由于软件系统中普遍带有数据库,利用数据库的建表语句生成测试数据的方式适用范围较广。

此外,本实施例还提供了一种基于建表语句的测试数据自动生成装置,参见图2所示,装置包括:

语句获取模块100,用于获取预设的建表语句;

字段提取模块200,用于从所述建表语句中提取字段信息特征;

数据生成模块300,用于利用所述字段信息特征,生成相应的测试数据。

本实施例的基于建表语句的测试数据自动生成装置用于实现前述的基于建表语句的测试数据自动生成方法,因此基于建表语句的测试数据自动生成装置中的具体实施方式可见前文中的基于建表语句的测试数据自动生成方法的实施例部分,例如,语句获取模块100,字段提取模块200和数据生成模块300,分别用于实现上述基于建表语句的测试数据自动生成方法中步骤s101,s102和s103,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。

此外,本发明还提供了一种基于建表语句的测试数据自动生成设备,设备包括处理器11和存储器12,其中,所述处理器11执行所述存储器12中保存的计算机程序时实现以下步骤:

获取预设的建表语句;从所述建表语句中提取字段信息特征;利用所述字段信息特征,生成相应的测试数据。

本实施例中,所述处理器11执行所述存储器12中保存的计算机程序时,可以具体实现以下步骤:利用语法分析技术从所述建表语句中提取字段信息特征;其中,所述字段信息特征包括字段类型、和/或字段长度。

本实施例中,所述处理器11执行所述存储器12中保存的计算机程序时,可以具体实现以下步骤:设置测试数据生成目标和测试数据生成方式,其中,所述测试数据生成目标包括:测试数据个数、和/或测试数据范围。

本实施例中,所述处理器11执行所述存储器12中保存的计算机程序时,可以具体实现以下步骤:根据所述测试数据生成目标和所述测试数据生成方式,生成符合所述字段信息特征的测试数据。

本实施例中,所述处理器11执行所述存储器12中保存的计算机程序时,可以具体实现以下步骤:将所述测试数据整理并导入至对应的数据库表中,以供测试使用。

进一步地,参见图3所示,本实施例中的基于建表语句的测试数据自动生成设备,还可以包括:

输入接口13,用于获取外界导入的计算机程序,并将获取到的计算机程序保存至所述存储器12中,还可以用于获取外界终端设备传输的各种指令和参数,并传输至处理器11中,以便处理器11利用上述各种指令和参数展开相应的处理。本实施例中,所述输入接口13具体可以包括但不限于usb接口、串行接口、语音输入接口、指纹输入接口、硬盘读取接口等。

输出接口14,用于将处理器11产生的各种数据输出至与其相连的终端设备,以便于与输出接口14相连的其他终端设备能够获取到处理器11产生的各种数据。本实施例中,所述输出接口14具体可以包括但不限于usb接口、串行接口等。

通讯单元15,用于在行进控制设备10和外部服务器之间建立远程通讯连接,获取外界终端发送的数据,然后发送至处理器11进行处理分析,另外,处理器11还可以将处理后得到的各种结果通过通讯单元15发送至预设的各种数据接收端。

显示单元16,用于对处理器11发送过来的数据进行显示。

此外,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取预设的建表语句;从所述建表语句中提取字段信息特征;利用所述字段信息特征,生成相应的测试数据。

可见,本发明实施例通过提取获取到的预设建表语句中的字段,根据字段信息的特征,生成相应的数据以供测试使用,在生成过程中用户不必自己编写数据,且建表语句具有可重用性,可以重复使用,也即,本申请消除了原本现有技术中对专业技术要求比较高的、较繁琐的操作,从而实现了简化用户操作的目的,提高了测试数据生成的效率,从而提升整个测试进程的效率。另外,由于软件系统中普遍带有数据库,利用数据库的建表语句生成测试数据的方式适用范围较广。

可以理解的是,本实施例中,所述计算机可读存储介质中除了可以保存计算机程序之外,还可以用于保存通过预设的导入接口导入的建表语句。

本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:利用语法分析技术从所述建表语句中提取字段信息特征;其中,所述字段信息特征包括字段类型、和/或字段长度。

本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:设置测试数据生成目标和测试数据生成方式。

本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:根据所述测试数据生成目标和所述测试数据生成方式,生成符合所述字段信息特征的测试数据。

本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:将所述测试数据整理并导入至对应的数据库表中,以供测试使用。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的一种基于建表语句的测试数据自动生成方法、装置、设备及存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1