CN117033242A - 测试数据生成方法、装置、计算机设备和存储介质 - Google Patents

测试数据生成方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN117033242A
CN117033242A CN202311152552.XA CN202311152552A CN117033242A CN 117033242 A CN117033242 A CN 117033242A CN 202311152552 A CN202311152552 A CN 202311152552A CN 117033242 A CN117033242 A CN 117033242A
Authority
CN
China
Prior art keywords
test data
query
target
tested
data table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311152552.XA
Other languages
English (en)
Inventor
谭桂兴
郭华
黄康英
林锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202311152552.XA priority Critical patent/CN117033242A/zh
Publication of CN117033242A publication Critical patent/CN117033242A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及一种测试数据生成方法、装置、计算机设备、存储介质和计算机程序产品,可用于大数据技术领域,也可用于金融科技领域或其他相关领域。本申请能够实现提高测试数据生成效率和准确率。该方法包括:确定待测试金融系统的待测试功能;从待测试金融系统的程序信息库中,获取与待测试功能对应的目标程序信息;对目标程序信息中的查询语句进行识别,确定出查询条件和查询的目标数据表;根据目标数据表和查询条件,生成测试数据;根据测试数据,生成测试数据表;测试数据表用于对待测试功能进行测试。

Description

测试数据生成方法、装置、计算机设备和存储介质
技术领域
本申请涉及大数据技术领域,特别是涉及一种测试数据生成方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术的发展,出现了测试数据的相关技术。利用测试数据对程序进行测试,能够有效地发现程序的缺陷,有利于准确地对程序进行修复。因此,如何高效地生成测试数据成为了重要的研究方向。
传统技术中,测试数据的生成通常是由人工进行,测试人员需要手动编写测试数据;但是,通过该技术需要耗费较多的人工操作时间,导致测试数据生成效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高测试数据生成效率的测试数据生成方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种测试数据生成方法。所述方法包括:
确定待测试金融系统的待测试功能;
从所述待测试金融系统的程序信息库中,获取与所述待测试功能对应的目标程序信息;
对所述目标程序信息中的查询语句进行识别,确定出查询条件和查询的目标数据表;
根据所述目标数据表和所述查询条件,生成测试数据;
根据所述测试数据,生成测试数据表;所述测试数据表用于对所述待测试功能进行测试。
在其中一个实施例中,所述根据所述目标数据表和所述查询条件,生成测试数据,包括:
根据所述目标数据表的表属性信息,生成初始测试数据;
根据所述初始测试数据和所述查询条件,生成测试数据。
在其中一个实施例中,所述根据所述初始测试数据和所述查询条件,生成测试数据,包括:
将所述初始测试数据作为当前轮的基础测试数据;
对所述当前轮的基础测试数据进行复制,得到所述当前轮的基础测试数据的副本;
根据所述查询条件,对所述当前轮的基础测试数据的副本进行更新处理,得到下一轮的基础测试数据;
将所述下一轮的基础测试数据作为当前轮的基础测试数据,并跳转至所述对所述当前轮的基础测试数据进行复制,得到所述当前轮的基础测试数据的副本的步骤,直到得到的基础测试数据的数量满足预设数量条件;
将所述得到的基础测试数据,作为测试数据。
在其中一个实施例中,所述根据所述查询条件,对所述当前轮的基础测试数据的副本进行更新处理,得到下一轮的基础测试数据,包括:
根据所述查询条件中的操作符,在预设的更新处理信息中,确定出对应的目标更新处理信息;
利用所述目标更新处理信息,对所述当前轮的基础测试数据的副本进行更新处理,得到下一轮的基础测试数据。
在其中一个实施例中,所述目标数据表的数量为至少两个;
所述根据所述目标数据表的表属性信息,生成初始测试数据,包括:
根据各所述目标数据表的表属性信息,生成各所述目标数据表对应的初始测试数据;
所述根据所述测试数据,生成测试数据表,包括:
将所述测试数据对应加入至数据库存储的目标数据表中,得到各所述目标数据表对应的测试数据表。
在其中一个实施例中,所述对所述目标程序信息中的查询语句进行识别,确定出查询条件和查询的目标数据表,包括:
对所述目标程序信息中的查询语句进行语法识别,确定出所述查询语句中的查询条件和目标数据表标识;
根据所述目标数据表标识,在数据库存储的数据表中,确定出查询的目标数据表。
在其中一个实施例中,在对所述目标程序信息中的查询语句进行语法识别,确定出所述查询语句中的查询条件和目标数据表标识之前,还包括:
对所述目标程序信息进行识别,得到所述目标程序信息中的查询语法关键词的位置;
根据所述查询语法关键词的位置,确定出所述目标程序信息中的查询语句。
第二方面,本申请还提供了一种测试数据生成装置。所述装置包括:
功能确定模块,用于确定待测试金融系统的待测试功能;
信息获取模块,用于从所述待测试金融系统的程序信息库中,获取与所述待测试功能对应的目标程序信息;
语句识别模块,用于对所述目标程序信息中的查询语句进行识别,确定出查询条件和查询的目标数据表;
第一生成模块,用于根据所述目标数据表和所述查询条件,生成测试数据;
第二生成模块,用于根据所述测试数据,生成测试数据表;所述测试数据表用于对所述待测试功能进行测试。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
确定待测试金融系统的待测试功能;
从所述待测试金融系统的程序信息库中,获取与所述待测试功能对应的目标程序信息;
对所述目标程序信息中的查询语句进行识别,确定出查询条件和查询的目标数据表;
根据所述目标数据表和所述查询条件,生成测试数据;
根据所述测试数据,生成测试数据表;所述测试数据表用于对所述待测试功能进行测试。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
确定待测试金融系统的待测试功能;
从所述待测试金融系统的程序信息库中,获取与所述待测试功能对应的目标程序信息;
对所述目标程序信息中的查询语句进行识别,确定出查询条件和查询的目标数据表;
根据所述目标数据表和所述查询条件,生成测试数据;
根据所述测试数据,生成测试数据表;所述测试数据表用于对所述待测试功能进行测试。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
确定待测试金融系统的待测试功能;
从所述待测试金融系统的程序信息库中,获取与所述待测试功能对应的目标程序信息;
对所述目标程序信息中的查询语句进行识别,确定出查询条件和查询的目标数据表;
根据所述目标数据表和所述查询条件,生成测试数据;
根据所述测试数据,生成测试数据表;所述测试数据表用于对所述待测试功能进行测试。
上述测试数据生成方法、装置、计算机设备、存储介质和计算机程序产品,确定待测试金融系统的待测试功能;从所述待测试金融系统的程序信息库中,获取与所述待测试功能对应的目标程序信息;对所述目标程序信息中的查询语句进行识别,确定出查询条件和查询的目标数据表;根据所述目标数据表和所述查询条件,生成测试数据;根据所述测试数据,生成测试数据表;所述测试数据表用于对所述待测试功能进行测试。该方案通过确定待测试功能、获取目标程序信息、识别查询语句、生成测试数据以及生成测试数据表的过程,能够确保测试数据的准确性和完整性,同时通过自动化的方式来生成测试数据,有利于提高测试数据生成效率和准确率。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中测试数据生成方法的流程示意图;
图2为一个实施例中生成测试数据的步骤的流程示意图;
图3为一个实施例中确定下一轮的基础测试数据的步骤的流程示意图;
图4为另一个实施例中测试数据生成方法的流程示意图;
图5为一个实施例中测试数据生成方法的场景示意图;
图6为一个实施例中测试数据生成装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要符合相关规定。
在一个示例性的实施例中,如图1所示,提供了一种测试数据生成方法,本实施例以该方法应用于终端进行举例说明;可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器之间的交互实现。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑等;服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本实施例中,该方法包括以下步骤:
步骤S101,确定待测试金融系统的待测试功能。
本步骤中,待测试金融系统可以是待测试的金融系统、金融程序或金融软件;待测试功能可以是待测试金融系统的多个功能中的一个待测试功能。
可选地,终端获取待测试信息,根据待测试信息,确定出待测试金融系统的待测试功能。例如,终端首先需要确定待测试的金融系统的功能,即要测试哪些功能。
步骤S102,从待测试金融系统的程序信息库中,获取与待测试功能对应的目标程序信息。
本步骤中,程序信息库可以是存储待测试金融系统的程序信息的数据库或文件系统,其中,程序信息可以是代码;与待测试功能对应的目标程序信息可以是待测试功能对应的源代码。
可选地,终端通过访问待测试金融系统的程序信息库,从待测试金融系统的程序信息库中,获取与待测试功能对应的程序信息,作为目标程序信息。
步骤S103,对目标程序信息中的查询语句进行识别,确定出查询条件和查询的目标数据表。
本步骤中,查询语句可以是用于从数据库中查询数据的SQL(数据库语言)语句,例如包括SELECT(选择)、FROM(来自)、WHERE(哪里)等关键字和表达式;查询条件可以是查询语句中的过滤条件,用于筛选出符合要求的数据,例如,查询条件可以是在关键字WHERE后的关联条件,关联条件中可以包含不同的操作符或运算符,以及查询的数据表,查询条件可以是用于筛选出符合要求的数据的条件,查询条件可以包括多个条件,例如等于、大于、小于、范围等条件;查询的目标数据表可以是查询语句中所涉及的数据表,用于确定要从哪些数据表中获取测试数据。
可选地,终端对目标程序信息中的查询语句进行语法识别,确定出查询语句中包含的查询条件和数据表,将该数据表作为查询的目标数据表。
步骤S104,根据目标数据表和查询条件,生成测试数据。
本步骤中,测试数据可以是用于对待测试功能进行测试的数据。
可选地,终端根据查询条件和目标数据表,生成符合要求的测试数据,其中,测试数据的生成方式可以根据实际情况而定,例如可以使用随机数生成器生成符合要求的数据。
步骤S105,根据测试数据,生成测试数据表;测试数据表用于对待测试功能进行测试。
本步骤中,测试数据表可以是存储测试数据的数据表,测试数据表可以是用于对待测试功能进行测试的数据表。
可选地,终端将生成的测试数据加入到数据库中,生成测试数据表;利用测试数据表对待测试功能进行测试,得到测试结果;在测试结果表示正确的情况下,确认待测试金融系统的待测试功能正常和目标程序信息正常,在测试结果表示错误的情况下,确认待测试金融系统的待测试功能异常和目标程序信息异常。
上述测试数据生成方法中,确定待测试金融系统的待测试功能;从待测试金融系统的程序信息库中,获取与待测试功能对应的目标程序信息;对目标程序信息中的查询语句进行识别,确定出查询条件和查询的目标数据表;根据目标数据表和查询条件,生成测试数据;根据测试数据,生成测试数据表;测试数据表用于对待测试功能进行测试。该方案通过确定待测试功能、获取目标程序信息、识别查询语句、生成测试数据以及生成测试数据表的过程,能够确保测试数据的准确性和完整性,同时通过自动化的方式来生成测试数据,有利于提高测试数据生成效率和准确率。
在一个示例性的实施例中,如图2所示,在步骤S104中,根据目标数据表和查询条件,生成测试数据,具体包括如下内容:
步骤S201,根据目标数据表的表属性信息,生成初始测试数据;
步骤S202,根据初始测试数据和查询条件,生成测试数据。
本实施例中,表属性信息可以是目标数据表的结构信息,包括表的字段名、数据类型、约束等,表属性信息描述了数据表的结构和规范;初始测试数据可以是根据目标数据表的表属性信息生成的一组符合表结构和约束条件的测试数据,初始测试数据可以是生成测试数据的起点。
可选地,终端获取目标数据表的表属性信息,包括表的字段名、数据类型、约束等信息,根据这些表属性信息,可以生成一组初始测试数据,即符合表结构和约束条件的数据;根据初始测试数据和查询条件,进一步生成符合查询条件的测试数据,例如,根据查询条件中的过滤条件,筛选出满足条件的初始测试数据,并对其进行进一步的处理,例如修改、删除、添加等操作,以生成符合查询条件的测试数据。
本实施例提供的技术方案,通过根据目标数据表的表属性信息和查询条件生成测试数据,有利于适应不同的测试场景和需求,确保生成的测试数据符合表的规范,有利于提高测试数据生成准确率。
在一个示例性的实施例中,上述步骤中,根据初始测试数据和查询条件,生成测试数据,具体包括如下内容:将初始测试数据作为当前轮的基础测试数据;对当前轮的基础测试数据进行复制,得到当前轮的基础测试数据的副本;根据查询条件,对当前轮的基础测试数据的副本进行更新处理,得到下一轮的基础测试数据;将下一轮的基础测试数据作为当前轮的基础测试数据,并跳转至对当前轮的基础测试数据进行复制,得到当前轮的基础测试数据的副本的步骤,直到得到的基础测试数据的数量满足预设数量条件;将得到的基础测试数据,作为测试数据。
本实施例中,当前轮的基础测试数据可以是每一轮生成测试数据时,用于进行处理和更新的基础数据集;基础测试数据的副本可以是对当前轮的基础测试数据进行复制得到的副本,用于在每一轮中进行处理和更新,以避免对原始数据的修改;预设数量条件可以是设定的生成测试数据的数量要求,即生成的测试数据数量需要满足该条件。
可选地,终端将生成的初始测试数据作为当前轮的基础测试数据;对当前轮的基础测试数据进行复制,得到当前轮的基础测试数据的副本,这样可以在每一轮中对副本进行处理,而不影响原始的基础测试数据;根据给定的查询条件,对当前轮的基础测试数据的副本进行更新处理,这个更新过程可能涉及修改、增加或删除数据,以满足查询条件的要求;将更新后的基础测试数据作为下一轮的基础测试数据,并跳转至上述的对当前轮的基础测试数据进行复制,得到当前轮的基础测试数据的副本的步骤,直到生成的基础测试数据的数量满足预设的数量条件为止,这样可以保证生成足够数量的测试数据;将生成的基础测试数据作为最终的测试数据,用于进行测试。
本实施例提供的技术方案,通过逐步生成符合查询条件的测试数据,并确保生成的测试数据数量满足预设的要求,有利于提高测试数据生成效率和准确率,从而有利于更全面地测试系统在不同数据条件下的性能和稳定性。
在一个示例性的实施例中,如图3所示,上述步骤中,根据查询条件,对当前轮的基础测试数据的副本进行更新处理,得到下一轮的基础测试数据,具体包括如下内容:
步骤S301,根据查询条件中的操作符,在预设的更新处理信息中,确定出对应的目标更新处理信息;
步骤S302,利用目标更新处理信息,对当前轮的基础测试数据的副本进行更新处理,得到下一轮的基础测试数据。
本实施例中,操作符可以是指在查询条件中使用的符号或关键词,可用于指定对测试数据进行操作的方式,操作符可以包括等于(=)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)等,操作符可用于比较查询条件中的值与测试数据中的值;预设的更新处理信息是事先定义好的一组规则或指导,用于确定在不同查询条件下如何对测试数据进行更新处理,这些信息包括了各种更新方式,如修改、增加或删除数据等,根据查询条件中的操作符,可以从预设的更新处理信息中确定对应的目标更新处理信息,以指导对当前轮的基础测试数据的副本进行更新处理,例如,预设的更新处理信息可以包括将后表的值更新为前表的值、更新字段的值为运算符后面的值加1或减1、更新字段的值等于运算符后面的值和更新字段的值等于运算符后面的第一个值。
可选地,终端查询条件中包含的操作符,用于指定更新数据的方式,根据查询条件中的操作符,从预设的更新处理信息中确定对应的目标更新处理信息,其中,预设的更新处理信息可能包括各种更新方式;利用确定的目标更新处理信息,对当前轮的基础测试数据的副本进行更新处理,其中,根据目标更新处理信息的要求,对副本进行相应的更新操作,以生成下一轮的基础测试数据。
本实施例提供的技术方案,通过根据查询条件中的操作符确定目标更新处理信息,并利用该信息对当前轮的基础测试数据的副本进行更新处理,这样可以根据查询条件的要求,生成符合条件的下一轮基础测试数据,有利于更高效和更准确地得到下一轮的基础测试数据,从而有利于提高测试数据生成效率和准确率。
在一个示例性的实施例中,目标数据表的数量为至少两个;上述步骤中,根据目标数据表的表属性信息,生成初始测试数据,具体包括如下内容:根据各目标数据表的表属性信息,生成各目标数据表对应的初始测试数据;在步骤S105中,根据测试数据,生成测试数据表,具体包括如下内容:将测试数据对应加入至数据库存储的目标数据表中,得到各目标数据表对应的测试数据表。
可选地,终端获取各目标数据表的表属性信息,可以包括表的字段、数据类型、数据长度、约束条件等,这些信息可以通过数据库的元数据或者数据字典来获取;根据各目标数据表的表属性信息,可以确定每个字段的数据类型和长度,以及可能的约束条件,根据这些信息,可以使用随机生成、模拟数据或者事先定义好的数据集来生成初始测试数据;将生成的初始测试数据按照目标数据表的结构和约束条件,对应逐条插入到数据库存储的目标数据表中,这样可以将生成的测试数据与目标数据表进行关联;将插入测试数据后的目标数据表,作为各目标数据表对应的测试数据表。
本实施例提供的技术方案,通过根据各目标数据表的表属性信息,生成初始测试数据,并将测试数据对应加入至数据库存储的目标数据表中,得到各目标数据表对应的测试数据表,有利于更高效和更准确地得到初始测试数据和测试数据表,从而有利于提高测试数据生成效率和准确率。
在一个示例性的实施例中,在步骤S103中,对目标程序信息中的查询语句进行识别,确定出查询条件和查询的目标数据表,具体包括如下内容:对目标程序信息中的查询语句进行语法识别,确定出查询语句中的查询条件和目标数据表标识;根据目标数据表标识,在数据库存储的数据表中,确定出查询的目标数据表。
本实施例中,目标数据表标识可以是查询语句中所涉及的目标数据表的唯一标识,可用于确定查询的目标数据表,例如,目标数据表标识可以是数据表的名称、别名或者其他唯一标识符;数据库存储的数据表可以是在数据库中创建和存储数据的表结构,可包含各个字段和约束条件等信息。
可选地,终端对目标程序信息中的查询语句进行语法识别,在识别出的查询语句中,确定出查询语句中的查询条件和目标数据表标识;根据确定的目标数据表标识,可以在数据库存储的数据表中确定出对应的目标数据表。
本实施例提供的技术方案,通过根据目标数据表标识,在数据库存储的数据表中,确定出查询的目标数据表,有利于更高效和更准确地确定目标数据表,从而有利于提高测试数据生成效率和准确率。
在一个示例性的实施例中,在对目标程序信息中的查询语句进行语法识别,确定出查询语句中的查询条件和目标数据表标识之前,还包括如下内容:对目标程序信息进行识别,得到目标程序信息中的查询语法关键词的位置;根据查询语法关键词的位置,确定出目标程序信息中的查询语句。
本实施例中,查询语法关键词可以是在查询语句中用于表示查询语义的关键词,例如SELECT、FROM、WHERE等。
可选地,终端对目标程序信息进行识别,识别出在目标程序信息中的查询语法关键词;根据查询语法关键词在目标程序信息中所处的位置,可以确定出目标程序信息中的查询语句在目标程序信息中所处的位置,根据目标程序信息中的查询语句在目标程序信息中所处的位置,确定出目标程序信息中的查询语句。
本实施例提供的技术方案,通过根据查询语法关键词的位置,确定出目标程序信息中的查询语句,有利于更高效和更准确地确定目标程序信息中的查询语句,从而有利于提高测试数据生成效率和准确率。
以下以一个实施例说明本申请提供的测试数据生成方法,本实施例以该方法应用于终端进行举例说明,主要步骤包括:
第一步,终端确定待测试金融系统的待测试功能;从待测试金融系统的程序信息库中,获取与待测试功能对应的目标程序信息。
第二步,终端对目标程序信息进行识别,得到目标程序信息中的查询语法关键词的位置;根据查询语法关键词的位置,确定出目标程序信息中的查询语句;对目标程序信息中的查询语句进行语法识别,确定出查询语句中的查询条件和目标数据表标识;根据目标数据表标识,在数据库存储的数据表中,确定出查询的目标数据表。
第三步,终端根据目标数据表的表属性信息,生成初始测试数据;根据初始测试数据和查询条件,生成测试数据。
第四步,终端根据各目标数据表的表属性信息,生成各目标数据表对应的初始测试数据。
第五步,终端将初始测试数据作为当前轮的基础测试数据;对当前轮的基础测试数据进行复制,得到当前轮的基础测试数据的副本;根据查询条件,对当前轮的基础测试数据的副本进行更新处理,得到下一轮的基础测试数据;将下一轮的基础测试数据作为当前轮的基础测试数据,并跳转至对当前轮的基础测试数据进行复制,得到当前轮的基础测试数据的副本的步骤,直到得到的基础测试数据的数量满足预设数量条件;将得到的基础测试数据,作为测试数据。
第六步,终端将测试数据对应加入至数据库存储的目标数据表中,得到各目标数据表对应的测试数据表;测试数据表用于对待测试功能进行测试。
本实施例提供的技术方案,通过确定待测试功能、获取目标程序信息、识别查询语句、生成测试数据以及生成测试数据表的过程,能够确保测试数据的准确性和完整性,同时通过自动化的方式来生成测试数据,有利于提高测试数据生成效率和准确率。
以下以一个应用实例说明本申请提供的测试数据生成方法,本应用实例以该方法应用于终端进行举例说明,如图4和图5所示,主要步骤包括:
第一步,终端从系统的程序库中提取某个程序源代码。
第二步,终端从程序源代码中提取涉及的查询语句。
第三步,终端从系统的查询语句中,通过关键字进行过滤,获取有效的表名、逻辑。
第四步,终端基于有效的表名、逻辑,生成测试数据。
其中,测试数据可以是指对一项特定的软件产品进行测试所需的数据库表里面的值;程序库中可包含多个程序,例如程序A、程序B、程序C等等;数据库可查询程序库的数据,程序库可更新数据库的数据。
其中,测试场景可以是根据卡号查询出此卡所属产品名称;可涉及数据库的两张表,可以分别是卡号明细表和卡属性表,卡号明细表的表结构可以包含数据类型、字段长度、字段名称、字段中文,其中,数据类型可以包含数字型、字符型、日期型,卡号明细表中可以记录卡标识、卡标识长度、卡号长度、生成日期;卡属性表的表结构可以包含数据类型、字段长度、字段名称、字段中文,其中,数据类型可以包含数字型、产品名称、字符型、日期型,卡属性表中可以记录卡标识、卡标识长度、产品名称、个人标识、卡类别标识、生成日期;程序逻辑可以是根据卡号查表一(卡号明细表)的卡号,获取卡标识的值,匹配表2(卡属性表)卡标识的值,获取产品名称的值;一开始两个表可以为空,通过后续插入测试数据后,可得到两张测试数据表。
举例来说,1、终端可通过测试数据自动生成系统从指定路径提取源代码,得到程序源代码。2、终端编写语法分析组件:在关键字FROM后且关键字WHERE前则为表名和别名,WHERE后则为关联条件,即可利用语法分析技术,从程序源代码中提取逻辑、表(逻辑条件、表)。3、终端根据数据库的建表属性:数据类型、数据长度定义、编译方式、是否允许为空、主键字段等,生成数据:(1)根据属性生成一条各字段都是最大值的记录(为记录一),数字型字段赋值为满长度的数字(数字例如为1,也可以为1至9的循环),字符型字段赋值为满长度的a,日期型赋值为当前日期;(2)根据属性生成一条各字段允许为空字段继续为空记录(为记录二),仅仅对主键字段赋值,数字型字段赋值为满长度的数字(数字例如为1),字符型字段赋值为满长度的a,日期型赋值为当前日期,这条记录主键字段在记录一主键字段最后一位更新为2;从而实现插入默认值表记录。4、终端进行数据更新处理:关键字WHERE后则为关联条件,根据运算符更新数据:(1)等于号(=),如果涉及两张表,则与后表的值更新为前表的值;(2)不等于号(<或>或!=),则更新字段的值为不等于号后面的值加1;(3)大于号(>),则更新字段的值为大于号后面的值加1;(4)小于号(<),则更新字段的值为小于号后面的值减1;(5)大于等于号(>=),则更新字段的值为大于等于号后面的值;(6)小于等于号(<=),则更新字段的值小于等于号后面的值;(7)BETWEEN(介于)表示在某个范围内,则更新字段的值为BETWEEN后面的第一个值;(8)LIKE(相似)表示搜索某种模式,更新字段的值为LIKE后面的第一个值;(9)IN(在)表示指定针对某个列的多个可能值,更新字段的值为IN后面的第一个值;从而实现根据逻辑判断字段的赋值,生成测试数据,并将测试数据加入至数据库中。
本应用实例提供的技术方案,实现高效地直接生成测试数据,减少人工投入;通用性强,避免因人工错误导致的测试遗漏的问题;有利于提高测试数据生成效率和准确率。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的测试数据生成方法的测试数据生成装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个测试数据生成装置实施例中的具体限定可以参见上文中对于测试数据生成方法的限定,在此不再赘述。
在一个示例性的实施例中,如图6所示,提供了一种测试数据生成装置,该装置600可以包括:
功能确定模块601,用于确定待测试金融系统的待测试功能;
信息获取模块602,用于从待测试金融系统的程序信息库中,获取与待测试功能对应的目标程序信息;
语句识别模块603,用于对目标程序信息中的查询语句进行识别,确定出查询条件和查询的目标数据表;
第一生成模块604,用于根据目标数据表和查询条件,生成测试数据;
第二生成模块605,用于根据测试数据,生成测试数据表;测试数据表用于对待测试功能进行测试。
在一个示例性的实施例中,第一生成模块604,还用于根据目标数据表的表属性信息,生成初始测试数据;根据初始测试数据和查询条件,生成测试数据。
在一个示例性的实施例中,第一生成模块604,还用于将初始测试数据作为当前轮的基础测试数据;对当前轮的基础测试数据进行复制,得到当前轮的基础测试数据的副本;根据查询条件,对当前轮的基础测试数据的副本进行更新处理,得到下一轮的基础测试数据;将下一轮的基础测试数据作为当前轮的基础测试数据,并跳转至对当前轮的基础测试数据进行复制,得到当前轮的基础测试数据的副本的步骤,直到得到的基础测试数据的数量满足预设数量条件;将得到的基础测试数据,作为测试数据。
在一个示例性的实施例中,第一生成模块604,还用于根据查询条件中的操作符,在预设的更新处理信息中,确定出对应的目标更新处理信息;利用目标更新处理信息,对当前轮的基础测试数据的副本进行更新处理,得到下一轮的基础测试数据。
在一个示例性的实施例中,目标数据表的数量为至少两个;第一生成模块604,还用于根据各目标数据表的表属性信息,生成各目标数据表对应的初始测试数据;第二生成模块605,还用于将测试数据对应加入至数据库存储的目标数据表中,得到各目标数据表对应的测试数据表。
在一个示例性的实施例中,语句识别模块603,还用于对目标程序信息中的查询语句进行语法识别,确定出查询语句中的查询条件和目标数据表标识;根据目标数据表标识,在数据库存储的数据表中,确定出查询的目标数据表。
在一个示例性的实施例中,该装置600还包括:语句确定模块,用于对目标程序信息进行识别,得到目标程序信息中的查询语法关键词的位置;根据查询语法关键词的位置,确定出目标程序信息中的查询语句。
上述测试数据生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
需要说明的是,本申请提供的测试数据生成的方法和装置可用于金融科技领域涉及测试数据生成的应用领域中,也可用于除金融科技领域之外的任意领域涉及测试数据生成的处理中,本申请提供的测试数据生成的方法和装置的应用领域不做限定。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种测试数据生成方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个示例性的实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个示例性的实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个示例性的实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (11)

