CN114422385A - Method and system for generating network system test case - Google Patents

Method and system for generating network system test case Download PDF

Info

Publication number
CN114422385A
CN114422385A CN202210309196.7A CN202210309196A CN114422385A CN 114422385 A CN114422385 A CN 114422385A CN 202210309196 A CN202210309196 A CN 202210309196A CN 114422385 A CN114422385 A CN 114422385A
Authority
CN
China
Prior art keywords
control flow
flow graph
test
path
network system
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.)
Granted
Application number
CN202210309196.7A
Other languages
Chinese (zh)
Other versions
CN114422385B (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.)
Alibaba China Co Ltd
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba China Co Ltd
Alibaba Cloud Computing Ltd
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 Alibaba China Co Ltd, Alibaba Cloud Computing Ltd filed Critical Alibaba China Co Ltd
Priority to CN202210309196.7A priority Critical patent/CN114422385B/en
Publication of CN114422385A publication Critical patent/CN114422385A/en
Application granted granted Critical
Publication of CN114422385B publication Critical patent/CN114422385B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/14Arrangements for monitoring or testing data switching networks using software, i.e. software packages
    • 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/3684Test management for test design, e.g. generating new test cases
    • 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

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)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application provides a method and a system for generating a network system test case, aiming at a test scene of a network system, the method comprises the following steps: acquiring a control flow graph and test scene constraint conditions of a network system; determining a feasible path in the control flow graph according to the test scene constraint condition; generating a simplified control flow graph according to the feasible path; and generating a test case of the network system under the test scene constraint condition based on the simplified control flow graph, and reducing the number of paths in the control flow graph required to be searched when the test case is generated by simplifying the control flow graph, thereby improving the generation efficiency of the test case.

Description

