CN113886233A - 数据插入脚本的自动构造方法、装置、设备及存储介质 - Google Patents
数据插入脚本的自动构造方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113886233A CN113886233A CN202111149034.3A CN202111149034A CN113886233A CN 113886233 A CN113886233 A CN 113886233A CN 202111149034 A CN202111149034 A CN 202111149034A CN 113886233 A CN113886233 A CN 113886233A
- Authority
- CN
- China
- Prior art keywords
- script
- data
- value
- text sequence
- field
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及研发管理领域,公开了一种数据插入脚本的自动构造方法、装置、设备及存储介质,用于解决现有技术中进行测试时进行数据插入的自动性差,效率低下的技术问题。该方法包括:获取数据插入脚本构造请求,提取其中需要进行脚本构造的数据项目名称;根据数据项目名称进行脚本构造,得到构造脚本片段;根据取值脚本生成规则基于数据项目名称生成取值脚本;调用取值脚本在预置的测试数据表中提取测试数据,并生成第一文本序列;对第一文本序列中需要进行修改的数据值进行替换,得到第二文本序列;将构造脚本片段和第二文本序列进行拼接,得到数据插入脚本。此外,本发明还涉及区块链技术,数据插入脚本的相关信息可存储于区块链中。
Description
技术领域
本发明涉及研发管理领域,尤其涉及一种数据插入脚本的自动构造方法、装置、设备及存储介质。
背景技术
随着计算机技术的发展,各类应用及网页功能逐渐复杂化,测试工作也变得越来越重要;在开发过程中,需要构建大量的测试数据插入待测的应用中进行测试,以避免运行中出现错误。
现有的技术中,一般会采用自动构建测试数据并进行测试的方式,而要生成数据脚本一般只能通过oracle客户端导出数据脚本,这种导出需要手工操作,且无法自动更改数据脚本中某个字段的值,导致数据插入的自动性差,效率低下。
发明内容
本发明的主要目的在于解决现有技术中进行测试时进行数据插入的自动性差,效率低下的技术问题。
本发明第一方面提供了一种数据插入脚本的自动构造方法,包括:获取数据插入脚本构造请求,提取所述数据插入脚本构造请求中需要进行脚本构造的数据项目名称;根据所述数据项目名称进行脚本构造,得到构造脚本片段;根据预置的取值脚本生成规则基于所述数据项目名称生成取值脚本;调用所述取值脚本在预置的测试数据表中提取测试数据,并根据提取到的所述测试数据生成第一文本序列;对所述第一文本序列中需要进行修改的数据值进行替换,得到第二文本序列;将所述构造脚本片段和所述第二文本序列进行拼接,得到数据插入脚本。
可选的,在本发明第一方面的第一种实现方式中,所述根据预置的取值脚本生成规则基于所述数据项目名称生成取值脚本包括:根据所述数据项目名称判断该数据项目是否要进行修改;若是,则根据预置的封装规则对所述数据项目名称进行通用封装,得到封装字段;在所述封装字段后增加标记字符,得到取值脚本字段模板;基于所述取值脚本字段模板构建取值脚本。
可选的,在本发明第一方面的第二种实现方式中,所述基于所述取值脚本字段模板构建取值脚本包括:获取预置的取值脚本前缀、取值脚本后缀模板和预置的测试数据表表名;根据所述测试数据表表名和所述脚本后缀模板生成脚本后缀;将所述脚本前缀、取值脚本字段模板和所述脚本后缀进行拼接,得到取值脚本。
可选的,在本发明第一方面的第三种实现方式中,所述对所述第一文本序列中需要进行修改的数据值进行替换,得到第二文本序列包括:根据所述标记字符查找出所述第一文本序列中需要进行修改的封装字段;提取所述封装字段的预设的目标修改值;根据所述目标修改值对所述需要进行修改的封装字段中的字段值进行替换,得到修改后的封装字段;将所述修改后的封装字段的标记字符替换为空,得到第二文本序列。
可选的,在本发明第一方面的第四种实现方式中,在将所述修改后的封装字段的标记字符替换为空,得到第二文本序列之后还包括:获取各封装字段的字符类型,根据所述字符类型确定字符的目标格式;根据所述目标格式获取格式转换指令,基于所述格式转换指令对对应的所述第二文本序列进行替换,得到更新格式后的文本序列。
可选的,在本发明第一方面的第五种实现方式中,所述数据插入脚本的自动构造方法还包括:响应于接收到的数据测试处理请求,通过所述数据测试处理请求对应的测试项目删除待测系统中已有的测试项目数据;提取预置的数据插入脚本,根据所述数据插入脚本向所述待测系统中插入存储数据;运行执行接口,执行所述待测试项目,得到执行结果;对所述执行结果进行数据检查,生成测试结果。
本发明第二方面提供了一种数据插入脚本的自动构造装置,包括:获取模块,用于获取数据插入脚本构造请求,提取所述数据插入脚本构造请求中需要进行脚本构造的数据项目名称;脚本片段构造模块,用于根据所述数据项目名称进行脚本构造,得到构造脚本片段;取值脚本生成模块,用于根据预置的取值脚本生成规则基于所述数据项目名称生成取值脚本;数据提取模块,用于调用所述取值脚本在预置的测试数据表中提取测试数据,并根据提取到的所述测试数据生成第一文本序列;替换模块,用于对所述第一文本序列中需要进行修改的数据值进行替换,得到第二文本序列;拼接模块,用于将所述构造脚本片段和所述第二文本序列进行拼接,得到数据插入脚本。
可选的,在本发明第二方面的第一种实现方式中,所述取值脚本生成模块包括:判断单元,用于根据所述数据项目名称判断该数据项目是否要进行修改;封装单元,用于若是,则根据预置的封装规则对所述数据项目名称进行通用封装,得到封装字段;标记单元,用于在所述封装字段后增加标记字符,得到取值脚本字段模板;构建单元,用于基于所述取值脚本字段模板构建取值脚本。
可选的,在本发明第二方面的第二种实现方式中,所述构建单元具体用于:获取预置的取值脚本前缀、取值脚本后缀模板和预置的测试数据表表名;根据所述测试数据表表名和所述脚本后缀模板生成脚本后缀;将所述脚本前缀、取值脚本字段模板和所述脚本后缀进行拼接,得到取值脚本。
可选的,在本发明第二方面的第三种实现方式中,所述替换模块包括:查找单元,用于根据所述标记字符查找出所述第一文本序列中需要进行修改的封装字段;提取单元,用于提取所述封装字段的预设的目标修改值;修改单元,用于根据所述目标修改值对所述需要进行修改的封装字段中的字段值进行替换,得到修改后的封装字段;替换单元,用于将所述修改后的封装字段的标记字符替换为空,得到第二文本序列。
可选的,在本发明第二方面的第四种实现方式中,所述数据插入脚本的自动构造装置还包括格式转换模块,所述格式转换模块包括:目标格式确定单元,用于获取各封装字段的字符类型,根据所述字符类型确定字符的目标格式;格式更改单元,用于根据所述目标格式获取格式转换指令,基于所述格式转换指令对对应的所述第二文本序列进行替换,得到更新格式后的文本序列。
可选的,在本发明第二方面的第五种实现方式中,所述数据插入脚本的自动构造装置还包括数据测试执行模块,所述数据测试执行模块具体用于:响应于接收到的数据测试处理请求,通过所述数据测试处理请求对应的测试项目删除待测系统中已有的测试项目数据;提取预置的数据插入脚本,根据所述数据插入脚本向所述待测系统中插入存储数据;运行执行接口,执行所述待测试项目,得到执行结果;对所述执行结果进行数据检查,生成测试结果。
本发明第三方面提供了一种数据插入脚本的自动构造设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据插入脚本的自动构造设备执行上述的数据插入脚本的自动构造方法的步骤。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的数据插入脚本的自动构造方法的步骤。
本发明提供的技术方案中,获取数据插入脚本构造请求,提取其中需要进行脚本构造的数据项目名称;根据数据项目名称进行脚本构造,得到构造脚本片段;根据取值脚本生成规则基于数据项目名称生成取值脚本;调用取值脚本在预置的测试数据表中提取测试数据,并生成第一文本序列;对第一文本序列中需要进行修改的数据值进行替换,得到第二文本序列;将构造脚本片段和第二文本序列进行拼接,得到数据插入脚本。本发明实施例中,改善了进行测试时进行数据插入的自动性,提高了数据插入工作的效率。
附图说明
图1为本发明实施例中数据插入脚本的自动构造方法的第一实施例的示意图;
图2为本发明实施例中数据插入脚本的自动构造方法的第二实施例的示意图;
图3为本发明实施例中数据插入脚本的自动构造方法的第三实施例的示意图;
图4为本发明实施例中数据插入脚本的自动构造装置的一个实施例示意图;
图5为本发明实施例中数据插入脚本的自动构造装置的另一个实施例示意图;
图6为本发明实施例中数据插入脚本的自动构造设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种数据插入脚本的自动构造方法、装置、设备及存储介质,本发明提供的技术方案中,获取数据插入脚本构造请求,提取其中需要进行脚本构造的数据项目名称;根据数据项目名称进行脚本构造,得到构造脚本片段;根据取值脚本生成规则基于数据项目名称生成取值脚本;调用取值脚本在预置的测试数据表中提取测试数据,并生成第一文本序列;对第一文本序列中需要进行修改的数据值进行替换,得到第二文本序列;将构造脚本片段和第二文本序列进行拼接,得到数据插入脚本。本发明实施例中,改善了进行测试时进行数据插入的自动性,提高了数据插入工作的效率。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中数据插入脚本的自动构造方法的一个实施例包括:
101、获取数据插入脚本构造请求,提取数据插入脚本构造请求中需要进行脚本构造的数据项目名称;
可以理解的是,本发明的执行主体可以为数据插入脚本的自动构造装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明;其中,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在软件或应用的开发过程中,需要进行大量的测试,由于需要测试的数据有多种类型以及格式,故需要根据每个不同的项目构造大量的测试数据进行测试。
本实施例中,用户在欲进行测试、需要向待测软件或应用中插入测试数据时,可以采用本实施例中提供的自动数据构造及插入的操作,首先根据需要插入数据的具体数据项目名称等信息,向服务器发送数据插入脚本自动构造请求。服务器响应于接收到的构造请求,提取需要进行数据构造的数据项目名称。
其中,所述数据项目名称可以来源于数据构造请求中包含的构造数据表的数据列名,其数据项目名称与所述数据列名为一一对应的。
102、根据数据项目名称进行脚本构造,得到构造脚本片段;
得到数据项目名称后,根据预先设定好的脚本构造规则基于数据项目名称进行脚本构造,具体地,本实施例中欲进行构造的脚本为测试数据插入脚本,该预先设定好的脚本构造规则为根据数据项目名称生成插入脚本字段的开头的具体方式。
举一个具体的例子进行说明,本实施例中的插入脚本开头可以采用insertinto...values语句,所述insert into语句在SQL(Structured Query Language,结构化查询语言)中用于向表中插入新记录;本步骤中,以field1、field2及field3表示数据名称,构建出来的构造脚本片段可以为:insert into tab1(field1,field2,field3)values。
其中,SQL(Structured Query Language,结构化查询语言)是一种特殊目的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
103、根据预置的取值脚本生成规则基于数据项目名称生成取值脚本;
在得到数据项目名称后,根据所述数据项目名称生成取值脚本,其中,该数据取值脚本具体用于在预置的测试数据表中的数据进行提取,得到待使用的测试数据。本实施例中,可通过所述数据项目名称在所述测试数据表中查找出对应的测试数据。
首先根据oracle中的通用封装规则所述数据项目名称进行数据封装得到封装数据模板;其中,所述oracle数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能。得到封装数据模板后,根据预先设定的取值脚本生成规则对封装数据模板加上取值脚本前缀和取值脚本后缀,得到取值脚本。
具体地,取值脚本前缀可以使用select命令作为前缀,所述取值脚本后缀可以通过from命令加上预设的提取条件和所述测试数据表的表名或表格地址进行构建。
104、调用取值脚本在预置的测试数据表中提取测试数据,并根据提取到的测试数据生成第一文本序列;
得到构建完毕的取值脚本后,调用取值脚本,对预置的测试数据表中的测试数据进行提取,得到候选测试数据,并将提取出来的候选测试数据组成第一文本序列。
其中,所述的取值脚本根据所需的数据项目名称进行测试数据的提取,其中数据项目可以为多个,根据前述的数据项目在预置的测试数据表中提取出的具体测试数据进行组合,得到多个第一文本序列。
105、对第一文本序列中需要进行修改的数据值进行替换,得到第二文本序列;
106、将构造脚本片段和第二文本序列进行拼接,得到数据插入脚本。
本实施例中得到第一文本序列后,根据生成测试的具体需求,对需要进行修改的数据值进行正则替换,例如在本实施例中接收到的脚本构造请求中包含有特定的需要修改的数据项目,则根据所述数据项目名称查找出需要进行修改的数据值,根据预置的正则替换指令对需要修改的数据值替换为本次数据测试需要的目标数据。具体地,所述正则替换指令可以为replace指令。
随后,将前述步骤中构造出的脚本片段和所述第二文本序列进行拼接,得到数据插入脚本。
本发明实施例中,改善了进行测试时进行数据插入的自动性,提高了数据插入工作的效率。
请参阅图2,本发明实施例中数据插入脚本的自动构造方法的第二实施例包括:
201、获取数据插入脚本构造请求,提取数据插入脚本构造请求中需要进行脚本构造的数据项目名称;
首先根据需要插入数据的具体数据项目名称等信息,向服务器发送数据插入脚本自动构造请求。服务器响应于接收到的构造请求,提取需要进行数据构造的数据项目名称。
202、根据数据项目名称进行脚本构造,得到构造脚本片段;
本实施例中欲进行构造的脚本为测试数据插入脚本,该预先设定好的脚本构造规则为根据数据项目名称生成插入脚本字段的开头的具体方式;得到数据项目名称后,根据预先设定好的脚本构造规则基于数据项目名称进行脚本构造。
203、根据数据项目名称判断该数据项目是否要进行修改;
本实施例中在接收到数据插入脚本构造请求时,可提取所述插入脚本构造请求中的具体测试业务点,根据该具体测试业务点判断需要进行修改的数据项目,并获取所述需要进行修改的数据项目的项目名称。
本步骤中,根据获得到的数据项目名称判断该数据项目是否属于前述需要修改的数据项目,若该数据项目不属于前述需要修改的数据项目,则根据预置的封装规则对所述数据项目名称进行通用封装,得到封装字段,根据所述第二封装字段名转换为取值脚本。
具体地,所述通用封装指oracle中的通用数据封装操作,字段名前用引号和oracle连接符拼接,字段名后用引号和逗号、oracle连接符进行拼接。
204、若是,则根据预置的封装规则对数据项目名称进行通用封装,得到封装字段;
205、在封装字段后增加标记字符,得到取值脚本字段模板;
206、基于取值脚本字段模板构建取值脚本;
若数据项目属于需要修改的数据项目,则根据预置的封装规则对所述数据项目名称进行通用封装,得到封装字段;其中所述通用封装与前述相同都是使用oracle中的通用数据封装操作进行具体的封装。并在所述封装字段后增加标记字符,得到取值脚本字段模板。其中,本步骤中所述的标记字符可以是预先指定的特殊字符,如“@”或“#”等。
在一个具体的例子中,当所述数据项目名称为field1、field2或field3时,得到的封装字段可以为:””||field1||”','||””||field2||”','||””||to_char(field3,'yyyy-mm-d d')||””,当所述数据项目要进行修改时,对该封装字段进行标记字符的添加,添加标记字符后的取值脚本字段模板可以为:””||field1||”','||””||field2||”'@!,'||””||to_char(field3,'yyyy-mm-dd')||””@#。
207、调用取值脚本在预置的测试数据表中提取测试数据,并根据提取到的测试数据生成第一文本序列;
得到构建完毕的取值脚本后,调用取值脚本,对预置的测试数据表中的测试数据进行提取,得到候选测试数据,并将提取出来的候选测试数据组成第一文本序列。
208、根据标记字符查找出第一文本序列中需要进行修改的封装字段;
209、提取封装字段的预设的目标修改值;
210、根据目标修改值对需要进行修改的封装字段中的字段值进行替换,得到修改后的封装字段;
211、将修改后的封装字段的标记字符替换为空,得到第二文本序列;
得到第一文本序列后,首先查找第一文本序列中是否包含有标记字符。
若一文本序列中有标记字符,则可认为第一文本序列中具有需要进行修改的封装字段,若第一文本序列中具有需要进行修改的封装字段,则根据所述标记字符的集体位置,确定需要修改的封装字段。根据前述步骤中获取到的需要测试的业务点,提取所述封装字段的预设的目标修改值;并根据所述目标修改值对所述需要进行修改的封装字段中的字段值进行替换。
举具体例子进行说明,若前述得到的'field1_value','field2_value'@!,'2020-12-25'@#中,我们需要将field2_value更改为field2_value_new,则具体的操作为使用正则替换把需要修改的字段值改成所需要的值,并将标记字符替换为空,如替换'field2_value'@!为'field2_value_new',得到第二文本序列'field1_val ue','field2_value_new','2020-12-25'。
212、将构造脚本片段和第二文本序列进行拼接,得到数据插入脚本。
根据生成测试的具体需求,对需要进行修改的数据值进行正则替换,具体地,所述正则替换指令可以为replace指令;根据所述数据项目名称查找出需要进行修改的数据值,根据预置的正则替换指令对需要修改的数据值替换为本次数据测试需要的目标数据,将前述步骤中构造出的脚本片段和所述第二文本序列进行拼接,得到数据插入脚本。
本发明实施例中,改善了进行测试时进行数据插入的自动性,提高了数据插入工作的效率。
请参阅图3,本发明实施例中数据插入脚本的自动构造方法的第三实施例包括:
301、获取数据插入脚本构造请求,提取数据插入脚本构造请求中需要进行脚本构造的数据项目名称;
302、根据数据项目名称进行脚本构造,得到构造脚本片段;
本实施例中步骤301和步骤302与前述实施例中步骤101和步骤102中内容基本相同,故在此不再赘述。
303、根据数据项目名称判断该数据项目是否要进行修改;
304、若是,则根据预置的封装规则对数据项目名称进行通用封装,得到封装字段;
本实施例中步骤303和步骤304与前述实施例中步骤203和步骤204中内容基本相同,故在此不再赘述。
305、在封装字段后增加标记字符,得到取值脚本字段模板;
若数据项目属于需要修改的数据项目,则根据预置的封装规则对所述数据项目名称进行通用封装,得到封装字段;其中所述通用封装与前述相同都是使用oracle中的通用数据封装操作进行具体的封装。并在所述封装字段后增加标记字符,得到取值脚本字段模板。其中,本步骤中所述的标记字符可以是预先指定的特殊字符,如“@”或“#”等。
306、获取预置的取值脚本前缀、取值脚本后缀模板和预置的测试数据表表名;
307、根据所述测试数据表表名和所述脚本后缀模板生成脚本后缀;
308、将所述脚本前缀、取值脚本字段模板和所述脚本后缀进行拼接,得到取值脚本;
本实施例中,所述的取值脚本前缀可以为select指令,所述取值脚本后缀模板可以为from指令,获取测试数据表表名和数据获取条件,将from指令和测试数据表表名以及数据获取条件进行组合,得到脚本后缀,将所述脚本前缀、第二封装字段名和所述脚本后缀进行拼接,得到取值脚本。
得到取值脚本后,调用execute immediate指令对测试数据表中进行数据取值,在一个具体的例子中,所述取出文本可以类似于:'field1_value','field2_value'@!,'2020-12-25'@#。
其中,所述execute immediate指令用于动态执行SQL语句和存储过程,所述SQL指结构化查询语言(Structured Query Language),是一种特殊目的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
309、调用取值脚本在预置的测试数据表中提取测试数据,并根据提取到的测试数据生成第一文本序列;
本实施例中步骤207与前述实施例中步骤104中内容基本相同,故在此不再赘述。
310、根据标记字符查找出第一文本序列中需要进行修改的封装字段;
311、提取封装字段的预设的目标修改值;
312、根据目标修改值对需要进行修改的封装字段中的字段值进行替换,得到修改后的封装字段;
本实施例中步骤310-步骤312与前述实施例中步骤208-步骤210中内容基本相同,故在此不再赘述。
313、将修改后的封装字段的标记字符替换为空,得到第二文本序列;
得到第一文本序列后,查找第一文本序列中是否包含有标记字符,若有,则可认为第一文本序列中具有需要进行修改的封装字段,若第一文本序列中具有需要进行修改的封装字段,则根据所述标记字符的集体位置,确定需要修改的封装字段。根据前述步骤中获取到的需要测试的业务点,提取所述封装字段的预设的目标修改值;并根据所述目标修改值对所述需要进行修改的封装字段中的字段值进行替换。
举具体例子进行说明,若前述得到的'field1_value','field2_value'@!,'2020-12-25'@#中,我们需要将field2_value更改为field2_value_new,则具体的操作为使用正则替换把需要修改的字段值改成所需要的值,并将标记字符替换为空。
得到第二文本序列后,获取各封装字段的字符类型,根据字符类型确定字符的目标格式;根据目标格式获取格式转换指令,基于格式转换指令对对应的第二文本序列进行替换,得到更新格式后的文本序列。
具体地,日期格式的字段取出的值是前面转换后的字符类型,需要正则替换成日期格式,生成的脚本才能正确运行,如替换'2020-12-25'为:to_date(‘2020-12-25’,‘yyyy-mm-dd’)。
314、将构造脚本片段和更新格式后的第二文本序列进行拼接,得到数据插入脚本。
前述步骤中构造出的脚本片段和和更新格式后第二文本序列的进行拼接,得到数据插入脚本。得到数据插入脚本后,响应于接收到的数据测试处理请求,通过数据测试处理请求对应的测试项目删除待测系统中已有的测试项目数据;提取预置的数据插入脚本,根据数据插入脚本向待测系统中插入存储数据;运行执行接口,执行待测试项目,得到执行结果;对执行结果进行数据检查,生成测试结果。
本发明实施例中,改善了进行测试时进行数据插入的自动性,提高了数据插入工作的效率。
上面对本发明实施例中数据插入脚本的自动构造方法进行了描述,下面对本发明实施例中数据插入脚本的自动构造装置进行描述,请参阅图4,本发明实施例中数据插入脚本的自动构造装置一个实施例包括:
获取模块401,用于获取数据插入脚本构造请求,提取所述数据插入脚本构造请求中需要进行脚本构造的数据项目名称;
脚本片段构造模块402,用于根据所述数据项目名称进行脚本构造,得到构造脚本片段;
取值脚本生成模块403,用于根据预置的取值脚本生成规则基于所述数据项目名称生成取值脚本;
数据提取模块404,用于调用所述取值脚本在预置的测试数据表中提取测试数据,并根据提取到的所述测试数据生成第一文本序列;
替换模块405,用于对所述第一文本序列中需要进行修改的数据值进行替换,得到第二文本序列;
拼接模块406,用于将所述构造脚本片段和所述第二文本序列进行拼接,得到数据插入脚本。
本发明实施例中,改善了进行测试时进行数据插入的自动性,提高了数据插入工作的效率。
请参阅图5,本发明实施例中数据插入脚本的自动构造装置的另一个实施例包括:
获取模块401,用于获取数据插入脚本构造请求,提取所述数据插入脚本构造请求中需要进行脚本构造的数据项目名称;
脚本片段构造模块402,用于根据所述数据项目名称进行脚本构造,得到构造脚本片段;
取值脚本生成模块403,用于根据预置的取值脚本生成规则基于所述数据项目名称生成取值脚本;
数据提取模块404,用于调用所述取值脚本在预置的测试数据表中提取测试数据,并根据提取到的所述测试数据生成第一文本序列;
替换模块405,用于对所述第一文本序列中需要进行修改的数据值进行替换,得到第二文本序列;
拼接模块406,用于将所述构造脚本片段和所述第二文本序列进行拼接,得到数据插入脚本。
在本申请的另一实施例中,所述取值脚本生成模块403包括:
判断单元4031,用于根据所述数据项目名称判断该数据项目是否要进行修改;
封装单元4032,用于若是,则根据预置的封装规则对所述数据项目名称进行通用封装,得到封装字段;
标记单元4033,用于在所述封装字段后增加标记字符,得到取值脚本字段模板;
构建单元4034,用于基于所述取值脚本字段模板构建取值脚本。
在本申请的另一实施例中,所述构建单元4034具体用于:
获取预置的取值脚本前缀、取值脚本后缀模板和预置的测试数据表表名;
根据所述测试数据表表名和所述脚本后缀模板生成脚本后缀;
将所述脚本前缀、取值脚本字段模板和所述脚本后缀进行拼接,得到取值脚本。
在本申请的另一实施例中,所述替换模块405包括:
查找单元4051,用于根据所述标记字符查找出所述第一文本序列中需要进行修改的封装字段;
提取单元4052,用于提取所述封装字段的预设的目标修改值;
修改单元4053,用于根据所述目标修改值对所述需要进行修改的封装字段中的字段值进行替换,得到修改后的封装字段;
替换单元4054,用于将所述修改后的封装字段的标记字符替换为空,得到第二文本序列。
在本申请的另一实施例中,所述数据插入脚本的自动构造装置还包括格式转换模块,所述格式转换模块包括:
目标格式确定单元,用于获取各封装字段的字符类型,根据所述字符类型确定字符的目标格式;
格式更改单元,用于根据所述目标格式获取格式转换指令,基于所述格式转换指令对对应的所述第二文本序列进行替换,得到更新格式后的文本序列。
在本申请的另一实施例中,所述数据插入脚本的自动构造装置还包括数据测试执行模块,所述数据测试执行模块具体用于:
响应于接收到的数据测试处理请求,通过所述数据测试处理请求对应的测试项目删除待测系统中已有的测试项目数据;
提取预置的数据插入脚本,根据所述数据插入脚本向所述待测系统中插入存储数据;
运行执行接口,执行所述待测试项目,得到执行结果;
对所述执行结果进行数据检查,生成测试结果。
本发明实施例中,改善了进行测试时进行数据插入的自动性,提高了数据插入工作的效率。
上面图4和图5从模块化功能实体的角度对本发明实施例中的数据插入脚本的自动构造装置进行详细描述,下面从硬件处理的角度对本发明实施例中数据插入脚本的自动构造设备进行详细描述。
图6是本发明实施例提供的一种数据插入脚本的自动构造设备的结构示意图,该数据插入脚本的自动构造设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据插入脚本的自动构造设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在数据插入脚本的自动构造设备600上执行存储介质630中的一系列指令操作。
数据插入脚本的自动构造设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作系统631,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图6示出的数据插入脚本的自动构造设备结构并不构成对数据插入脚本的自动构造设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例中所述的服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本发明还提供一种计算机设备,该计算机设备可以是能够执行上述实施例中所述的数据插入脚本的自动构造方法的任何一种设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述数据插入脚本的自动构造方法的步骤。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述数据插入脚本的自动构造方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据插入脚本的自动构造方法,其特征在于,所述数据插入脚本的自动构造方法包括:
获取数据插入脚本构造请求,提取所述数据插入脚本构造请求中需要进行脚本构造的数据项目名称;
根据所述数据项目名称进行脚本构造,得到构造脚本片段;
根据预置的取值脚本生成规则基于所述数据项目名称生成取值脚本;
调用所述取值脚本在预置的测试数据表中提取测试数据,并根据提取到的所述测试数据生成第一文本序列;
对所述第一文本序列中需要进行修改的数据值进行替换,得到第二文本序列;
将所述构造脚本片段和所述第二文本序列进行拼接,得到数据插入脚本。
2.根据权利要求1所述的数据插入脚本的自动构造方法,其特征在于,所述根据预置的取值脚本生成规则基于所述数据项目名称生成取值脚本包括:
根据所述数据项目名称判断该数据项目是否要进行修改;
若是,则根据预置的封装规则对所述数据项目名称进行通用封装,得到封装字段;
在所述封装字段后增加标记字符,得到取值脚本字段模板;
基于所述取值脚本字段模板构建取值脚本。
3.根据权利要求2所述的数据插入脚本的自动构造方法,其特征在于,所述基于所述取值脚本字段模板构建取值脚本包括:
获取预置的取值脚本前缀、取值脚本后缀模板和预置的测试数据表表名;
根据所述测试数据表表名和所述脚本后缀模板生成脚本后缀;
将所述脚本前缀、取值脚本字段模板和所述脚本后缀进行拼接,得到取值脚本。
4.根据权利要求2所述的数据插入脚本的自动构造方法,其特征在于,所述对所述第一文本序列中需要进行修改的数据值进行替换,得到第二文本序列包括:
根据所述标记字符查找出所述第一文本序列中需要进行修改的封装字段;
提取所述封装字段的预设的目标修改值;
根据所述目标修改值对所述需要进行修改的封装字段中的字段值进行替换,得到修改后的封装字段;
将所述修改后的封装字段的标记字符替换为空,得到第二文本序列。
5.根据权利要求4所述的数据插入脚本的自动构造方法,其特征在于,在将所述修改后的封装字段的标记字符替换为空,得到第二文本序列之后还包括:
获取各封装字段的字符类型,根据所述字符类型确定字符的目标格式;
根据所述目标格式获取格式转换指令,基于所述格式转换指令对对应的所述第二文本序列进行替换,得到更新格式后的文本序列。
6.根据权利要求1-5中任一项所述的数据插入脚本的自动构造方法,其特征在于,所述数据插入脚本的自动构造方法还包括:
响应于接收到的数据测试处理请求,通过所述数据测试处理请求对应的测试项目删除待测系统中已有的测试项目数据;
提取预置的数据插入脚本,根据所述数据插入脚本向所述待测系统中插入存储数据;
运行执行接口,执行所述待测试项目,得到执行结果;
对所述执行结果进行数据检查,生成测试结果。
7.一种数据插入脚本的自动构造装置,其特征在于,所述数据插入脚本的自动构造装置包括:
获取模块,用于获取数据插入脚本构造请求,提取所述数据插入脚本构造请求中需要进行脚本构造的数据项目名称;
脚本片段构造模块,用于根据所述数据项目名称进行脚本构造,得到构造脚本片段;
取值脚本生成模块,用于根据预置的取值脚本生成规则基于所述数据项目名称生成取值脚本;
数据提取模块,用于调用所述取值脚本在预置的测试数据表中提取测试数据,并根据提取到的所述测试数据生成第一文本序列;
替换模块,用于对所述第一文本序列中需要进行修改的数据值进行替换,得到第二文本序列;
拼接模块,用于将所述构造脚本片段和所述第二文本序列进行拼接,得到数据插入脚本。
8.根据权利要求7所述的数据插入脚本的自动构造装置,其特征在于,所述取值脚本生成模块包括:
判断单元,用于根据所述数据项目名称判断该数据项目是否要进行修改;
封装单元,用于若是,则根据预置的封装规则对所述数据项目名称进行通用封装,得到封装字段;
标记单元,用于在所述封装字段后增加标记字符,得到取值脚本字段模板;
构建单元,用于基于所述取值脚本字段模板构建取值脚本。
9.一种数据插入脚本的自动构造设备,其特征在于,所述数据插入脚本的自动构造设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据插入脚本的自动构造设备执行如权利要求1-6中任一项所述的数据插入脚本的自动构造方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-6中任一项所述数据插入脚本的自动构造方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111149034.3A CN113886233A (zh) | 2021-09-29 | 2021-09-29 | 数据插入脚本的自动构造方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111149034.3A CN113886233A (zh) | 2021-09-29 | 2021-09-29 | 数据插入脚本的自动构造方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113886233A true CN113886233A (zh) | 2022-01-04 |
Family
ID=79007943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111149034.3A Pending CN113886233A (zh) | 2021-09-29 | 2021-09-29 | 数据插入脚本的自动构造方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113886233A (zh) |
-
2021
- 2021-09-29 CN CN202111149034.3A patent/CN113886233A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108491199B (zh) | 一种自动生成接口的方法及终端 | |
CN102135938B (zh) | 一种软件产品测试方法及系统 | |
CN111367886A (zh) | 数据库中数据迁移的方法及装置 | |
CN113420537B (zh) | 电子表格数据处理方法、装置、设备及存储介质 | |
CN109032631B (zh) | 应用程序补丁包获取方法、装置、计算机设备及存储介质 | |
CN112306549A (zh) | 接口文档配置方法、装置、设备及存储介质 | |
CN113836038A (zh) | 测试数据构造方法、装置、设备及存储介质 | |
CN110007906B (zh) | 脚本文件的处理方法、装置和服务器 | |
CN115185550A (zh) | 服务部署方法、装置、计算机设备及存储介质 | |
CN113986880A (zh) | 业务系统的数据库适配方法、装置、设备及存储介质 | |
CN112612506A (zh) | 代码变更通知方法、装置、设备及存储介质 | |
CN111290996A (zh) | 文档格式转换方法、装置、设备及可读存储介质 | |
CN114661423A (zh) | 集群配置检测方法、装置、计算机设备及存储介质 | |
CN113887182A (zh) | 表格生成方法、装置、设备及存储介质 | |
CN114138243A (zh) | 基于开发平台的功能调用方法、装置、设备及存储介质 | |
CN117033249A (zh) | 一种测试用例生成方法、装置、计算机设备及存储介质 | |
CN113886233A (zh) | 数据插入脚本的自动构造方法、装置、设备及存储介质 | |
CN113849789A (zh) | 基于aop的权限校验方法、装置、设备及存储介质 | |
CN113656183A (zh) | 任务处理方法、装置、设备及存储介质 | |
CN111562907A (zh) | 自定义接口数据的转换方法与系统 | |
CN110737662A (zh) | 一种数据分析方法、装置、服务器及计算机存储介质 | |
CN111581184B (zh) | 基于数据库迁移的语义对比方法及装置 | |
CN115470127B (zh) | 页面兼容性处理方法、装置、计算机设备和存储介质 | |
CN115048133A (zh) | 规则引擎的规则更新方法、装置、设备及存储介质 | |
CN115017037A (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 |