1.一种测试数据生成方法,其特征在于,所述方法包括:
确定待测试金融系统的待测试功能;
从所述待测试金融系统的程序信息库中,获取与所述待测试功能对应的目标程序信息;
对所述目标程序信息中的查询语句进行识别,确定出查询条件和查询的目标数据表;
根据所述目标数据表和所述查询条件,生成测试数据;
根据所述测试数据,生成测试数据表;所述测试数据表用于对所述待测试功能进行测试。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标数据表和所述查询条件,生成测试数据,包括:
根据所述目标数据表的表属性信息,生成初始测试数据;
根据所述初始测试数据和所述查询条件,生成测试数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述初始测试数据和所述查询条件,生成测试数据,包括:
将所述初始测试数据作为当前轮的基础测试数据;
对所述当前轮的基础测试数据进行复制,得到所述当前轮的基础测试数据的副本;
根据所述查询条件,对所述当前轮的基础测试数据的副本进行更新处理,得到下一轮的基础测试数据;
将所述下一轮的基础测试数据作为当前轮的基础测试数据,并跳转至所述对所述当前轮的基础测试数据进行复制,得到所述当前轮的基础测试数据的副本的步骤,直到得到的基础测试数据的数量满足预设数量条件;
将所述得到的基础测试数据,作为测试数据。
4.根据权利要求3所述的方法,其特征在于,所述根据所述查询条件,对所述当前轮的基础测试数据的副本进行更新处理,得到下一轮的基础测试数据,包括:
根据所述查询条件中的操作符,在预设的更新处理信息中,确定出对应的目标更新处理信息;
利用所述目标更新处理信息,对所述当前轮的基础测试数据的副本进行更新处理,得到下一轮的基础测试数据。
5.根据权利要求2所述的方法,其特征在于,所述目标数据表的数量为至少两个;
所述根据所述目标数据表的表属性信息,生成初始测试数据,包括:
根据各所述目标数据表的表属性信息,生成各所述目标数据表对应的初始测试数据;
所述根据所述测试数据,生成测试数据表,包括:
将所述测试数据对应加入至数据库存储的目标数据表中,得到各所述目标数据表对应的测试数据表。
6.根据权利要求1所述的方法,其特征在于,所述对所述目标程序信息中的查询语句进行识别,确定出查询条件和查询的目标数据表,包括:
对所述目标程序信息中的查询语句进行语法识别,确定出所述查询语句中的查询条件和目标数据表标识;
根据所述目标数据表标识,在数据库存储的数据表中,确定出查询的目标数据表。
7.根据权利要求6所述的方法,其特征在于,在对所述目标程序信息中的查询语句进行语法识别,确定出所述查询语句中的查询条件和目标数据表标识之前,还包括:
对所述目标程序信息进行识别,得到所述目标程序信息中的查询语法关键词的位置;
根据所述查询语法关键词的位置,确定出所述目标程序信息中的查询语句。
8.一种测试数据生成装置,其特征在于,所述装置包括:
功能确定模块,用于确定待测试金融系统的待测试功能;
信息获取模块,用于从所述待测试金融系统的程序信息库中,获取与所述待测试功能对应的目标程序信息;
语句识别模块,用于对所述目标程序信息中的查询语句进行识别,确定出查询条件和查询的目标数据表;
第一生成模块,用于根据所述目标数据表和所述查询条件,生成测试数据;
第二生成模块,用于根据所述测试数据,生成测试数据表;所述测试数据表用于对所述待测试功能进行测试。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202311152552.XA 2023-09-07 2023-09-07 测试数据生成方法、装置、计算机设备和存储介质 Pending CN117033242A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311152552.XA CN117033242A (zh) 2023-09-07 2023-09-07 测试数据生成方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311152552.XA CN117033242A (zh) 2023-09-07 2023-09-07 测试数据生成方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN117033242A true CN117033242A (zh) 2023-11-10