Method and system for generating network system test case
Technical Field
The present application relates to the field of software testing technologies, and in particular, to a method and a system for generating a test case of a network system.
Background
The programmable switch chip is an important component of a network system, improves the efficiency and flexibility of iterative development of various network functions on the network system by a development team, and is widely applied to public network gateways and edge cloud gateways.
Program testing of network systems based on programmable switch chips is often performed by using Symbolic Execution (symbological Execution) technology. In the symbol execution process, the actual input is replaced by the symbol, the program variable is symbolized, path constraints are continuously collected through instrumentation in analysis, and a test case is generated through a constraint solver.
In the related art, when path search is performed, a depth-first serial path search method is often adopted, that is, after a complete path is explored each time, a constraint true value on the last non-leaf node of the current complete path is negated to be used as a path of the next iteration until all path search is completed.
The path searching mode is only suitable for testing programs with simple structures, and the complexity of the programs of the network system is high, so that the number of paths to be searched is exponentially increased, the searching of all paths cannot be completed within limited time, the efficiency of generating test cases is low, and the requirements cannot be met.
Disclosure of Invention
The application provides a method and a system for generating a test case of a network system, which simplify a control flow graph, greatly reduce the number of paths contained in the control flow graph and improve the efficiency of generating the test case.
In a first aspect, the present application provides a method for generating a test case of a network system, where the method includes:
acquiring a control flow graph and test scene constraint conditions of a network system; determining a feasible path in the control flow graph according to the test scene constraint condition; generating a simplified control flow graph according to the feasible path; and generating a test case of the network system under the constraint condition of the test scene based on the simplified control flow graph.
In a second aspect, the present application provides a system for generating a test case of a network system, where the system includes:
the program coder is used for acquiring a control flow diagram of the network system; the control flow simplifier is used for acquiring a test scene constraint condition, determining a feasible path in the control flow graph according to the test scene constraint condition and generating a simplified control flow graph according to the feasible path; and the test generator is used for generating a test case of the network system under the constraint condition of the test scene based on the simplified control flow graph.
In a third aspect, the present application provides an electronic device, comprising:
a processor, and a memory communicatively coupled to the processor;
the memory stores computer-executable instructions;
the processor executes the computer execution instructions stored in the memory to implement the method for generating the network system test case provided by the first aspect of the present application.
In a fourth aspect, the present application provides a computer-readable storage medium, where computer-executable instructions are stored in the computer-readable storage medium, and when the computer-executable instructions are executed by a processor, the computer-executable instructions are used to implement the method for generating the network system test case provided in the first aspect of the present application.
In a fifth aspect, the present application provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, the method for generating a network system test case provided in the first aspect of the present application is implemented.
According to the method and the system for generating the network system test case, aiming at the scene of network system test, based on the limiting condition of the test scene on the input message in the constraint condition, the feasible path in the control flow graph of the network system is extracted, and a new simplified control flow graph is generated based on the feasible path, so that the deletion of the path of the control flow graph is realized, and the number of the paths in the control flow graph is greatly reduced; based on the simplified control flow graph, a test case of the network system under the test scene constraint condition is generated, because all paths of the control flow graph need to be traversed to search all feasible paths when the test case is generated, the control flow graph is simplified based on the test scene constraint condition, the number of the paths needing to be searched is greatly reduced, the generation efficiency of the test case is improved, the test case covered by the full path of a complex program can be generated within a limited time, and the application range of the test is expanded.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and together with the description, serve to explain the principles of the application.
Fig. 1 is a schematic view of an application scenario according to an embodiment of the present application;
fig. 2 is a schematic flowchart of a method for generating a network system test case according to an embodiment of the present application;
FIG. 3 is a schematic diagram of a control flow graph provided in accordance with an embodiment of the present application;
FIG. 4 is a schematic diagram of a simplified control flow graph provided by one embodiment of the present application;
fig. 5 is a schematic flowchart of a method for generating a network system test case according to another embodiment of the present application;
FIG. 6 is a schematic diagram of a control flow graph provided in accordance with another embodiment of the present application;
FIG. 7 is a schematic diagram of a simplified control flow graph as provided in another embodiment of the present application;
fig. 8 is a schematic structural diagram of a system for generating a network system test case according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of a system for generating a network system test case according to another embodiment of the present application;
fig. 10 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
With the above figures, there are shown specific embodiments of the present application, which will be described in more detail below. These drawings and written description are not intended to limit the scope of the inventive concepts in any manner, but rather to illustrate the inventive concepts to those skilled in the art by reference to specific embodiments.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
First, the title to which the present application relates is explained:
a data plane: and assigning and forwarding various types of data packets on different ports of the switch.
match-action: a hierarchical data plane program is formed based on a series of look-up tables (flow tables).
Data plane programming: the respective match-action tables of the data plane are re-customized to support a wide variety of protocols or algorithms.
A programmable switch chip: the data plane can flexibly program and modify each packet processing table of the switch chip. A switch comprised of a programmable switch chip is referred to as a programmable switch.
The programmable network: a network of programmable switches.
Fig. 1 is a schematic view of an application scenario of an embodiment of the present application, as shown in fig. 1, a programmable network system 100 is composed of a plurality of programmable switches 102 and a plurality of servers 104, and cores of the programmable switches 102 in the programmable network system 100 are programmable switch chips. Research personnel can iterate the functions of the network system or add new functions based on the programmable switch chip, and the programmable switch chip improves the flexibility of the development of new algorithms of the network system.
Network programs developed autonomously based on programmable switch chips require demand analysis and functional testing to ensure the quality of the developed programs before they are put into use. By inputting the network program into the test system 200, the test case of the programmable network system 100 corresponding to the network program is generated based on the test system 200, and the test of the network program is realized by running the test case, so as to obtain the test result.
According to the perception degree of the system by the test, the test method can be roughly divided into two types: independent of and specific to system implementation. Independent of the testing implemented by the system, only focusing on the behavior that the system should satisfy, generating test cases through a large amount of randomness or randomness satisfying set constraints is the most common testing means, and the main disadvantages are that the coverage rate is low, 100% coverage cannot be guaranteed, and a bug (bug) on an execution path which is not covered by the test cannot be discovered. The test realized by the system is mainly carried out by applying symbol execution technology, such as test tools like KLEE, JPF and the like, and is a high-coverage test technology. The symbolic execution technology analyzes codes forming the system based on a control flow graph corresponding to a program, so that feasible paths of the program are searched as much as possible, test cases are generated according to the searched feasible paths, and whether bugs exist in the feasible paths is detected.
However, since the programmable network system is large in scale and usually includes more programmable switches 102 and a plurality of pipelines, the code complexity of the network program is high, and the conventional symbol execution technology cannot complete the search of the feasible path of the network program in a limited time, which results in low test efficiency.
In order to improve the test efficiency of the programmable network system 100, the application provides a method for generating a network system test case, by determining a feasible path in a control flow graph based on a test scene constraint condition and obtaining a simplified control flow based on the feasible path, the test case is generated based on the simplified control flow graph, the number of paths traversed during the generation of the test case is greatly reduced, and the efficiency of the generation of the test case is improved.
The following describes the technical solutions of the present application and how to solve the above technical problems with specific embodiments. The following several specific embodiments may be combined with each other, and details of the same or similar concepts or processes may not be repeated in some embodiments. Embodiments of the present application will be described below with reference to the accompanying drawings.
Fig. 2 is a schematic flow diagram of a method for generating a network system test case according to an embodiment of the present application, where the method for generating a network system test case can be executed by a system for generating a network system test case or an electronic device, such as the test system 200 in the foregoing embodiment, and the electronic device may be in the form of a computer, a server, and the like, as shown in fig. 2, and the method for generating a network system test case includes the following steps:
step S201, a control flow graph of a network system and a test scene constraint condition are obtained.
The network system may be the programmable network system 100, and is composed of a plurality of switches, such as programmable switches, and a plurality of servers. The abstract representation of the network system sequence is obtained by simplifying the program flow diagram when the control flow diagram of the network system is executed, and the control flow diagram can more prominently identify the structure of the program control flow. The control flow graph is composed of a plurality of nodes and a control flow line, and conditions corresponding to the connected nodes are arranged on the control flow line.
The test scenario constraints are used for representing the test intention, and may be input by a developer or a tester, or may be stored in the system in advance. The test scenario constraint condition may specifically include an input packet and an output packet, where the input packet is used to describe a condition that an input parameter should satisfy in a specified test scenario, and the output packet is used to describe a condition that an output parameter should satisfy in a specified test scenario.
For example, the input message in the test scenario constraint may include a field for defining an address or a port of a client initiating the access request, and the output message may include a field for defining an address or a port of a server responding to the access request. There are also some fields in the outgoing message and the incoming message that are identical, such as protocol fields.
Specifically, a control flow graph and test scenario constraints of the network system may be uploaded by the user.
Specifically, the control flow graph of the network system may be automatically generated based on the program code of the network system.
Specifically, the program code of the network system may be input to a program encoder, and the program encoder may generate a control flow graph of the network system according to the program code.
Optionally, obtaining a control flow graph of the network system includes:
and generating a control flow graph of the network system according to the program code of the network system and the table item configuration.
The table entry of the network system is configured to represent the message computation rule and the configuration information of the message forwarding logic in the network system, and may include a message matching condition and a message processing action, so as to implement a function of specifically controlling a specific message.
Specifically, the program code of the network system, or the topology information of the network, and the table entry configuration may be stored in the network system in advance, and the program code and the table entry configuration stored in the network system may be acquired through communication with the network system.
Specifically, the program encoder may read the program code and the table entry configuration of the network system, and convert the code of the network system into the control flow graph based on the program code and the table entry configuration of the network system through the program encoder, so as to obtain the control flow graph of the network system.
Further, the program encoder may analyze the pipeline one by one, combine the code and table entry configuration of the pipeline to obtain a control flow graph of the pipeline, and integrate the control flow graphs of all the pipelines into a control flow graph of the network system according to the execution sequence.
The control flow graph of the network system is automatically generated based on the program codes and the table item configuration, so that the convenience of generating the control flow graph is improved.
And step S202, determining a feasible path in the control flow graph according to the test scene constraint condition.
The path in the control flow graph is a path from the root node to one of the leaf nodes. A feasible path (feasible path) is a path that is started from a root node and passes through to a leaf node under a test scenario constraint condition, that is, a path that can be executed in a control flow graph under the test scenario constraint condition.
Specifically, the constraint conditions of the entries (first nodes) of the pipelines can be determined according to the input messages in the constraint conditions of the test scenario, paths which cannot occur in the pipelines are deleted based on the constraint conditions, simplification of a single pipeline is achieved, and all feasible paths in the control flow graph are obtained by traversing all the pipelines.
Specifically, according to the test scenario constraint condition, paths corresponding to branch nodes in each pipeline of the control flow graph may be sequentially deleted according to the execution sequence, and the remaining paths are each feasible path of the control flow graph.
Optionally, determining a feasible path in the control flow graph according to the test scenario constraint condition includes:
sequentially searching reachable paths corresponding to the branch nodes of the control flow graph according to the test scene constraint conditions and the execution sequence; and determining a feasible path in the control flow graph according to the reachable path corresponding to each branch node.
The reachable path corresponding to the branch node is a path which can be executed by the next node reaching the branch node from the branch node under the constraint of the test scenario.
Specifically, according to an execution sequence, traversing each branch node of a control flow graph, and determining an reachable path corresponding to each branch node; and then, splicing the reachable paths corresponding to the branch nodes according to the execution sequence to obtain each feasible path in the control flow graph.
In an embodiment, the network system includes a plurality of pipelines, each pipeline may correspond to one or more branch nodes, and then the reachable paths corresponding to the branch nodes of each pipeline may be sequentially determined according to the execution sequence and the test scenario constraint conditions, and the reachable paths corresponding to the branch nodes of each pipeline are connected based on the execution sequence, so that each feasible path of the network system may be obtained.
Different assembly lines can be fixed connection in the control flow graph, directly get into next assembly line after the last assembly line execution finishes promptly, perhaps for not fixed connection, if connect through branch node, can be based on the branch node of last assembly line in the control flow graph, confirm the next assembly line that last assembly line corresponds. The fixed connection is taken as an example in the following fig. 3.
Illustratively, the pipeline of the network system may include an ingress service pipeline, an egress service pipeline, an ingress switch pipeline and an egress switch pipeline, where the ingress service pipeline is mainly used for performing encapsulation and decapsulation operations of a virtual network protocol, the egress service pipeline is mainly used for performing flow statistics, speed limit, and other processing, the ingress switch pipeline is mainly used for assigning a forwarding destination port for a packet, and the egress switch pipeline is used for performing security management.
Illustratively, a pipeline may correspond to one or more modules in the code of the network system.
The simplification processing of the control flow graph by taking the assembly line as a unit has low processing complexity and is easy to implement; and the paths are screened based on the test scene constraint conditions, so that the simplified control flow graph can reserve all feasible paths under the scene corresponding to the test scene constraint conditions, the path coverage is 100 percent, and the processing accuracy is high.
Specifically, the feasible paths corresponding to each branch node in the control flow graph can be determined according to the input message in the test scene constraint condition, and the feasible paths corresponding to all the branch nodes are combined according to the execution sequence to obtain each feasible path of the control flow graph.
In one embodiment, the nodes in the control flow graph of the network system do not include a loop node, but only an assignment node and a branch node. The assignment node corresponds to one path, and the branch node corresponds to at least two paths. The assignment node corresponds to an assignment statement, and the branch node may correspond to a branch statement, such as an if statement, a switch statement, or a matching action of a configuration table, and may also correspond to a table lookup operation in a programmable program.
And step S203, generating a simplified control flow graph according to the feasible path.
Specifically, the simplified control flow graph may be generated according to each node in the feasible path and the corresponding operation or condition thereof.
For example, fig. 3 is a schematic diagram of a control flow graph provided in an embodiment of the present application, as shown in fig. 3, a root node of the control flow graph is node 0, a leaf node of the control flow graph is node 3, that is, each packet enters a program from node 0 and leaves from node 3, and a path between node 0 and node 3 of the control flow graph corresponding to fig. 3 is 16. The control flow diagrams corresponding to the node 0, the node 1 and the node 2 correspond to a first pipeline, if the control flow diagrams enter the switch pipeline, the control flow diagrams corresponding to the node 2 and the node 3 correspond to a second pipeline, if the control flow diagrams exit the switch pipeline. Conditions on the control flow line pointing to the branching node "
Figure 689580DEST_PATH_IMAGE001
"end, in FIG. 3, the branch node includes node e0Node e1Node e2Node e3Node q1Node q2Node I1And node I2The assignment node includes a node e4Node e5Node e6Node e7Node q3Node q4Node I3And node I4. Such as node 0 and node e0The condition in between is "hdr
Figure 101101DEST_PATH_IMAGE002
", indicates a node e0Is a branch node, only the message meeting the condition can be continuously executed at the branch node, namely when the value of the variable 'hdr.dstip' in the message is '1.2.3.1', the branch node can be moved from the node 0 to the node e0. Node e0And node e1The condition in between is "hdr. dstip: = 2.2.2.1", meaning that "2.2.2.1" is assigned to the variable "hdr. dstip". "meta _ qid = 1" in fig. 3 means that the variable "meta _ qid" is defined or assigned as "1", and "×" in "hdr. In fig. 3, if the address (corresponding variable "hdr.1.2.3.2 "and the source port (corresponding to the variable" hdr. dstport ") is 80 ports, that is, the input packet satisfies" hdr. dstpp = = 1.2.3.1, and hdr. dstport = = 80 ", then the corresponding feasible path is: 0-e0 - e4 - 1 - q1 - q3- 2 - I1 - I1-3, expected outgoing or outgoing message satisfies "meta. port =1, hdr. dstip = 2.2.2.1, meta _ qid = 1".
Fig. 4 is a schematic diagram of a simplified control flow graph provided in an embodiment of the present application, where in fig. 4, taking an example that a test scenario constraint condition is "hdr = = 1.2.3.1", a result of performing deletion processing on the control flow graph provided in the embodiment shown in fig. 3 based on step S202 is shown in fig. 4, where the test scenario constraint condition defines that a value of a variable "hdr = = 1.2.3.1", and for a first pipeline, the test scenario constraint condition limits that a node 0 can only sequentially pass through a node e0And node e4When the node 1 arrives at the node 1 and the node 1 arrives at the node 2, the node 0 and the node e can be determined0And node e4The corresponding path is the reachable path of the first assembly line; due to node e4The control flow line between node e and node 1 corresponds to any condition4And if no operation is needed to be carried out on the node 1, deleting the node 1 to further simplify the control flow graph. For the second pipeline, at node e0To node e4When the variable "hdr. dstip" is assigned as "2.2.2.1", it is known that only the node I can be passed through at the node 21And node I3The reachable path to node 3, i.e. the second pipeline, is node I1Node I3And to node 3. Therefore, the feasible paths of each pipeline are spliced according to the execution sequence, so that the simplified control flow graph shown in fig. 4 can be obtained, namely the simplified control flow graph. Compared to fig. 3, the simplified control flow graph includes only 2 paths, which greatly reduces the number of paths included in the control flow graph.
And step S204, generating a test case of the network system under the constraint condition of the test scene based on the simplified control flow graph.
Specifically, the simplified control flow graph is input into a test generator, the test generator traverses all possible code execution paths of the simplified control flow graph based on a symbolic execution technology, and outputs a corresponding test case based on the searched path.
Further, test output can be obtained by running the test case under the test scenario constraint condition, the test output is compared with expected output or expected output corresponding to the test scenario constraint condition, such as output message, and a test report is generated based on the comparison result. The test report may also be displayed or sent to a network system.
The method for generating the network system test case provided by this embodiment extracts a feasible path in a control flow graph of the network system based on a limiting condition for an input message in a test scenario constraint condition for a scenario of network system testing, and generates a new simplified control flow graph based on the feasible path, thereby implementing deletion of the control flow graph path and greatly reducing the number of paths in the control flow graph; based on the simplified control flow graph, a test case of the network system under the test scene constraint condition is generated, because all paths of the control flow graph need to be traversed to search all feasible paths when the test case is generated, the control flow graph is simplified based on the test scene constraint condition, the number of the paths needing to be searched is greatly reduced, the generation efficiency of the test case is improved, the test case covered by the full path of a complex program can be generated within a limited time, and the application range of the test is expanded.
Fig. 5 is a schematic flow diagram of a method for generating a network system test case according to another embodiment of the present application, where in this embodiment, on the basis of the embodiment shown in fig. 2, step S202 and step S203 are further detailed, and as shown in fig. 5, the method for generating a network system test case according to this embodiment may include the following steps:
step S501, a control flow graph of a network system and a test scene constraint condition are obtained.
Step S502, aiming at a first assembly line of the control flow graph, determining an reachable path corresponding to a branch node in the first assembly line according to the test scene constraint condition.
The first pipeline is a first pipeline of the network system through which the scene constraint conditions are tested. Each pipeline of a network system, which typically contains multiple switches and multiple servers, includes a branch node.
Specifically, the reachable path corresponding to the branch node in the first pipeline, such as node 0 and node e in fig. 3, may be determined according to the limiting condition of each input parameter in the input packet0And node e4A corresponding path.
Specifically, for a first pipeline in a control flow graph, for example, a pipeline between a node 0 and a node 2 in the embodiment shown in fig. 3, based on an input packet in a constraint condition of a test scenario, that is, a limiting condition of each input parameter in the input packet, for example, a value of each input parameter, a path of the first pipeline is deleted to delete a path corresponding to a branch node through which the input packet does not pass, for example, a node e is deleted in the embodiment shown in fig. 30And node e4And paths other than the corresponding path, thereby simplifying the first pipeline. Specifically, for the first pipeline, all feasible paths that the input packet may pass through in the first pipeline under the constraint condition corresponding to the test scenario constraint condition are determined.
Step S503, determining the constraint condition of entering the second pipeline from the first pipeline according to the reachable path corresponding to the first pipeline.
Specifically, the path condition corresponding to one path (reachable path or feasible path) may be determined by the intersection of the conditions on the control flow line between the nodes passed by the path. The path conditions of the path include the conditions of the branch nodes and the conditions of the evaluation nodes. If multiple assignments to the same variable exist in one path, only the corresponding condition in the last assignment is reserved in the path condition. Specifically, after the reachable paths of the first pipeline are determined, constraint conditions for entering a subsequent second pipeline from the first pipeline are determined based on the path conditions of the reachable paths of the first pipeline.
Specifically, the constraint condition for entering the second pipeline from the first pipeline may be a union or a common constraint of path conditions corresponding to paths of the first pipeline.
Optionally, determining a constraint condition for entering a second pipeline from a first pipeline according to a reachable path corresponding to the first pipeline, includes:
aiming at each reachable path corresponding to a first pipeline, determining the path condition of the reachable path according to the condition on the control streamline between nodes passed by the reachable path; and determining the common constraint of the path conditions of all reachable paths corresponding to the first pipeline, wherein the common constraint is the constraint condition of entering the second pipeline from the first pipeline.
Exemplarily, taking the embodiment provided in fig. 4 as an example, it can be seen that the reachable paths of the first pipeline are two, where the nodes passed by one of the two pipelines are: 0-e0 - e4 - q1 - q3-2, the corresponding path conditions being: hdr.dstip = = 2.2.2.1, meta.qid =1 and hdr.dstport = = 80; the other passing node is sequentially as follows: 0-e0 - e4– q2 – q4-2, the corresponding path conditions being: hdr. Then the constraints of entering the second pipeline from the first pipeline may be determined as: hdr. dstip = = 2.2.2.1, meta.qid = 0 or meta.qid =1, or hdr. dstip = = 2.2.2.1.
Step S504, aiming at the Nth assembly line of the control flow graph, determining an accessible path corresponding to a branch node in the Nth assembly line according to a constraint condition of entering the Nth assembly line from the (N-1) th assembly line; wherein N is a positive integer greater than or equal to 2.
After the constraint condition for entering the nth pipeline from the (N-1) th pipeline is determined, the nth pipeline is simplified based on the constraint condition, namely the specific mode of determining the reachable path corresponding to the branch node in the nth pipeline is similar to the step S502, only the "test scene constraint condition" is replaced by the "constraint condition", and the "first pipeline" is replaced by the "nth pipeline".
And step S505, determining a feasible path in the control flow graph according to the reachable path corresponding to the branch node in each assembly line.
And S506, generating a simplified control flow graph according to the feasible path.
Specifically, one control flow graph can be redrawn or generated according to the nodes in each feasible path and the operation corresponding to each node, so that a simplified control flow graph is obtained.
Specifically, for each feasible path, all branch nodes in the feasible path are integrated into one branch node to obtain the branch node of the feasible path in the simplified control flow graph, and then, based on the assignment sequence and the assignment statement of each assignment node in the feasible path, each assignment node of the feasible path in the simplified control flow graph is obtained. And traversing all the feasible paths to obtain branch nodes and assignment nodes of all the feasible paths, thereby obtaining the simplified control flow graph.
Optionally, generating a simplified control flow graph according to the feasible path includes:
and integrating the branch nodes in the feasible paths into one branch node aiming at each feasible path so as to obtain the branch nodes of the feasible paths in each pipeline in the simplified control flow graph.
In one embodiment, the assigned nodes in each feasible path in the simplified control flow graph may remain unchanged.
In one embodiment, the simplified control flow graph may retain only the last one of the plurality of assignment nodes for the same variable in the feasible path.
Specifically, for each feasible path, taking a production line as a unit, branch nodes in the feasible path are integrated to obtain branch nodes of the feasible path in each production line in the simplified control flow diagram.
Specifically, in the simplified control flow graph, each feasible path corresponds to only one branch node in each pipeline, and the branch condition of the branch node is composed of the branch conditions of the branch nodes of the feasible path in the pipeline.
Further, for each feasible path, if multiple assignments for the same variable exist in the feasible path, an assignment node corresponding to the feasible path in the simplified control flow graph can be generated according to the multiple assignments and the assignment sequence of the variable.
Through the steps, the branch nodes and the assignment nodes in the feasible path are simplified, the number of the nodes in the simplified control flow graph is reduced, and the efficiency of generating the test case is further improved.
For example, fig. 6 is a schematic diagram of a control flow graph according to another embodiment of the present application, and as shown in fig. 6, a root node of the control flow graph is node 0, and a leaf node of the control flow graph is node 4. The nodes 0 to 3 correspond to a first pipeline, the nodes 3 to 4 correspond to a second pipeline, and the connection relationship between the nodes and the conditions on the control pipeline are shown in fig. 6. Fig. 7 is a schematic diagram of a simplified control flow graph according to another embodiment of the present application, where in fig. 7, for example, a test scenario constraint condition is "hdr.dstip = = 1.2.3.1", and a simplified control flow graph obtained by simplifying the control flow graph provided in the embodiment shown in fig. 6 is shown in fig. 7, where the test scenario constraint condition defines that a value of a variable "hdr.dstip" is "1.2.3.1", and an reachable path of a first pipeline is a node e0Three corresponding paths pass through the nodes which are 0-1-e in sequence0 - e4 - 2 - q1 - q3- 3,0 - 1 - e0 - e4 - 2 - q1 - q4-3 and 0-1-e1 - e5 - 2 - q2-3. Then the constraint from the first pipeline into the second pipeline is: group = = 222, the reachable path of the second pipeline is 3-I1 - I3-4, splicing the reachable paths of the two pipelines to obtain 3 feasible paths of the control flow graph: 0-1-e0 - e4 - 2 - q1 - q3- 3- I1 - I3 - 4,0 - 1 - e0 - e4 - 2 - q1 - q4- 3- I1 - I3-4 and 0-1-e1 – e5 - 2 - q2 - 3- I1 - I3-4. Each feasible path only has branch nodes on the first pipeline, for each feasible path, the branch conditions on the control flow line of each branch node in the feasible path are summarized to obtain the branch conditions of the branch nodes of the feasible path in the simplified control flow graph, and meanwhile, the operations or conditions on the control flow line of the assignment nodes of the same variable (such as the relevant nodes for assigning the variable hdr.
And step S507, traversing each path of the simplified control flow graph based on a symbolic execution technology to obtain a test case of the network system under the test scene constraint condition.
The test case is generated based on the symbolic execution technology, so that the path coverage of the test case in a limited time can be improved, and even 100% path coverage can be achieved.
In this embodiment, for a scenario of a network system test, based on a limiting condition of an input packet in a test scenario constraint condition, a first pipeline of the network system is simplified to obtain reachable paths of the first pipeline; the method comprises the steps of obtaining constraint conditions of each reachable path in a first assembly line from the first assembly line to a second assembly line, simplifying the second assembly line based on the constraint conditions to obtain each reachable path of the second assembly line, and repeating the steps so as to obtain each feasible path of a network system control flow graph, obtaining a simplified control flow graph based on the feasible paths, and generating a test case of the network system under the constraint conditions of the test scene based on the simplified control flow graph through a symbolic execution technology. The method has the advantages that the constraint conditions of the next assembly line are determined based on the former assembly line after simplification through a simplification mode of the assembly line one by one, so that the next assembly line is simplified, the simplification efficiency of a control flow graph is improved, the simplification accuracy is high, and a foundation is provided for the full path coverage of a test case; based on the simplified control flow graph, the test case of the network system under the test scene constraint condition is generated, because all paths of the control flow graph need to be traversed to search all feasible paths when the test case is generated, the number of the paths needing to be searched is greatly reduced by simplifying the control flow graph, the generation efficiency of the test case is improved, the test case of a complex program can be generated within a limited time, and the application range of the test is expanded.
When the test scenario constraint condition is multiple, the test case of the network system under each test scenario constraint condition can be obtained by the method for generating the test case of the network system provided by the above embodiment.
Optionally, after generating or obtaining the test case of the network system under each test scenario constraint condition, the method further includes:
running the test cases corresponding to the constraint conditions of each test scene to obtain test outputs corresponding to the constraint conditions of each test scene; obtaining expected outputs corresponding to constraint conditions of each test scene; and generating a test result of the network system according to each test output and each expected output.
Specifically, it may be determined whether the test output corresponding to the same test scenario constraint condition is consistent with the expected output, and if not, the test scenario constraint condition corresponding to the test output and the path corresponding to the test output are marked.
Optionally, generating a test result of the network system according to each test output and each expected output includes:
and generating a test result of the network system according to the test output which is not matched with the corresponding expected output and the corresponding path thereof.
By adding the path possibly having the bug to the test result, debugging personnel can quickly locate the bug, and the debugging efficiency of the network system is improved.
Fig. 8 is a schematic structural diagram of a system for generating a network system test case according to an embodiment of the present application, and as shown in fig. 8, the system includes: a program encoder 810, a control flow reducer 820, and a test generator 830.
The program encoder 810 is configured to obtain a control flow graph of the network system; the control flow reducer 820 is used for acquiring a test scenario constraint condition, determining a feasible path in the control flow graph according to the test scenario constraint condition, and generating a simplified control flow graph according to the feasible path; and the test generator 830 is configured to generate a test case of the network system under the constraint condition of the test scenario based on the simplified control flow graph.
Optionally, the program encoder 810 is specifically configured to:
and generating a control flow graph of the network system according to the program code of the network system and the table item configuration.
Fig. 9 is a schematic structural diagram of a system for generating a network system test case according to another embodiment of the present application, as shown in fig. 9, a network topology and table entry configuration in a programmable network system are read by a program encoder 810, and a developer or a tester uploads programmable code to be tested in the programmable network system to the program encoder 810; generating a control flow graph of the programmable network system based on the programmable code, the network topology and the table entry configuration of the programmable network system via a program encoder 810; receiving the control flow graph via the control flow reducer 820 and uploading test scenario constraints to the control flow reducer 820 by a developer or tester; simplifying the control flow graph through a control flow reducer 820 according to the test scene constraint conditions, thereby obtaining a simplified control flow graph; the test scenario constraints and the simplified control flow graph are received via the test generator 830, and based on the simplified control flow graph, a test case of the programmable network system under the test scenario constraints is generated. And obtaining test output corresponding to the test scene constraint condition by running the test case, comparing the test output with expected output, and determining the bugs in the programmable codes based on the comparison result.
Optionally, the control flow reducer 820 includes:
an reachable path determining unit, configured to sequentially search reachable paths corresponding to the branch nodes of the control flow graph according to the test scenario constraint condition and an execution sequence; a feasible path determining unit, configured to determine a feasible path in the control flow graph according to the reachable path corresponding to each branch node, and a simplified control flow graph generating unit, configured to generate a simplified control flow graph according to the feasible path.
Optionally, the nodes in the control flow graph include assignment nodes and branch nodes, where an assignment node corresponds to one path and a branch node corresponds to at least two paths; the control flow graph comprises a plurality of pipelines, and each pipeline corresponds to at least one branch node.
Accordingly, the reachable path determining unit comprises:
a first path determining subunit, configured to determine, for a first pipeline of the control flow graph, an reachable path corresponding to a branch node in the first pipeline according to the test scenario constraint condition; the constraint condition determining subunit is used for determining a constraint condition for entering a second pipeline from the first pipeline according to the reachable path corresponding to the first pipeline; an nth path determining subunit, configured to determine, for an nth pipeline of the control flow graph, a reachable path corresponding to a branch node in the nth pipeline according to a constraint condition for entering the nth pipeline from the N-1 th pipeline; wherein N is a positive integer greater than or equal to 2.
Optionally, the constraint condition determining subunit is specifically configured to:
aiming at each reachable path corresponding to a first pipeline, determining the path condition of the reachable path according to the condition on the control streamline between nodes passed by the reachable path; and determining the common constraint of the path conditions of all reachable paths corresponding to the first pipeline, wherein the common constraint is the constraint condition of entering the second pipeline from the first pipeline.
Optionally, the simplified control flow graph generating unit is specifically configured to:
and integrating the branch nodes in the feasible paths into one branch node aiming at each feasible path so as to obtain the branch nodes of the feasible paths in each pipeline in the simplified control flow graph.
Optionally, the test generator 830 is specifically configured to:
and traversing each path of the simplified control flow graph based on a symbolic execution technology to obtain a test case of the network system under the test scene constraint condition.
Optionally, the test generator 830 is further configured to:
running the test cases corresponding to the constraint conditions of each test scene to obtain test outputs corresponding to the constraint conditions of each test scene; obtaining expected outputs corresponding to constraint conditions of each test scene; and generating a test result of the network system according to each test output and each expected output.
Optionally, the test generator 830 is further configured to:
running the test cases corresponding to the constraint conditions of each test scene to obtain test outputs corresponding to the constraint conditions of each test scene; obtaining expected outputs corresponding to constraint conditions of each test scene; and generating a test result of the network system according to the test output which is not matched with the corresponding expected output and the corresponding path thereof.
The system for generating the network system test case provided in the embodiment of the present application may be used to execute the technical solutions provided in any embodiments corresponding to fig. 2 and fig. 5, and the implementation principles and technical effects are similar, which are not described herein again.
Fig. 10 is a schematic structural diagram of an electronic device according to an embodiment of the present application, and as shown in fig. 10, the electronic device according to the embodiment includes:
at least one processor 1010; and a memory 1020 communicatively coupled to the at least one processor; wherein the memory 1020 stores computer-executable instructions; the at least one processor 1010 executes computer-executable instructions stored by the memory to cause the electronic device to perform a method as provided by any of the preceding embodiments.
Alternatively, the memory 1020 may be separate or integrated with the processor 1010.
For the implementation principle and the technical effect of the electronic device provided by this embodiment, reference may be made to the foregoing embodiments, which are not described herein again.
The embodiment of the present application further provides a computer-readable storage medium, in which computer-executable instructions are stored, and when the computer-executable instructions are executed by a processor, the method provided by any one of the foregoing embodiments may be implemented.
The embodiments of the present application further provide a computer program product, which includes a computer program, and when the computer program is executed by a processor, the computer program implements the method provided in any of the foregoing embodiments.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. For example, the above-described device embodiments are merely illustrative, and for example, the division of the modules is only one logical division, and other divisions may be realized in practice, for example, a plurality of modules may be combined or integrated into another system, or some features may be omitted, or not executed.
The integrated module implemented in the form of a software functional module may be stored in a computer-readable storage medium. The software functional module is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device) or a processor to execute some steps of the methods described in the embodiments of the present application.
It should be understood that the Processor may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of a method disclosed in the incorporated application may be directly implemented by a hardware processor, or may be implemented by a combination of hardware and software modules in the processor. The memory may comprise a high-speed RAM memory, and may further comprise a non-volatile storage NVM, such as at least one disk memory, and may also be a usb disk, a removable hard disk, a read-only memory, a magnetic or optical disk, etc.
The storage medium may be implemented by any type or combination of volatile or non-volatile memory devices, such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disks. A storage media may be any available media that can be accessed by a general purpose or special purpose computer.
An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. Of course, the storage medium may also be integral to the processor. The processor and the storage medium may reside in an Application Specific Integrated Circuits (ASIC). Of course, the processor and the storage medium may reside as discrete components in an electronic device or host device.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The above-mentioned serial numbers of the embodiments of the present application are merely for description and do not represent the merits of the embodiments.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solutions of the present application may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, an air conditioner, or a network device) to execute the methods provided in the embodiments of the present application.
Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the application and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the application being indicated by the following claims.
It will be understood that the present application is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the application is limited only by the appended claims.

Claims (10)

1. A method for generating a network system test case is characterized by comprising the following steps:
acquiring a control flow graph and test scene constraint conditions of a network system;
determining a feasible path in the control flow graph according to the test scene constraint condition;
generating a simplified control flow graph according to the feasible path;
and generating a test case of the network system under the constraint condition of the test scene based on the simplified control flow graph.
2. The method of claim 1, wherein determining feasible paths in the control flow graph based on the test scenario constraints comprises:
sequentially searching reachable paths corresponding to all branch nodes of the control flow graph according to the test scene constraint conditions and the execution sequence;
and determining a feasible path in the control flow graph according to the reachable path corresponding to each branch node.
3. The method of claim 2, wherein the nodes in the control flow graph include assignment nodes and branch nodes, the assignment nodes correspond to one path, the branch nodes correspond to at least two paths, the control flow graph includes a plurality of pipelines, and each pipeline corresponds to at least one branch node;
according to the test scene constraint condition, sequentially searching reachable paths corresponding to the branch nodes of the control flow graph according to an execution sequence, wherein the reachable paths comprise:
aiming at a first assembly line of the control flow graph, determining an reachable path corresponding to a branch node in the first assembly line according to the test scene constraint condition;
determining a constraint condition for entering a second pipeline from the first pipeline according to a reachable path corresponding to the first pipeline;
aiming at the Nth assembly line of the control flow graph, determining an accessible path corresponding to a branch node in the Nth assembly line according to a constraint condition of entering the Nth assembly line from the (N-1) th assembly line;
wherein N is a positive integer greater than or equal to 2.
4. The method of claim 3, wherein determining the constraint that the first pipeline enters the second pipeline based on the reachable path of the first pipeline comprises:
aiming at each reachable path corresponding to a first pipeline, determining the path condition of the reachable path according to the condition on the control streamline between nodes passed by the reachable path;
and determining the common constraint of the path conditions of all reachable paths corresponding to the first pipeline, wherein the common constraint is the constraint condition of entering the second pipeline from the first pipeline.
5. The method of any of claims 1-4, wherein generating a simplified control flow graph from the feasible paths comprises:
and integrating the branch nodes in the feasible paths into one branch node aiming at each feasible path so as to obtain the branch nodes of the feasible paths in each pipeline in the simplified control flow graph.
6. The method of claim 1, wherein obtaining a control flow graph for a network system comprises:
and generating a control flow graph of the network system according to the program code of the network system and the table item configuration.
7. The method of claim 1, wherein generating the test case of the network system under the test scenario constraint condition based on the simplified control flow graph comprises:
and traversing each path of the simplified control flow graph based on a symbolic execution technology to obtain a test case of the network system under the test scene constraint condition.
8. The method according to any one of claims 1-4, further comprising:
running the test cases corresponding to the constraint conditions of each test scene to obtain test outputs corresponding to the constraint conditions of each test scene;
obtaining expected outputs corresponding to constraint conditions of each test scene;
and generating a test result of the network system according to each test output and each expected output.
9. The method of claim 8, wherein generating test results for the network system based on the respective test outputs and the respective expected outputs comprises:
and generating a test result of the network system according to the test output which is not matched with the corresponding expected output and the corresponding path thereof.
10. A system for generating a network system test case is characterized by comprising:
the program coder is used for acquiring a control flow diagram of the network system;
the control flow simplifier is used for acquiring a test scene constraint condition, determining a feasible path in the control flow graph according to the test scene constraint condition and generating a simplified control flow graph according to the feasible path;
and the test generator is used for generating a test case of the network system under the constraint condition of the test scene based on the simplified control flow graph.
CN202210309196.7A 2022-03-28 2022-03-28 Method and system for generating network system test case Active CN114422385B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210309196.7A CN114422385B (en) 2022-03-28 2022-03-28 Method and system for generating network system test case

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210309196.7A CN114422385B (en) 2022-03-28 2022-03-28 Method and system for generating network system test case

Publications (2)

Publication Number Publication Date
CN114422385A true CN114422385A (en) 2022-04-29
CN114422385B CN114422385B (en) 2022-07-05

Family

ID=81263787

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210309196.7A Active CN114422385B (en) 2022-03-28 2022-03-28 Method and system for generating network system test case

Country Status (1)

Country Link
CN (1) CN114422385B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116166235A (en) * 2023-04-26 2023-05-26 深圳云豹智能有限公司 P4Target logic verification method and system
CN116302971A (en) * 2023-02-07 2023-06-23 北京大学 Extensible test generation method for programmable data plane

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060242466A1 (en) * 2005-04-21 2006-10-26 Microsoft Corporation Generating test cases for software with complex preconditions
US8645924B2 (en) * 2011-06-06 2014-02-04 Fujitsu Limited Lossless path reduction for efficient symbolic execution and automatic test generation
CN106462432A (en) * 2014-06-06 2017-02-22 微软技术许可有限责任公司 Data-dependent control flow reduction
US20180246706A1 (en) * 2017-02-27 2018-08-30 International Business Machines Corporation Using dynamic information to refine control flow graphs
CN110321458A (en) * 2019-05-21 2019-10-11 国家电网有限公司 A kind of dataflow analysis method and device based on controlling stream graph
US20190332364A1 (en) * 2018-04-30 2019-10-31 International Business Machines Corporation Simplifying a control flow graph based on profiling data
CN110515856A (en) * 2019-09-02 2019-11-29 华东师范大学 A kind of Test cases technology system executed based on dynamic symbol
CN113641591A (en) * 2021-10-14 2021-11-12 腾讯科技(深圳)有限公司 Test case generation method and device and test method and device

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060242466A1 (en) * 2005-04-21 2006-10-26 Microsoft Corporation Generating test cases for software with complex preconditions
US8645924B2 (en) * 2011-06-06 2014-02-04 Fujitsu Limited Lossless path reduction for efficient symbolic execution and automatic test generation
CN106462432A (en) * 2014-06-06 2017-02-22 微软技术许可有限责任公司 Data-dependent control flow reduction
US20180246706A1 (en) * 2017-02-27 2018-08-30 International Business Machines Corporation Using dynamic information to refine control flow graphs
US20190332364A1 (en) * 2018-04-30 2019-10-31 International Business Machines Corporation Simplifying a control flow graph based on profiling data
CN110321458A (en) * 2019-05-21 2019-10-11 国家电网有限公司 A kind of dataflow analysis method and device based on controlling stream graph
CN110515856A (en) * 2019-09-02 2019-11-29 华东师范大学 A kind of Test cases technology system executed based on dynamic symbol
CN113641591A (en) * 2021-10-14 2021-11-12 腾讯科技(深圳)有限公司 Test case generation method and device and test method and device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116302971A (en) * 2023-02-07 2023-06-23 北京大学 Extensible test generation method for programmable data plane
CN116166235A (en) * 2023-04-26 2023-05-26 深圳云豹智能有限公司 P4Target logic verification method and system
CN116166235B (en) * 2023-04-26 2023-08-22 深圳云豹智能有限公司 P4Target logic verification method and system

Also Published As

Publication number Publication date
CN114422385B (en) 2022-07-05

Similar Documents

Publication Publication Date Title
CN114422385B (en) Method and system for generating network system test case
US10305776B2 (en) Network verification
CN109800258B (en) Data file deployment method, device, computer equipment and storage medium
CN110704749B (en) Recommendation engine customization system, recommendation method, recommendation system and electronic equipment
Janneck A machine model for dataflow actors and its applications
US11928605B2 (en) Techniques for cyber-attack event log fabrication
CN112732572A (en) Service testing method, device and system, storage medium and electronic device
CN109377383A (en) Product data synchronous method, device, computer equipment and storage medium
CN111597058B (en) Data stream processing method and system
CN115567607A (en) Processing method, device and system for calling link, electronic equipment and storage medium
CA3138761A1 (en) Method, device, computer equipment and storage medium for verifying inter-system data admission
CN112532482B (en) Shunting equipment testing method and device
CN112579472B (en) Automatic generation method and device for test cases
US20220391529A1 (en) Searching, matching, and masking of composite formats
CN115955323A (en) Network security situation sensing method and device and electronic equipment
CN109726980A (en) The process method of inspection, device, storage medium and electronic equipment
CN110597517A (en) Method and device for dynamically analyzing mat file
Niehaus et al. A Modern ICT Network Simulator for Co-Simulations in Smart Grid Applications
US11184282B1 (en) Packet forwarding in a network device
CN109543024A (en) A kind of text handling method and device
CN113535570B (en) Processing method and device for test cases and electronic equipment
KR102324017B1 (en) Method for analyzing sensor data of internet of things, apparatus and system for executing the method
CN106878078B (en) A kind of method and apparatus generating log
CN117950986A (en) Application program testing method and device, electronic equipment and storage medium
CN117194221A (en) Test method, test device, computer equipment and storage medium

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
GR01 Patent grant
GR01 Patent grant