CN113760734A - A data preparation method and device, device, and storage medium - Google Patents
A data preparation method and device, device, and storage medium Download PDFInfo
- Publication number
- CN113760734A CN113760734A CN202110145197.8A CN202110145197A CN113760734A CN 113760734 A CN113760734 A CN 113760734A CN 202110145197 A CN202110145197 A CN 202110145197A CN 113760734 A CN113760734 A CN 113760734A
- Authority
- CN
- China
- Prior art keywords
- statement
- data
- target
- test
- business
- 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种数据准备方法,所述方法包括:获取待测对象处理业务请求的日志数据;抽取所述日志数据中的业务执行语句;对所述业务执行语句进行反向转换,得到目标执行语句;所述目标执行语句用于对目标数据库中的数据进行更新,以对所述待测对象进行测试。另外,本申请实施例还公开了一种数据准备装置、设备及存储介质。
The embodiment of the present application discloses a data preparation method, the method includes: acquiring log data of an object to be tested processing a service request; extracting a service execution statement in the log data; performing reverse conversion on the service execution statement, The target execution statement is obtained; the target execution statement is used to update the data in the target database to test the object to be tested. In addition, the embodiments of the present application also disclose a data preparation apparatus, equipment, and storage medium.
Description
技术领域technical field
本申请实施例涉及计算机技术领域,涉及但不限于一种数据准备方法及装置、设备、存储介质。The embodiments of the present application relate to the field of computer technologies, and relate to, but are not limited to, a data preparation method, apparatus, device, and storage medium.
背景技术Background technique
随着软件系统规模越来越大,接口自动化测试被越来越多的公司所重视。主要是因为接口自动化能够解放人力,提升测试效率、降低测试成本。With the increasing scale of software systems, interface automation testing is valued by more and more companies. Mainly because interface automation can liberate manpower, improve test efficiency, and reduce test costs.
目前,接口自动化测试主要用于测试的回归阶段,由模块的测试人员来进行触发。而接口自动化测试的大部分工作都花费在前期的准备工作上,尤其是花费在数据准备上的时间,需要人为的来实现准备数据的编写,导致测试周期长,且工作效率低。At present, the interface automation test is mainly used in the regression phase of the test, and is triggered by the tester of the module. However, most of the work of interface automation testing is spent on the preliminary preparation work, especially the time spent on data preparation, which requires manual preparation of data preparation, resulting in long test cycles and low work efficiency.
发明内容SUMMARY OF THE INVENTION
有鉴于此,本申请实施例为解决相关技术中存在的至少一个问题而提供一种数据准备方法及装置、设备、存储介质,能够减少用户在自动测试过程中的参与程度,提高工作效率。In view of this, the embodiments of the present application provide a data preparation method, apparatus, device, and storage medium to solve at least one problem in the related art, which can reduce the user's participation in the automatic test process and improve work efficiency.
本申请实施例的技术方案是这样实现的:The technical solutions of the embodiments of the present application are implemented as follows:
第一方面,本申请实施例提供一种数据准备方法,所述方法包括:In a first aspect, an embodiment of the present application provides a data preparation method, the method includes:
获取待测对象处理业务请求的日志数据;Obtain the log data of the object under test processing business requests;
抽取所述日志数据中的业务执行语句;extracting business execution statements in the log data;
对所述业务执行语句进行反向转换,得到目标执行语句;所述目标执行语句用于对目标数据库中的数据进行更新,以对所述待测对象进行测试。。The business execution statement is reversely converted to obtain the target execution statement; the target execution statement is used to update the data in the target database to test the object to be tested. .
第二方面,本申请实施例提供一种数据准备装置,所述装置包括:In a second aspect, an embodiment of the present application provides a data preparation device, and the device includes:
获取单元,用于获取待测对象处理业务请求的日志数据;The acquisition unit is used to acquire the log data of the object to be tested processing the business request;
抽取单元,用于抽取所述日志数据中的业务执行语句;an extraction unit for extracting business execution statements in the log data;
转换单元,用于对所述业务执行语句进行反向转换,得到目标执行语句;所述目标执行语句用于对目标数据库中的数据进行更新,以对所述待测对象进行测试。The conversion unit is used to reversely convert the service execution statement to obtain a target execution statement; the target execution statement is used to update the data in the target database to test the object to be tested.
第三方面,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据准备方法中的步骤。In a third aspect, an embodiment of the present application provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor implements the above data preparation method when executing the computer program steps in .
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述数据准备方法中的步骤。In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, implements the steps in the above data preparation method.
本申请实施例中,提供了一种数据准备方法及装置、设备、存储介质,获取待测对象处理业务请求的日志数据;抽取所述日志数据中的业务执行语句;对所述业务执行语句进行反向转换,得到目标执行语句;所述目标执行语句用于对目标数据库中的数据进行更新,以对所述待测对象进行测试,从而通过测试录制获取与待测试对象相关的业务执行语句,并将业务执行语句自动转换成自动生成数据准备的数据准备语句,降低编写用例的学习成本与编写成本,节省人力的同时,提高数据准备效率。In the embodiments of the present application, a data preparation method, device, device, and storage medium are provided, which are used to obtain log data for processing a service request by an object under test; extract service execution statements in the log data; Reverse conversion to obtain the target execution statement; the target execution statement is used to update the data in the target database to test the object to be tested, thereby obtaining the business execution statement related to the object to be tested through test recording, And automatically convert business execution statements into data preparation statements that automatically generate data preparation, reduce the learning cost and writing cost of writing use cases, save manpower, and improve data preparation efficiency.
附图说明Description of drawings
图1为本申请实施例测试系统的可选地架构示意图;FIG. 1 is a schematic diagram of an optional architecture of a test system according to an embodiment of the present application;
图2为本申请实施例测试系统的可选地架构示意图;FIG. 2 is an optional schematic structural diagram of a test system according to an embodiment of the present application;
图3为本申请实施例提供的数据准备方法的可选地流程示意图;3 is an optional schematic flowchart of a data preparation method provided by an embodiment of the present application;
图4为本申请实施例提供的测试服务器的可选地结构示意图;FIG. 4 is an optional schematic structural diagram of a test server provided by an embodiment of the present application;
图5为本申请实施例提供的测试服务器的可选地结构示意图;FIG. 5 is an optional schematic structural diagram of a test server provided by an embodiment of the present application;
图6为本申请实施例提供的测试服务器的可选地结构示意图;FIG. 6 is an optional schematic structural diagram of a test server provided by an embodiment of the present application;
图7为本申请实施例提供的数据准备方法的可选地流程示意图;FIG. 7 is an optional schematic flowchart of a data preparation method provided by an embodiment of the present application;
图8为本申请实施例提供的数据准备方法的可选地流程示意图;FIG. 8 is an optional schematic flowchart of a data preparation method provided by an embodiment of the present application;
图9为本申请实施例提供的数据准备装置的可选地结构示意图;FIG. 9 is an optional schematic structural diagram of a data preparation apparatus provided by an embodiment of the present application;
图10为本申请实施例提供的电子设备的可选地结构示意图。FIG. 10 is an optional schematic structural diagram of an electronic device provided by an embodiment of the present application.
具体实施方式Detailed ways
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。In order to make the purposes, technical solutions and advantages of the embodiments of the present application more clear, the specific technical solutions of the application will be described in further detail below with reference to the accompanying drawings in the embodiments of the present application. The following examples are used to illustrate the present application, but are not intended to limit the scope of the present application.
本申请实施例可提供为数据准备方法及装置、设备和存储介质。实际应用中,数据准备方法可由数据准备装置实现,数据准备装置中的各功能实体可以由计算机设备(如终端设备或服务器)的硬件资源,如处理器等计算资源、通信资源(如用于支持实现光缆、蜂窝等各种方式通信)协同实现。The embodiments of the present application may provide a data preparation method, apparatus, device, and storage medium. In practical applications, the data preparation method can be implemented by a data preparation device, and each functional entity in the data preparation device can be implemented by hardware resources of computer equipment (such as terminal equipment or servers), such as computing resources such as processors, and communication resources (such as for supporting Realize communication in various ways such as optical cable, cellular, etc.) collaborative realization.
本申请实施例的数据准备方法可应用于图1所示的测试系统,测试系统中的数据准备设备能够获取待测对象的日志数据,并对日志数据进行处理,得到目标执行语句;所述目标执行语句用于对目标数据库中的数据进行更新,以对所述待测对象进行测试。The data preparation method of the embodiment of the present application can be applied to the test system shown in FIG. 1 . The data preparation device in the test system can obtain log data of the object to be tested, process the log data, and obtain a target execution statement; the target The execution statement is used to update the data in the target database to test the object to be tested.
在一示例中,如图1所示,该测试系统包括测试端10和服务端20;其中,测试端10中部署有待测对象,且测试端部署有日志收集插件,能够收集待测设备的日志数据,并将收集的日志数据发送至服务端20。服务端20作为测试端的数据准备端,生成对测试端进行测试的准备数据。其中,待测对象可为测试端中的设备、系统、应用程序或接口等。In an example, as shown in FIG. 1, the test system includes a
在一示例中,如图1所示,测试端10和服务端20通过网络30进行交互。在一示例中,测试端10和服务端20集成在同一物理实体中。In an example, as shown in FIG. 1 , the
服务端20可实施为实现数据准备方法的数据准备设备。服务端20获取待测对象处理业务请求的日志数据;抽取所述日志数据中的业务执行语句;对所述业务执行语句进行反向转换,得到目标执行语句;所述目标执行语句用于对目标数据库中的数据进行更新,以对所述待测对象进行测试。The
在一示例中,服务端20自动触发业务请求,并将业务请求发送至测试端10。测试端10接收到业务请求后,指示待测对象执行业务请求,以执行业务请求对应的业务功能。In an example, the
在一示例中,如图2所示,测试中还包括客户端40,且客户端40基于用户的操作触发业务请求,并将业务请求发送至测试端20。测试端20接收到业务请求的情况下,指示待测对象执行业务请求,以执行业务请求对应的业务功能。In an example, as shown in FIG. 2 , a
在一示例中,客户端40可抓取业务请求的特征信息,并将所述特征信息发送至服务端20,所述特征信息用于生成对所述待测试对象进行测试的测试用例。In an example, the
在实际应用中,客户端40、测试端10和服务端20可实施在同一物理实体上,也可分布在不同的物理实体上。In practical applications, the
结合上述测试系统,本实施例提出一种数据准备方法,能够节省人力的同时,提高数据准备效率。Combined with the above-mentioned test system, this embodiment provides a data preparation method, which can save manpower and improve data preparation efficiency.
下面,结合图1或图2所示的测试系统,对本申请实施例提供的数据准备方法、装置、设备和存储介质的各实施例进行说明。Below, with reference to the test system shown in FIG. 1 or FIG. 2 , various embodiments of the data preparation method, apparatus, device, and storage medium provided by the embodiments of the present application will be described.
本实施例提供一种数据准备方法,该方法应用于数据准备设备,数据准备设备可为服务端,其中,服务端可为计算机设备或计算机设备组成的分布式网络。该方法所实现的功能可以通过计算机设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该计算机设备至少包括处理器和存储介质。This embodiment provides a data preparation method, which is applied to a data preparation device, and the data preparation device may be a server, where the server may be a computer device or a distributed network composed of computer devices. The functions implemented by the method can be implemented by a processor in a computer device calling program codes, and of course the program codes can be stored in a computer storage medium. It can be seen that the computer device includes at least a processor and a storage medium.
图3为本申请实施例的一种数据准备方法的实现流程示意图,如图3所示,该方法可以包括如下步骤:FIG. 3 is a schematic flowchart of the implementation of a data preparation method according to an embodiment of the present application. As shown in FIG. 3 , the method may include the following steps:
S301、获取待测对象处理业务请求的日志数据;S301. Obtain log data of the object to be tested processing the business request;
测试端接收服务端或客户端的业务请求,通过待测对象对业务请求进行处理,以执行业务请求对应的业务功能。其中,待测对象可为测试端中的应用程序、硬件元件、软件接口等。业务请求包括查询请求、搜索请求、功能开始请求、访问请求等。The test terminal receives the service request from the server or client, and processes the service request through the object to be tested, so as to execute the service function corresponding to the service request. The object to be tested may be an application program, a hardware element, a software interface, etc. in the test terminal. Service requests include query requests, search requests, function start requests, access requests, and the like.
这里,测试端部署有日志收集插件,日志收集插件从指定位置读取日志文件,读取测试端中待测对象处理业务请求的日志数据。日志收集插件将读取的日志数据发送至服务端。Here, a log collection plug-in is deployed on the test side. The log collection plug-in reads log files from a specified location and reads the log data of the object to be tested in the test side to process business requests. The log collection plugin sends the read log data to the server.
在实际应用中,在将日志数据发送至服务端的情况下,将测试端设置为调试模式,在调试模式下,将日志收集插件读取的日志数据打印出来。In practical applications, when the log data is sent to the server, the test end is set to the debug mode, and in the debug mode, the log data read by the log collection plug-in is printed out.
在一些实施例中,在测试端和服务端位于同一物理实体的情况下,测试端将日志数据以日志消息的形式发送至消息队列,服务端从消息队列中读取日志消息,从而接收日志数据。其中,消息队列可为分布式消息队列,用于日志数据的接收、存储和转发。In some embodiments, when the test end and the server end are located in the same physical entity, the test end sends log data to the message queue in the form of log messages, and the server end reads the log messages from the message queue, thereby receiving the log data . The message queue may be a distributed message queue for receiving, storing and forwarding log data.
S302、抽取所述日志数据中的业务执行语句;S302, extracting business execution statements in the log data;
服务端接收到日志数据后,对日志数据进行解析,确定待测试对象处理业务请求时所使用的业务执行语句。这里,目标执行语句可为结构化查询语言(Structured QueryLanguage,SQL)语句。After receiving the log data, the server parses the log data to determine the business execution statement used by the object to be tested when processing the business request. Here, the target execution statement may be a Structured Query Language (SQL) statement.
在一示例中,当业务请求为查询请求时,SQL语句可为:select student.sname,course.cname from student,course where student.id=course.student_id limit100,该语句指示从表student(学生表)和表course(课程表)中查询出student.sname,course.cname(学生选修的课程数据)。In an example, when the business request is a query request, the SQL statement may be: select student.sname,course.cname from student,course where student.id=course.student_id limit100, the statement indicates the student from the table student (student table) And table course (course schedule) to query student.sname, course.cname (student elective course data).
本申请实施例中,从日志数据中抽取SQL语句的抽取方式可包括以下之一:In this embodiment of the present application, an extraction method for extracting SQL statements from log data may include one of the following:
抽取方式一、通过设定正则表达式对日志数据进行正则匹配;Extraction method 1. Regularly match log data by setting regular expressions;
抽取方式二、通过调用的抽取程序对日志数据进行处理。Extraction method 2: Process the log data through the called extraction program.
当抽取方式为抽取方式二,抽取程序采用的语言可为面向对象编程语言Java。When the extraction method is the extraction method 2, the language used in the extraction program may be the object-oriented programming language Java.
本申请实施例中,对从日志数据中抽取SQL语句的抽取方式不进行任何限定。In this embodiment of the present application, the extraction method for extracting SQL statements from log data is not limited in any way.
S303、对所述业务执行语句进行反向转换,得到目标执行语句;S303, performing reverse conversion on the business execution statement to obtain a target execution statement;
服务端确定业务执行语句后,基于转换策略对业务执行语句进行反向转换。其中,反向策略中包括有反向转换规则,例如:将插入语句转换为删除语句;将查询语句转换为插入语句。After the server determines the business execution statement, it reversely converts the business execution statement based on the conversion strategy. The reverse strategy includes reverse transformation rules, such as: converting an insert statement into a delete statement; converting a query statement into an insert statement.
在本申请实施例中,一个业务执行语句可转换为一个或多个目标执行语句。In this embodiment of the present application, one service execution statement may be converted into one or more target execution statements.
在一示例中,直接对一个业务执行语句进行反向转换,转换为对应的一个目标执行语句。In an example, a business execution statement is directly converted into a corresponding target execution statement.
在一示例中,将业务执行语句拆分为多个子查询语句,将各子查询语句转换为对应的目标业务语句,从而将一个业务执行语句反向转换为多个目标执行语句。In an example, the business execution statement is split into multiple sub-query statements, and each sub-query statement is converted into a corresponding target business statement, so that one business execution statement is reversely converted into multiple target execution statements.
以业务执行语句为:select a.a,b.b from a,b where a.id=b.id limit 100为例,反向转换后的目标执行语句包括:Taking the business execution statement as: select a.a,b.b from a,b where a.id=b.id limit 100 as an example, the target execution statement after reverse conversion includes:
目标执行语句1:insert into a values(x,x,x);Target execution statement 1: insert into a values(x,x,x);
目标执行语句2:insert into b values(x,x,x)。The target executes statement 2: insert into b values(x,x,x).
其中,目标执行语句中数据可称为目标数据,目标数据可通过目标执行语句中的目标语句结构从测试系统的数据库中获取,也可通过用户的输入操作获得。The data in the target execution statement can be called target data, and the target data can be obtained from the database of the test system through the target sentence structure in the target execution statement, or obtained through the user's input operation.
目标语句结构为目标执行语句中指示执行方式的语句。以上述目标执行语句1为例,目标语句结构为insert。以上述目标执行语句2为例,目标语句结构为insert。The target statement structure is the statement in the target execution statement that indicates the execution mode. Taking the above target execution statement 1 as an example, the target statement structure is insert. Taking the above target execution statement 2 as an example, the target statement structure is insert.
这里,所述目标执行语句用于对目标数据库中的数据进行更新,以对所述待测对象进行测试。Here, the target execution statement is used to update the data in the target database to test the object to be tested.
服务端确定目标执行语句后,可直接通过目标执行语句进行针对待测试对象的测试用例的生成。After the server determines the target execution statement, the test case for the object to be tested can be generated directly through the target execution statement.
在实际应用中,服务端可连接有执行测试功能的测试平台,服务端将确定的目标执行语句发送至测试平台,测试平台通过目标执行语句生成针对待测试对象的测试用例。In practical applications, the server can be connected to a test platform that executes the test function, the server sends the determined target execution statement to the test platform, and the test platform generates a test case for the object to be tested through the target execution statement.
这里,针对待测对象的测试用例将目标执行语句作为数据准备部分,以执行测试用例时,对数据库中的数据进行更新,将更新后的数据作为对待测对象进行测试的测试数据。Here, the target execution statement is used as the data preparation part for the test case of the object to be tested, so that when the test case is executed, the data in the database is updated, and the updated data is used as the test data for testing the object to be tested.
在一些实施例中,测试端、服务端和测试平台集成一测试服务器中,测试服务器的结构可如图4所示,包括:测试端401、服务端402和测试平台403,其中,In some embodiments, the test terminal, the server terminal, and the test platform are integrated into a test server, and the structure of the test server may be as shown in FIG. 4, including: a
测试端401接收并执行业务请求,测试平台中部署的日志收集插件收集日志数据,并将收集的日志数据发送至服务端402。服务端402接收日志数据,所述日志数据进行解析,抽取所述日志数据中的业务执行语句;并对所述业务执行语句进行反向转换,得到目标执行语句,将得到的目标执行语句发送至测试平台403。测试平台通过目标执行语句生成对待测试对象进行测试的测试用例,这里,测试平台403通过目标执行语句生成测试用例中的数据准备,以通过数据准备对目标数据库中的数据进行更新,得到对所述待测对象进行测试时使用的测试数据。The
在一些实施例中,测试端401和服务端402之间设置有消息队列,测试端401将日志数据发送至消息队列,服务端402从消息队列中读取日志数据。In some embodiments, a message queue is set between the
本申请实施例提供的数据准备方法可用于自动化接口测试等测试场景。本申请实施例对所应用的测试场景不进行任何的限定。The data preparation method provided in the embodiment of the present application can be used in test scenarios such as automated interface testing. The embodiments of the present application do not impose any limitations on the applied test scenarios.
本申请实施例中,获取待测对象处理业务请求的日志数据;抽取所述日志数据中的业务执行语句;对所述业务执行语句进行反向转换,得到目标执行语句;所述目标执行语句用于对目标数据库中的数据进行更新,以对所述待测对象进行测试,从而通过测试录制获取与待测试对象相关的业务执行语句,并将业务执行语句自动转换成自动生成数据准备的数据准备语句,降低编写用例的学习成本与编写成本,节省人力的同时,提高数据准备效率。In the embodiment of the present application, log data for processing a service request by an object to be tested is obtained; business execution statements in the log data are extracted; the business execution statements are reversely converted to obtain target execution statements; the target execution statements are For updating the data in the target database, to test the object to be tested, thereby obtaining business execution statements related to the object to be tested through test recording, and automatically converting the business execution statements into data preparation for automatically generating data preparation Statements, reduce the learning cost and writing cost of writing use cases, save manpower, and improve the efficiency of data preparation.
在一些实施例中,S302的实施包括:In some embodiments, the implementation of S302 includes:
S3021、获取设定的正则表达式;S3021. Obtain the set regular expression;
S3022、通过所述正则表达式对所述日志数据进行正则匹配,提取所述日志数据中的业务执行语句。S3022. Perform regular matching on the log data by using the regular expression, and extract business execution statements in the log data.
正则表达式为通过字符的组成一个规则字符串,以表达对日志数据的过滤逻辑A regular expression is a regular string composed of characters to express the filtering logic of log data
在一示例中,正则表达式包括:select.*from.*$、update.*set.*$、insertinto.*$以及delete from.*$。其中,“.”用于匹配除换行符“\n”和回车符"\r"之外的任何单个字符;“*”用于匹配前面的子表达式任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”;“$”用于匹配输入行尾。In one example, regular expressions include: select.*from.*$, update.*set.*$, insertinto.*$, and delete from.*$. Among them, "." is used to match any single character except newline "\n" and carriage return "\r"; "*" is used to match the preceding subexpression any number of times. For example, zo* matches "z" as well as "zo" and "zoo"; "$" is used to match the end of the input line.
在一些实施例中,S303的实施包括:In some embodiments, the implementation of S303 includes:
S3031、提取所述业务执行语句中的子查询语句和表标识。S3031. Extract the sub-query statement and table identifier in the service execution statement.
S3032、根据所述子查询语句和所述表标识,确定所述目标执行语句。S3032. Determine the target execution statement according to the sub-query statement and the table identifier.
以业务执行语句为select a.a,b.b from a,b where a.id=b.id limit 100为例,业务执行语句中的子查询语句包括:Taking the business execution statement as select a.a,b.b from a,b where a.id=b.id limit 100 as an example, the sub-queries in the business execution statement include:
子查询语句1:Select a.*from a,b where a.id=b.id limit 0,100;Subquery 1: Select a.*from a,b where a.id=b.id limit 0,100;
子查询语句2:Select b.*from a,b where a.id=b.id limit 0,100;Subquery 2: Select b.*from a,b where a.id=b.id limit 0,100;
其中,子查询语句1对应的表标识为a,子查询语句2对应的表标识为b。The identifier of the table corresponding to the sub-query statement 1 is a, and the identifier of the table corresponding to the sub-query statement 2 is b.
基于子查询语句1和对应的表标识得到的目标执行语句为目标执行语句1:insertinto a values(x,x,x),基于子查询语句2和对应的表标识得到的目标执行语句为目标执行语句2:insert into b values(x,x,x)。The target execution statement obtained based on the subquery statement 1 and the corresponding table identifier is the target execution statement 1: insertinto a values(x,x,x), and the target execution statement obtained based on the subquery statement 2 and the corresponding table identifier is the target execution statement Statement 2: insert into b values(x,x,x).
本申请实施例中的子查询语句可包括:查询语句:select语句,插入语句:insert语句,删除语句:delete语句,编辑语句:update语句等。本申请实施例对子查询语句的语句类型不进行任何限定。The sub-query statement in the embodiment of the present application may include: query statement: select statement, insert statement: insert statement, delete statement: delete statement, edit statement: update statement, and the like. The embodiment of the present application does not impose any limitation on the statement type of the sub-query statement.
在一些实施例中,S3031的实施包括:In some embodiments, the implementation of S3031 includes:
将所述业务执行语句,解析为包括至少一个节点的抽象语法树;所述抽象语法树的节点能够被访问;遍历所述抽象语法树的各节点,确定所述节点对应的子查询语句和表标识。Parse the business execution statement into an abstract syntax tree including at least one node; the nodes of the abstract syntax tree can be accessed; traverse each node of the abstract syntax tree, and determine the subquery statement and table corresponding to the node logo.
以业务执行语句为SQL语句为例,服务端在对业务执行语句进行拆分时,通过SQL解析器对SQL语句进行抽象,抽象为一颗语法树(AST),AST节点都支持访问(Visitor)模式,服务端中可根据自定义的遍历逻辑,对语法树中的节点进行遍历,当服务端遇到不同的节点,可执行对应的处理。当服务端遍历完整棵语法树,就可以解析出SQL语句中所有的子查询语句。Taking the business execution statement as an SQL statement as an example, when the server splits the business execution statement, the SQL parser abstracts the SQL statement into a syntax tree (AST), and all AST nodes support access (Visitor) Mode, the server can traverse the nodes in the syntax tree according to the user-defined traversal logic. When the server encounters different nodes, it can perform corresponding processing. When the server traverses the complete syntax tree, it can parse out all the subqueries in the SQL statement.
在一些实施例中,S3032的实施包括:对所述子查询语句进行转换,得到目标语句结构;将所述子查询语句和对应的表标识进行重构,得到目标数据;将所述目标语句结构和所述目标数据进行组装,得到所述目标执行语句。In some embodiments, the implementation of S3032 includes: converting the sub-query statement to obtain a target statement structure; reconstructing the sub-query statement and the corresponding table identifier to obtain target data; converting the target statement structure Assemble with the target data to obtain the target execution statement.
服务端通过设定的转换规则对子查询语句进行转换,得到目标语句结构。在一示例中,转换规则包括:The server converts the sub-query statement through the set conversion rules to obtain the target statement structure. In one example, the transformation rules include:
规则一、将select语句转换成insert语句;Rule 1. Convert the select statement into an insert statement;
规则二、将insert语句转换成delete语句;Rule 2: Convert the insert statement into a delete statement;
规则三、将update语句转换成insert语句;Rule 3: Convert the update statement into an insert statement;
规则四、将delete语句转换成insert语句。Rule 4: Convert the delete statement into an insert statement.
这里,服务端对子查询语句和各子查询语句对应的表标识进行重构,得到用于获取目标数据的语句,并通过获取目标数据的语句从连接的目标数据库中获取目标数据。Here, the server reconstructs the sub-query statement and the table identifier corresponding to each sub-query statement, obtains the statement for acquiring the target data, and acquires the target data from the connected target database through the statement for acquiring the target data.
本申请实施例中,数据的构造过程是逆向的。在一示例中,测试目的为:在页面上查询用户a的信息,数据库里应该有a的信息,则在测试环境调用获取用户a信息的接口,日志数据中会打印相应的select语句,比如是select*from user where name=a;测试环境是有a的信息的。那么就可以把日志中的语句转换成insert语句,作为数据准备所需的sql,在自动化环境进行数据插入,准备好所需查询a的数据。在一示例中,测试目的为:编辑学生数据,数据库里应该存在学生数据,则在测试环境调用编辑学生数据的接口,日志数据中会打印相应的update语句,那么就可以把日志数据中的update语句转换成insert语句,作为数据准备所需的sql,在自动化环境进行数据查询,准备好所需的学生数据。In this embodiment of the present application, the data construction process is reversed. In an example, the purpose of the test is: to query the information of user a on the page, there should be information of a in the database, then call the interface for obtaining the information of user a in the test environment, and the corresponding select statement will be printed in the log data, such as select*from user where name=a; the test environment has the information of a. Then you can convert the statement in the log into an insert statement as the SQL required for data preparation, insert data in the automated environment, and prepare the data for query a. In an example, the purpose of the test is to edit student data, and there should be student data in the database, then the interface for editing student data is called in the test environment, and the corresponding update statement will be printed in the log data, then the update in the log data can be changed. The statement is converted into an insert statement, which is used as the SQL required for data preparation, performs data query in an automated environment, and prepares the required student data.
在一些实施例中,在S3031之后,所述方法还包括:生成数据清空命令;将所述数据清空命令和所述表标识进行组装,得到数据清空语句;所述数据清空语句用于完成对所述待测对象的测试后,对所述表标识对应的表中的数据进行清除。In some embodiments, after S3031, the method further includes: generating a data clearing command; assembling the data clearing command and the table identifier to obtain a data clearing statement; the data clearing statement is used to complete the data clearing statement. After the test of the object to be tested, the data in the table corresponding to the table identifier is cleared.
这里,清空命令可为truncate语句。Here, the flush command may be a truncate statement.
在一些实施例中,获取所述待测对象处理所述业务请求的特征信息;所述特征信息用于生成对所述待测试对象进行测试的测试用例。In some embodiments, characteristic information of the object to be tested processing the service request is acquired; the characteristic information is used to generate a test case for testing the object to be tested.
其中,特征信息包括以下信息至少之一:请求头、传参、返回值等信息。Wherein, the feature information includes at least one of the following information: request header, parameter transfer, return value and other information.
本申请实施例中,服务端将特征信息发送至生成测试用例的测试平台,以作为测试用例的用例实体的参数。In the embodiment of the present application, the server sends the feature information to the test platform that generates the test case, as a parameter of the use case entity of the test case.
在实际应用中,客户端基于用户对浏览器的操作生成业务请求,此时,客户端从浏览器中抓取特征信息,并将特征信息发送至服务端。In practical applications, the client generates a service request based on the user's operation on the browser. At this time, the client fetches feature information from the browser and sends the feature information to the server.
下面,以接口测试的场景为例,对本申请实施例提供的数据准备方法进行进一步说明。In the following, the data preparation method provided by the embodiment of the present application is further described by taking an interface test scenario as an example.
接口测试是对系统或组件之间的接口进行测试,主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。校验接口的数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。其中接口协议分为HTTP、WebService、Dubbo、Thrift、Socket等类型,测试类型又主要分为功能测试,性能测试,稳定性测试,安全性测试等。Interface testing is to test the interface between systems or components, and is mainly used to detect the interaction points between external systems and systems and between internal subsystems. Check the data exchange, transfer and control management process of the interface, as well as the mutual logical dependencies. The interface protocols are divided into HTTP, WebService, Dubbo, Thrift, Socket and other types, and the test types are mainly divided into functional test, performance test, stability test, security test, etc.
接口测试的流程包括:需求分析、用例设计、脚本开发、测试执行和结果分析。其中,在用例设备包括三个部分:数据准备(setup),用例实体和数据销毁(teardown),数据准备包括测试涉及的表中插入所需的数据或者清除已有的数据的逻辑,用例实体包括:请求路径,请求参数,预期结果等内容;数据销毁包括对测试痕迹进行清理的逻辑,是将测试过程中对数据的修改进行还原。数据准备和数据销毁的编写占整个用例编写工作量的60%以上。因为程序的功能就是处理数据,一个接口往往会从数据某一个阶段开始处理的,测试这个接口前就必须准备好它要处理的数据,而数据又有可能依赖其他的数据,这就提高了准备数据的复杂度与难度。The process of interface testing includes: requirement analysis, use case design, script development, test execution and result analysis. Among them, the use case device includes three parts: data preparation (setup), use case entity and data destruction (teardown). : request path, request parameters, expected results, etc.; data destruction includes the logic of cleaning up test traces, which is to restore the modification of data during the test process. The writing of data preparation and data destruction accounts for more than 60% of the entire use case writing workload. Because the function of the program is to process data, an interface often starts processing from a certain stage of the data. Before testing this interface, the data to be processed must be prepared, and the data may depend on other data, which improves the preparation. Data complexity and difficulty.
相关技术中,在数据准备阶段,数据的准备方案包括:In the related art, in the data preparation stage, the data preparation scheme includes:
方案一、基于图形用户界面(Graphical User Interface,GUI)操作生成数据。Solution 1: Generate data based on a Graphical User Interface (Graphical User Interface, GUI) operation.
方案一中,待测API有GUI的基础上,通过GUI的操作,到系统中手动执行业务流程生成数据。In Scheme 1, the API to be tested has a GUI, and through the GUI operation, the data is generated by manually executing the business process in the system.
方案二、基于应用程序接口(Application Programming Interface,API)的调用生成数据。The second solution is to generate data based on the invocation of the Application Programming Interface (API).
方案二中,直接调用API来进行数据准备,如果待测接口所需要实体为多个,就需要调用多个实体的新增API。In the second solution, the API is directly called for data preparation. If there are multiple entities required by the interface to be tested, the new APIs of multiple entities need to be called.
方案三、基于数据库操作生成数据。Option 3: Generate data based on database operations.
方案三中,通过执行相应的SQL语句,将待测接口需要创建的数据,直接插入到系统数据库中。In the third solution, the data to be created by the interface to be tested is directly inserted into the system database by executing the corresponding SQL statement.
方案四、基于第三方库自建测试数据。Option 4: Self-built test data based on a third-party library.
方案四中,直接编写代码封装成函数,以通过封装的函数生成测试数据。In scheme 4, the code is directly written and encapsulated into a function to generate test data through the encapsulated function.
但上述测试数据生成方案均存在技术缺陷:However, the above test data generation schemes all have technical defects:
对于方案一,需要人工手动创建在业务系统创建测试数据,创建的效率低下,而且如果待测接口是删除接口或编辑接口,构造的测试数据不适用于反复使用,这种方案准备的测试数据只适用于测试查询接口时使用。For scheme 1, it is necessary to manually create test data in the business system, which is inefficient. Moreover, if the interface to be tested is to delete or edit the interface, the constructed test data is not suitable for repeated use. The test data prepared in this scheme is only It is suitable for use when testing the query interface.
对于方案二,首先,不是所有的实体都有API,因此,不适用于所有的接口的测试;其次,当业务复杂时,需要调用多个API,复杂度高,且当需要大量测试数据时,调用API效率低下,使得数据准备的效率低下。For solution 2, firstly, not all entities have APIs, so it is not suitable for testing all interfaces; secondly, when the business is complex, multiple APIs need to be called, and the complexity is high, and when a large amount of test data is required, Calling the API is inefficient, making data preparation inefficient.
对于方案三,通过对数据库的操作生成测试数据时,对测试人员要求较高,需要其对业务功能与数据库表的关系十分了解,以直接编写SQL语句。且当一个业务涉及到多张数据库表时,容易遗漏SQL,从而造成测试数据缺失。For scheme three, when generating test data by operating on the database, the testers are required to have a high understanding of the relationship between business functions and database tables, so that they can directly write SQL statements. And when a business involves multiple database tables, it is easy to miss SQL, resulting in missing test data.
对于方案四,需要手动编写代码,工作量大,耗费人力,延长测试周期。For scheme 4, it is necessary to manually write code, which is labor-intensive, labor-intensive, and prolongs the test cycle.
因此,相关技术中的数据准备方案用户的参与程度高,且需要用户对系统业务有较高的先验知识,清楚自动化测试接口与数据库表的关系,这就使得自动化测试用例的编写面临着效率低,经验成本高等问题。Therefore, the data preparation scheme in the related art has a high degree of user participation, and requires users to have a high prior knowledge of system business and to know the relationship between the automated test interface and database tables, which makes the writing of automated test cases face efficiency. Low cost, high experience cost.
本申请实施例中提供一种数据准备方法,抓取与待测试接口相关的SQL语句,并自动转换成数据准备语句,能够自动生成数据准备所需要的SQL语句,降低编写用例的学习成本与编写成本,到了提高数据准备效率,节省人力,解决相关技术中数据准备效率低、用户参与程度高的问题。The embodiment of the present application provides a data preparation method, which captures SQL statements related to the interface to be tested and automatically converts them into data preparation statements, so as to automatically generate SQL statements required for data preparation, and reduce the learning cost and the writing cost of writing use cases. cost, to improve the efficiency of data preparation, save manpower, and solve the problems of low data preparation efficiency and high user participation in related technologies.
本申请实施例中,在测试环境中录制业务执行过程,在业务执行过程中,从浏览器中提取测试用例的请求头、传参、返回值等信息作为测试用例的用例实体部分。从日志信息中提取日志信息,通过日志信息的解析、转换生成数据准备信息和数据销毁信息,并将生成的数据准备信息和数据销毁消息传给自动化接口平台,进而准备测试所需的数据,以为自动化测试做准备。In the embodiment of the present application, the service execution process is recorded in the test environment, and during the service execution process, the request header, parameters, return value and other information of the test case are extracted from the browser as the use case entity part of the test case. Extract the log information from the log information, generate data preparation information and data destruction information through the analysis and conversion of the log information, and transmit the generated data preparation information and data destruction information to the automation interface platform, and then prepare the data required for the test to Prepare for automated testing.
可应用于图5所示的测试服务器,如图5所示,测试服务器500包括:交互模块501、待测试业务系统502、消息队列503、日志提取模块504、SQL解析模块505、接口自动化平台506。其中,It can be applied to the test server shown in FIG. 5 . As shown in FIG. 5 , the test server 500 includes: an interaction module 501 , a business system to be tested 502 , a message queue 503 , a log extraction module 504 , an
交互模块501,用于与待测业务系统502、接口自动化平台506的交互。The interaction module 501 is used for interaction with the business system to be tested 502 and the
当业务系统接收到业务请求时,交互模块将业务请求发送至待测业务系统502,并从浏览器中抓取请求头、请求参数以及返回值信息等特征信息,同时从SQL解析模块505得到包括目标SQL语句和目标数据的数据准备信息,将这些特征信息和数据准备信息进行组装,得到一个测试用例所需字段,并传送给接口自动化平台506。When the business system receives the business request, the interaction module sends the business request to the business system to be tested 502, and captures feature information such as request headers, request parameters, and return value information from the browser, and obtains information from the
待测业务系统502:部署有日志收集插件,用来收集业务日志。The service system to be tested 502: a log collection plug-in is deployed to collect service logs.
这里,待测业务系统502可设置为调试(debug)模式,以便日志能够打印业务SQL语句。Here, the
消息队列503:为分布式消息队列,用来完成待测业务系统的日志消息至日志提取模块504的传递。The message queue 503 is a distributed message queue used to complete the transfer of log messages of the business system under test to the log extraction module 504 .
日志提取模块504:用于处理从消息队列503所接收的日志消息。Log extraction module 504 : for processing log messages received from the message queue 503 .
这里,日志提取模块504可利用正则表达式过滤掉日志中无用的信息,只将日志中打印的业务SQL语句提取出来,并将提取的业务SQL语句发送至SQL解析模块505。Here, the log extraction module 504 can use regular expressions to filter out useless information in the log, only extract business SQL statements printed in the log, and send the extracted business SQL statements to the
SQL解析模块505:输入为一组业务SQL语句,经过对业务SQL语句进行反向解析,重构等算法得到数据准备所需目标SQL,并将目标SQL发送至交互模块501。SQL parsing module 505 : the input is a set of business SQL statements, and the target SQL required for data preparation is obtained through algorithms such as reverse parsing and reconstruction of the business SQL statements, and the target SQL is sent to the interaction module 501 .
如图6所示,SQL解析模块505包括:结构化子模块5051、SQL解析子模块5052、语句转换子模块5053、数据查询子模块5054。As shown in FIG. 6 , the
接口自动化平台506:输入为交互模块传来的自动化测试用例信息,调用新增测试用例接口,生成自动化测试用例。Interface automation platform 506: The input is the automated test case information transmitted from the interactive module, and the newly added test case interface is invoked to generate an automated test case.
本申请实施例提供的数据准备方法如图7所示,包括:The data preparation method provided by the embodiment of the present application is shown in FIG. 7 , including:
S701、收集日志,并提取日志中的业务SQL语句。S701. Collect logs, and extract business SQL statements in the logs.
待测业务系统的测试服务器上部署有日志收集插件,当有业务请求发送到测试服务器上,日志收集插件会从指定位置读取日志文件,并将读取到的日志文件以日志消息的形式传输到消息队列中。日志提取模块从消息队列中消费对应的日志消息,并通过正则匹配将日志中的业务SQL语句提取出来。A log collection plug-in is deployed on the test server of the business system to be tested. When a business request is sent to the test server, the log collection plug-in will read the log file from the specified location and transmit the read log file in the form of log messages to the message queue. The log extraction module consumes the corresponding log messages from the message queue, and extracts the business SQL statements in the log through regular matching.
S702、对业务SQL语句进行反向解析,得到目标SQL和业务数据。S702. Perform reverse analysis on the business SQL statement to obtain target SQL and business data.
一个业务SQL语句可能会涉及到多张表,还会有一系列的计算逻辑,而数据准备则需要向这些表中插入所需的数据或者清除已有的数据。SQL解析模块就是来实现这一转换功能。A business SQL statement may involve multiple tables and a series of calculation logic, and data preparation needs to insert the required data into these tables or clear the existing data. The SQL parsing module is to realize this conversion function.
日志提取模块将提取出的业务SQL语句传给SQL解析模块。The log extraction module transmits the extracted business SQL statement to the SQL parsing module.
结构化子模块5051将业务SQL语句进行词法、语法解析,将业务SQL语句解析成一棵抽象语法树的结构,这里,结构化子模块可为SQL解析器。在一示例中,SQL解析器是开源的druid的SQL Parser模块。The
SQL解析子模块5052从抽象语法树的结构中提取业务SQL语句中的子查询语句和用到的表的表名,以拼接数据准备所需的SQL即目标SQL。The SQL parsing sub-module 5052 extracts the sub-query statement in the business SQL statement and the table name of the used table from the structure of the abstract syntax tree, so as to concatenate the SQL required for data preparation, that is, the target SQL.
目标SQL由两部分组成:SQL语句结构和需要插入的业务数据。The target SQL consists of two parts: the SQL statement structure and the business data to be inserted.
(1)、语句转换子模块5053根据设定的规则将子查询语句转换为SQL语句结构即目标子查询语句。SQL语句结构根据不同的接口生成规则不同,规则如下:(1) The statement conversion sub-module 5053 converts the sub-query statement into an SQL statement structure, that is, a target sub-query statement according to a set rule. The structure of the SQL statement is different according to different interface generation rules. The rules are as follows:
查询接口:在后台会打印相应的select语句,生成规则是将select语句转换成insert语句;Query interface: The corresponding select statement will be printed in the background, and the generation rule is to convert the select statement into an insert statement;
新增接口:在后台会打印insert语句,生成规则是将insert语句转换成delete语句;New interface: the insert statement will be printed in the background, and the generation rule is to convert the insert statement into a delete statement;
编辑接口或删除接口:在后台会打印update语句或delete语句,生成规则是将update语句转换为insert语句,或将delete语句转换为insert语句。Edit interface or delete interface: The update statement or delete statement will be printed in the background. The generation rule is to convert the update statement into an insert statement, or convert the delete statement into an insert statement.
在实际应用中,当待测对象为编辑接口或删除接口时,在进行编辑或删除操作前,需要构造编辑接口或删除接口所需的数据,这里,可通过调用查询接口获得数据构造所需语句。In practical applications, when the object to be tested is an edit interface or a delete interface, the data required for the edit interface or delete interface needs to be constructed before the edit or delete operation is performed. Here, the statement required for data construction can be obtained by calling the query interface .
数据查询子模块5054将子查询语句和表名进行进一步拼装,得到能够获得接口对应表数据的子查询SQL语句。测试服务器连接测试数据库,并执行SQL子查询语句获得业务数据,即获取的业务数据是来自测试库的相关测试数据。The data query sub-module 5054 further assembles the sub-query statement and the table name to obtain the sub-query SQL statement that can obtain the table data corresponding to the interface. The test server connects to the test database, and executes the SQL subquery statement to obtain business data, that is, the obtained business data is the relevant test data from the test database.
S703、对目标SQL和业务数据进行拼装,得到数据构造语句。S703: Assemble the target SQL and business data to obtain a data structure statement.
测试服务器中的交互模块对目标SQL和业务数据进行组装,得到数据准备所需的目标SQL语句。The interactive module in the test server assembles the target SQL and business data to obtain the target SQL statement required for data preparation.
本申请实施例中,测试服务器还会生成数据销毁环节所需的SQL语句,这里,生成truncate语句,并将truncate语句和SQL解析模块得到的所有表进行拼装,得到销毁环节所需的SQL语句。In the embodiment of the present application, the test server also generates SQL statements required for the data destruction process, here, a truncate statement is generated, and the truncate statement and all the tables obtained by the SQL parsing module are assembled to obtain the SQL statements required for the destruction process.
本申请实施例中,待测对象为接口时,日志中会打印一个或多个语句。比如:当待测对象为查询接口,日志中可能会打印一个或多个select语句。又比如:当待测对象为编辑接口,日志中可能会打印select语句、update语句等。In the embodiment of the present application, when the object to be tested is an interface, one or more statements will be printed in the log. For example, when the object to be tested is a query interface, one or more select statements may be printed in the log. Another example: when the object to be tested is an editing interface, select statements, update statements, etc. may be printed in the log.
这里,以编写一个对用户查询接口进行自动化测试的测试用例为例,本申请实施例提供的数据准备方法,如图8所示,包括:Here, taking the preparation of a test case for automated testing of a user query interface as an example, the data preparation method provided by the embodiment of the present application, as shown in FIG. 8 , includes:
S801、打印业务日志;S801. Print a business log;
这里,用户在测试服务器的页面上点击查询按钮,测试服务器基于测试按钮接收到的点击操作,生成查询请求,并执行查询请求,此时测试服务器的后台会打印执行查询请求的业务日志;Here, the user clicks the query button on the page of the test server, the test server generates a query request based on the click operation received by the test button, and executes the query request. At this time, the background of the test server will print the business log of executing the query request;
S802、提取业务日志中的SQL;S802. Extract the SQL in the business log;
测试服务器到日志中把对应的业务日志抓取出来,并根据正则表达式对业务日志进行正则匹配,将SQL语句:select a.a,b.b from a,b where a.id=b.id limit100提取出来,并传给SQL解析模块。The test server grabs the corresponding business log from the log, and performs regular matching on the business log according to the regular expression, and extracts the SQL statement: select a.a,b.b from a,b where a.id=b.id limit100, And pass it to the SQL parsing module.
S803:对SQL语句进行结构化拆分,以获取测试数据和目标SQL语句。S803: Structure and split the SQL statement to obtain test data and target SQL statement.
SQL解析模块会将SQL语句进行结构化,以进行子查询语句的拆分;数据查询模块会拼装对应数据查询语句,连接测试库执行得到该接口查询对应的数据库数据,查询语句如下:The SQL parsing module will structure the SQL statement to split the sub-query statement; the data query module will assemble the corresponding data query statement, connect the test database to execute the database data corresponding to the interface query, and the query statement is as follows:
Select a.*from a,b where a.id=b.id limit 0,100;Select a.*from a,b where a.id=b.id limit 0,100;
Select b.*from a,b where a.id=b.id limit 0,100;Select b.*from a,b where a.id=b.id limit 0,100;
然后将SQL解析模块得到的表信息与从测试库得到的数据信息进行组装,最终将业务SQL语句转化成insert into a values(x,x,x);insert into b values(x,x,x)的数据准备语句,此时关于用户查询接口的数据构造方法就完成了。Then assemble the table information obtained by the SQL parsing module with the data information obtained from the test library, and finally convert the business SQL statement into insert into a values(x,x,x); insert into b values(x,x,x) The data preparation statement, at this time, the data construction method of the user query interface is completed.
同时也会生成truncate语句:A truncate statement is also generated:
truncate table a;truncate table a;
truncate table b。truncate table b.
图9为本申请实施例的一种数据准备装置的实现结构示意图,如图9所示,装置900包括:获取单元901、抽取单元902和转换单元903。FIG. 9 is a schematic diagram of the implementation structure of a data preparation apparatus according to an embodiment of the present application. As shown in FIG. 9 , the apparatus 900 includes an acquisition unit 901 , an extraction unit 902 , and a conversion unit 903 .
获取单元901,用于获取待测对象处理业务请求的日志数据;处理单元An obtaining unit 901 is used to obtain the log data of the processing service request of the object to be tested; the processing unit
抽取单元902,用于抽取所述日志数据中的业务执行语句;an extraction unit 902, configured to extract business execution statements in the log data;
转换单元903,用于对所述业务执行语句进行反向转换,得到目标执行语句;所述目标执行语句用于对目标数据库中的数据进行更新,以对所述待测对象进行测试。The conversion unit 903 is configured to reversely convert the service execution statement to obtain a target execution statement; the target execution statement is used to update the data in the target database to test the object to be tested.
在一些实施例中,抽取单元902,还用于:In some embodiments, the extraction unit 902 is further configured to:
获取设定的正则表达式;Get the set regular expression;
通过所述正则表达式对所述日志数据进行正则匹配,提取所述日志数据中的业务执行语句。Perform regular matching on the log data through the regular expression, and extract business execution statements in the log data.
在一些实施例中,转换单元903,还用于:In some embodiments, the conversion unit 903 is further configured to:
提取所述业务执行语句中的子查询语句和表标识。Extract the subquery statement and table identifier in the service execution statement.
根据所述子查询语句和所述表标识,确定所述目标执行语句。The target execution statement is determined according to the subquery statement and the table identifier.
在一些实施例中,转换单元903,还用于:In some embodiments, the conversion unit 903 is further configured to:
将所述业务执行语句,解析为包括至少一个节点的抽象语法树;所述抽象语法树的节点能够被访问;Parse the business execution statement into an abstract syntax tree including at least one node; the nodes of the abstract syntax tree can be accessed;
遍历所述抽象语法树的各节点,确定所述节点对应的子查询语句和表标识。Traverse each node of the abstract syntax tree, and determine the subquery statement and table identifier corresponding to the node.
在一些实施例中,转换单元903,还用于:In some embodiments, the conversion unit 903 is further configured to:
对所述子查询语句进行转换,得到目标语句结构;Converting the sub-query statement to obtain the target statement structure;
将所述子查询语句和对应的表标识进行重构,得到目标数据;Reconstructing the subquery statement and the corresponding table identifier to obtain target data;
将所述目标语句结构和所述目标数据进行组装,得到所述目标执行语句。The target statement structure and the target data are assembled to obtain the target execution statement.
在一些实施例中,装置900还包括:销毁单元,用于:In some embodiments, the apparatus 900 further includes: a destruction unit for:
生成数据清空命令;Generate data clear command;
将所述数据清空命令和所述表标识进行组装,得到数据清空语句;所述数据清空语句用于完成对所述待测对象的测试后,对所述表标识对应的表中的数据进行清除。Assembling the data clearing command and the table identification to obtain a data clearing statement; the data clearing statement is used to clear the data in the table corresponding to the table identification after completing the test of the object to be tested .
在一些实施例中,装置900还包括:特征单元,用于:In some embodiments, the apparatus 900 further includes: a feature unit for:
获取所述待测对象处理所述业务请求的特征信息;所述特征信息用于生成对所述待测试对象进行测试的测试用例。。Obtain feature information of the object to be tested processing the service request; the feature information is used to generate a test case for testing the object to be tested. .
需要说明的是,本申请实施例提供的数据准备装置包括所包括的各单元,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro ProcessorUnit)、数字信号处理器(DSP,Digital Signal Processor)或现场可编程门阵列(FPGA,Field-Programmable Gate Array)等。It should be noted that the data preparation device provided in the embodiment of the present application includes the included units, which can be implemented by a processor in an electronic device; of course, it can also be implemented by a specific logic circuit; in the process of implementation, the processor It can be a central processing unit (CPU, Central Processing Unit), a microprocessor (MPU, Micro Processor Unit), a digital signal processor (DSP, Digital Signal Processor) or a field programmable gate array (FPGA, Field-Programmable Gate Array), etc. .
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。The descriptions of the above apparatus embodiments are similar to the descriptions of the above method embodiments, and have similar beneficial effects to the method embodiments. For technical details not disclosed in the device embodiments of the present application, please refer to the descriptions of the method embodiments of the present application for understanding.
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的数据准备方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。It should be noted that, in the embodiments of the present application, if the above data preparation method is implemented in the form of a software function module and sold or used as an independent product, it may also be stored in a computer-readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present application may be embodied in the form of software products in essence or the parts that contribute to related technologies. The computer software products are stored in a storage medium and include several instructions to make A computer device (which may be a personal computer, a server, or a network device, etc.) executes all or part of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: a U disk, a removable hard disk, a read only memory (Read Only Memory, ROM), a magnetic disk or an optical disk and other mediums that can store program codes. As such, the embodiments of the present application are not limited to any specific combination of hardware and software.
对应地,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中提供的数据准备方法中的步骤。其中,该电子设备可为服务端。Correspondingly, an embodiment of the present application provides an electronic device, including a memory and a processor, where the memory stores a computer program that can be run on the processor, and when the processor executes the program, the computer program provided in the foregoing embodiments is implemented. Steps in a data preparation method. Wherein, the electronic device may be a server.
对应地,本申请实施例提供一种存储介质,也就是计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的数据准备方法。Correspondingly, the embodiments of the present application provide a storage medium, that is, a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, implements the data preparation method provided in the foregoing embodiments.
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。It should be pointed out here that the descriptions of the above storage medium and device embodiments are similar to the descriptions of the above method embodiments, and have similar beneficial effects to the method embodiments. For technical details not disclosed in the embodiments of the storage medium and device of the present application, please refer to the description of the method embodiments of the present application to understand.
需要说明的是,图10为本申请实施例电子设备的一种硬件实体示意图,如图10所示,所述电子设备1000包括:一个处理器1001、至少一个通信总线1002、至少一个外部通信接口1004和存储器1005。其中,通信总线1002配置为实现这些组件之间的连接通信。在一示例中,电子设备1000还包括:用户接口1003、其中,用户接口1003可以包括显示屏,外部通信接口1004可以包括标准的有线接口和无线接口。It should be noted that FIG. 10 is a schematic diagram of a hardware entity of an electronic device according to an embodiment of the present application. As shown in FIG. 10 , the electronic device 1000 includes: a
存储器1005配置为存储由处理器1001可执行的指令和应用,还可以缓存待处理器1001以及电子设备中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。The
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。It is to be understood that reference throughout the specification to "one embodiment" or "an embodiment" means that a particular feature, structure or characteristic associated with the embodiment is included in at least one embodiment of the present application. Thus, appearances of "in one embodiment" or "in some embodiments" in various places throughout this specification are not necessarily necessarily referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner in one or more embodiments. It should be understood that, in various embodiments of the present application, the size of the sequence numbers of the above-mentioned processes does not mean the sequence of execution, and the execution sequence of each process should be determined by its functions and internal logic, and should not be dealt with in the embodiments of the present application. implementation constitutes any limitation. The above-mentioned serial numbers of the embodiments of the present application are only for description, and do not represent the advantages or disadvantages of the embodiments.
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。It should be noted that, herein, the terms "comprising", "comprising" or any other variation thereof are intended to encompass non-exclusive inclusion, such that a process, method, article or device comprising a series of elements includes not only those elements, It also includes other elements not expressly listed or inherent to such a process, method, article or apparatus. Without further limitation, an element qualified by the phrase "comprising a..." does not preclude the presence of additional identical elements in a process, method, article or apparatus that includes the element.
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。In the several embodiments provided in this application, it should be understood that the disclosed apparatus and method may be implemented in other manners. The device embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined, or Can be integrated into another system, or some features can be ignored, or not implemented. In addition, the coupling, or direct coupling, or communication connection between the components shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be electrical, mechanical or other forms. of.
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。The unit described above as a separate component may or may not be physically separated, and the component displayed as a unit may or may not be a physical unit; it may be located in one place or distributed to multiple network units; Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present application may all be integrated into one processing unit, or each unit may be separately used as a unit, or two or more units may be integrated into one unit; the above integration The unit can be implemented either in the form of hardware or in the form of hardware plus software functional units.
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。Those of ordinary skill in the art can understand that all or part of the steps of implementing the above method embodiments can be completed by program instructions related to hardware, the aforementioned program can be stored in a computer-readable storage medium, and when the program is executed, the execution includes: The steps of the above method embodiments; and the aforementioned storage medium includes: a removable storage device, a read only memory (Read Only Memory, ROM), a magnetic disk or an optical disk and other media that can store program codes.
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。Alternatively, if the above-mentioned integrated units of the present application are implemented in the form of software function modules and sold or used as independent products, they may also be stored in a computer-readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present application may be embodied in the form of software products in essence or the parts that contribute to related technologies. The computer software products are stored in a storage medium and include several instructions to make A computer device (which may be a personal computer, a server, or a network device, etc.) executes all or part of the methods described in the various embodiments of the present application. The aforementioned storage medium includes various media that can store program codes, such as a removable storage device, a ROM, a magnetic disk, or an optical disk.
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The above is only the embodiment of the present application, but the protection scope of the present application is not limited to this. Covered within the scope of protection of this application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110145197.8A CN113760734A (en) | 2021-02-02 | 2021-02-02 | A data preparation method and device, device, and storage medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110145197.8A CN113760734A (en) | 2021-02-02 | 2021-02-02 | A data preparation method and device, device, and storage medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN113760734A true CN113760734A (en) | 2021-12-07 |
Family
ID=78786597
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202110145197.8A Pending CN113760734A (en) | 2021-02-02 | 2021-02-02 | A data preparation method and device, device, and storage medium |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN113760734A (en) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114416531A (en) * | 2021-12-23 | 2022-04-29 | 税友信息技术有限公司 | A test data generation method, device, equipment and medium |
| CN114661747A (en) * | 2022-03-03 | 2022-06-24 | 远光软件股份有限公司 | Index calculation method and device, storage medium and computer equipment |
| CN114840413A (en) * | 2022-03-25 | 2022-08-02 | 阿里云计算有限公司 | Integration test method, system, electronic device and readable storage medium |
| CN115048285A (en) * | 2022-04-14 | 2022-09-13 | 中国农业银行股份有限公司 | Method, device, equipment and medium for acquiring test data |
| CN115422077A (en) * | 2022-09-20 | 2022-12-02 | 支付宝(杭州)信息技术有限公司 | Data processing method and device |
| CN115599805A (en) * | 2022-10-27 | 2023-01-13 | 中国农业银行股份有限公司(Cn) | A data processing method and related device |
| CN116303318A (en) * | 2023-02-23 | 2023-06-23 | 深圳市越疆科技股份有限公司 | A robot log management method, device, system and storage medium |
| CN117194472A (en) * | 2023-08-31 | 2023-12-08 | 金篆信科有限责任公司 | Data set generation method, device, electronic equipment and readable medium |
| CN119357161A (en) * | 2024-12-23 | 2025-01-24 | 恒生电子股份有限公司 | Pre-data construction method, device, storage medium and program product |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6138112A (en) * | 1998-05-14 | 2000-10-24 | Microsoft Corporation | Test generator for database management systems |
| CN101788992A (en) * | 2009-05-06 | 2010-07-28 | 厦门东南融通系统工程有限公司 | Method and system for converting query sentence of database |
| CN102043720A (en) * | 2011-01-18 | 2011-05-04 | 北京世纪高通科技有限公司 | Method and device for generating test data automatically by utilizing structured query language (SQL) sentences |
| CN106021543A (en) * | 2016-05-26 | 2016-10-12 | 中国农业银行股份有限公司 | Data pre-processing method and device |
| CN107292188A (en) * | 2016-04-12 | 2017-10-24 | 北京明略软件系统有限公司 | A kind of method and apparatus for controlling access privilege |
| CN111625472A (en) * | 2020-06-30 | 2020-09-04 | 深圳前海微众银行股份有限公司 | Unit testing method and device |
-
2021
- 2021-02-02 CN CN202110145197.8A patent/CN113760734A/en active Pending
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6138112A (en) * | 1998-05-14 | 2000-10-24 | Microsoft Corporation | Test generator for database management systems |
| CN101788992A (en) * | 2009-05-06 | 2010-07-28 | 厦门东南融通系统工程有限公司 | Method and system for converting query sentence of database |
| CN102043720A (en) * | 2011-01-18 | 2011-05-04 | 北京世纪高通科技有限公司 | Method and device for generating test data automatically by utilizing structured query language (SQL) sentences |
| CN107292188A (en) * | 2016-04-12 | 2017-10-24 | 北京明略软件系统有限公司 | A kind of method and apparatus for controlling access privilege |
| CN106021543A (en) * | 2016-05-26 | 2016-10-12 | 中国农业银行股份有限公司 | Data pre-processing method and device |
| CN111625472A (en) * | 2020-06-30 | 2020-09-04 | 深圳前海微众银行股份有限公司 | Unit testing method and device |
Non-Patent Citations (1)
| Title |
|---|
| 冯丽云;洪玫;杨秋辉;周洪宇;臧康;: "基于逆向查询处理算法的数据库系统测试数据生成方法", 计算机应用, no. 04, 1 April 2011 (2011-04-01) * |
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114416531A (en) * | 2021-12-23 | 2022-04-29 | 税友信息技术有限公司 | A test data generation method, device, equipment and medium |
| CN114661747A (en) * | 2022-03-03 | 2022-06-24 | 远光软件股份有限公司 | Index calculation method and device, storage medium and computer equipment |
| CN114840413A (en) * | 2022-03-25 | 2022-08-02 | 阿里云计算有限公司 | Integration test method, system, electronic device and readable storage medium |
| CN115048285A (en) * | 2022-04-14 | 2022-09-13 | 中国农业银行股份有限公司 | Method, device, equipment and medium for acquiring test data |
| CN115048285B (en) * | 2022-04-14 | 2025-09-09 | 中国农业银行股份有限公司 | Method, device, equipment and medium for acquiring test data |
| CN115422077A (en) * | 2022-09-20 | 2022-12-02 | 支付宝(杭州)信息技术有限公司 | Data processing method and device |
| CN115599805A (en) * | 2022-10-27 | 2023-01-13 | 中国农业银行股份有限公司(Cn) | A data processing method and related device |
| CN116303318A (en) * | 2023-02-23 | 2023-06-23 | 深圳市越疆科技股份有限公司 | A robot log management method, device, system and storage medium |
| CN117194472A (en) * | 2023-08-31 | 2023-12-08 | 金篆信科有限责任公司 | Data set generation method, device, electronic equipment and readable medium |
| CN119357161A (en) * | 2024-12-23 | 2025-01-24 | 恒生电子股份有限公司 | Pre-data construction method, device, storage medium and program product |
| CN119357161B (en) * | 2024-12-23 | 2025-03-21 | 恒生电子股份有限公司 | Pre-data construction method, device, storage medium and program product |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113760734A (en) | A data preparation method and device, device, and storage medium | |
| CN111522922B (en) | Log information query method, device, storage medium and computer equipment | |
| US10282197B2 (en) | Open application lifecycle management framework | |
| CN112148610A (en) | Test case execution method, apparatus, computer equipment and storage medium | |
| US9558307B1 (en) | System and method for providing a scalable server-implemented regression query environment for remote testing and analysis of a chip-design model | |
| CN105786998A (en) | Database middleware system and method for processing data through database middleware system | |
| CN113448985A (en) | API (application program interface) interface generation method, calling method and device and electronic equipment | |
| CN113010483A (en) | Mass log management method and system | |
| CN106776318A (en) | A kind of test script method for recording and system | |
| CN107015948A (en) | A kind of log information formatting method and system | |
| CN114721964A (en) | A method, device, equipment and medium for automatic generation of test cases | |
| CN107368407B (en) | Information processing method and device | |
| CN112579406B (en) | Log call chain generation method and device | |
| CN113778897A (en) | Automatic test method, device, equipment and storage medium of interface | |
| CN114168421B (en) | Customized code compatibility analysis system and method based on microservice call chain | |
| CN112463533A (en) | Log data analysis method and device, electronic device and storage medium | |
| CN115373673A (en) | Application page construction method and device, computer equipment and readable storage medium | |
| CN119645482A (en) | Data processing method and device, storage medium and electronic equipment | |
| CN111245880B (en) | Behavior trajectory reconstruction-based user experience monitoring method and device | |
| CN116974948B (en) | Business system testing methods, systems, equipment and media | |
| CN112883088B (en) | Data processing method, device, equipment and storage medium | |
| US20190026090A1 (en) | Systems to remove object relational mappings from a software project | |
| CN117931794A (en) | Operator framework, data processing method, device and computer storage medium | |
| CN109063040B (en) | Client program data collection method and system | |
| CN113504912B (en) | Real-time task processing method and device, storage medium and electronic device |
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 | ||
| RJ01 | Rejection of invention patent application after publication | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211207 |