Family

ID=88622835

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311152552.XA Pending CN117033242A (zh) 2023-09-07 2023-09-07 测试数据生成方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN117033242A (zh)

Similar Documents

Publication Publication Date Title
CN107122368B (zh) 一种数据校验方法、装置及电子设备
CN116028653A (zh) 一种可视化配置多源异构数据构建图谱的方法及系统
CN112052157B (zh) 测试报文的构造方法、装置及系统
CN111858581A (zh) 一种分页查询的方法、装置、存储介质和电子设备
JP6870454B2 (ja) 分析装置、分析プログラム及び分析方法
CN117033242A (zh) 测试数据生成方法、装置、计算机设备和存储介质
CN112463896B (zh) 档案编目数据处理方法、装置、计算设备及存储介质
CN114610644A (zh) 测试数据库的方法及装置
CN110750569A (zh) 数据提取方法、装置、设备及存储介质
CN115118616B (zh) 展示结果测试方法、装置、计算机设备和存储介质
CN117290302B (zh) 目录分离方法、装置、计算机设备和存储介质
US10521314B2 (en) Cross-referenced irregular field storage in databases
CN115438605A (zh) 数据处理方法、装置、计算机设备和存储介质
CN117033518A (zh) 数据同步方法、装置、计算机设备和存储介质
CN116910069A (zh) 数据库更新方法、装置、计算机设备和存储介质
CN115576943A (zh) 一种数据库测试校验方法、装置、电子设备及存储介质
CN118519877A (zh) 场景测试用例生成方法、装置及电子设备
CN116126620A (zh) 数据库日志处理方法、数据库变更查询方法及相关装置
CN117555955A (zh) 数据转换方法、数据转换装置、计算机设备、存储介质
CN116880852A (zh) 基于机器学习的代码数据检查方法、装置及计算机设备
CN116662191A (zh) 数据测试方法、装置、计算机设备和存储介质
CN117743443A (zh) 数据采集方法、装置、电子设备及存储介质
CN117389986A (zh) 数据库兼容性评估方法、装置、电子设备及存储介质
CN117370339A (zh) 报表血缘关系处理方法、装置、计算机设备和存储介质
CN115221249A (zh) 跨库数据查询方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination