CN111949505B - Test method, device and equipment - Google Patents

Test method, device and equipment Download PDF

Info

Publication number
CN111949505B
CN111949505B CN201910400012.6A CN201910400012A CN111949505B CN 111949505 B CN111949505 B CN 111949505B CN 201910400012 A CN201910400012 A CN 201910400012A CN 111949505 B CN111949505 B CN 111949505B
Authority
CN
China
Prior art keywords
data structure
target
acquiring
tested
paths
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.)
Active
Application number
CN201910400012.6A
Other languages
Chinese (zh)
Other versions
CN111949505A (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 Cloud Computing Ltd
Original Assignee
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 Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN201910400012.6A priority Critical patent/CN111949505B/en
Publication of CN111949505A publication Critical patent/CN111949505A/en
Application granted granted Critical
Publication of CN111949505B publication Critical patent/CN111949505B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

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)
  • Debugging And Monitoring (AREA)

Abstract

The application provides a testing method, a testing device and testing equipment, wherein the testing method comprises the following steps: determining a target level number according to the first data structure and the test number, wherein the target level number is smaller than or equal to the level number of the first data structure; acquiring a second data structure according to the first data structure and the target level number; acquiring the test number of paths to be tested according to a second data structure; and testing according to the path to be tested. By the technical scheme, the coverage rate of the random test is controlled, and the problem that the coverage rate of the random test is uncontrollable is solved.

Description

Test method, device and equipment
Technical Field
The present application relates to the field of internet technologies, and in particular, to a testing method, apparatus, and device.
Background
Software testing is the process of executing a program to find errors in the software program, with the primary test object being the source program. The main work of software testing is verification, which is to ensure that the software has performed a specified event, and validation, which is to verify the correctness of the software logic, which ensures that the software has performed the specified event in a correct manner.
In the software testing process, the test can be performed according to the test cases and the test specifications, and random test is required besides the test according to the test cases and the test specifications. Random testing is used to conduct functional spot check and performance spot check on software, and is an effective way and process for guaranteeing the integrity of test coverage.
However, conventional random testing suffers from the following drawbacks; a certain coverage cannot be achieved and many random tests are redundant. Especially, for random test of database, coverage rate of random test can not be controlled.
Disclosure of Invention
The application provides a testing method, which comprises the following steps:
Determining a target level number according to the first data structure and the test number; wherein the target number of levels is less than or equal to the number of levels of the first data structure;
acquiring a second data structure according to the first data structure and the target level number;
Acquiring the test number of paths to be tested according to the second data structure;
And testing according to the number of paths to be tested.
The application provides a testing method, which comprises the following steps:
acquiring a grammar graph according to grammar specifications supported by a database to be tested;
determining the target level number of the grammar tree according to the grammar map and the test number, wherein the target level number is smaller than or equal to the level number of the grammar map;
Acquiring a grammar tree according to the grammar map and the target hierarchical quantity;
Acquiring the test number of paths to be tested according to the grammar tree;
And testing according to the number of paths to be tested.
The application provides a testing method, which comprises the following steps:
acquiring a second data structure according to the first data structure; wherein the target number of levels of the second data structure is less than or equal to the number of levels of the first data structure;
acquiring a plurality of paths to be tested according to the second data structure;
and testing according to the paths to be tested.
The application provides a testing method, which comprises the following steps:
Acquiring a second data structure according to the first data structure and the test quantity;
Acquiring the test number of paths to be tested according to the second data structure;
And testing according to the number of paths to be tested.
The application provides a testing device, comprising:
The determining module is used for determining the number of target layers according to the first data structure and the number of tests; wherein the target number of levels is less than or equal to the number of levels of the first data structure;
the acquisition module is used for acquiring a second data structure according to the first data structure and the target level number; acquiring the test number of paths to be tested according to the second data structure;
And the test module is used for testing according to the test number of paths to be tested.
The present application provides a test apparatus comprising:
A processor and a machine-readable storage medium having stored thereon computer instructions that when executed by the processor perform the following:
Determining a target level number according to the first data structure and the test number; wherein the target number of levels is less than or equal to the number of levels of the first data structure;
acquiring a second data structure according to the first data structure and the target level number;
Acquiring the test number of paths to be tested according to the second data structure;
And testing according to the number of paths to be tested.
Based on the technical scheme, in the embodiment of the application, the grammar map can be acquired according to the grammar specification supported by the database to be tested, the grammar map is converted into the grammar tree, and the hierarchical number of the grammar tree is smaller than or equal to that of the grammar map, so that when a plurality of paths to be tested are acquired according to the grammar tree and tested according to the paths to be tested, the paths to be tested can cover the trunk path of the grammar tree and selectively cover the branch paths of the grammar tree, thereby controlling the coverage rate of random test, solving the problem of uncontrollable coverage rate of random test, ensuring the maximum coverage rate under test scenes and reducing redundant paths to be tested.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following description will briefly describe the drawings required to be used in the embodiments of the present application or the description in the prior art, and it is obvious that the drawings in the following description are only some embodiments described in the present application, and other drawings may be obtained according to these drawings of the embodiments of the present application for a person having ordinary skill in the art.
FIG. 1 is a flow chart of a test method in one embodiment of the application;
FIG. 2 is a flow chart of a testing method in another embodiment of the application;
FIG. 3 is a networking schematic of a test method in one embodiment of the application;
FIG. 4 is a flow chart of a test method in another embodiment of the application;
FIGS. 5A-5D are schematic diagrams of grammar graphs/grammar trees in one embodiment of the application;
FIG. 6 is a schematic diagram of a test device in one embodiment of the application;
FIG. 7 is a schematic diagram of a test apparatus in one embodiment of the application.
Detailed Description
The terminology used in the embodiments of the application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein refers to any or all possible combinations including one or more of the associated listed items.
It should be understood that although the terms first, second, third, etc. may be used in embodiments of the present application to describe various information, these information should not be limited to these terms. These terms are only used to distinguish one type of information from another. For example, first information may also be referred to as second information, and similarly, second information may also be referred to as first information, without departing from the scope of the application. Depending on the context, furthermore, the word "if" used may be interpreted as "at … …" or "at … …" or "in response to a determination".
The embodiment of the application provides a testing method for realizing random testing, which can be applied to any equipment, such as testing equipment, and is shown in fig. 1, and is a flow chart of the method, and the method can comprise the following steps:
step 101, determining the number of target layers according to a first data structure and the number of tests; wherein the target number of levels is less than or equal to the number of levels of the first data structure.
In one example, before determining the target number of layers according to the first data structure and the number of tests, the first data structure may be further obtained according to attribute data supported by the database to be tested. Specifically, according to attribute data supported by a database to be tested, a plurality of target parameters and association relations of the plurality of target parameters can be determined; then, according to the multiple target parameters and the incidence relation of the multiple target parameters, a first data structure is obtained; the first data structure is in a tree structure, the nodes of the first data structure correspond to target parameters, and the node association relations of the first data structure correspond to the association relations of the target parameters.
In one example, determining the target number of layers based on the first data structure and the number of tests may include, but is not limited to: and determining the original level number of the first data structure according to the first data structure and the test number, and determining the target level number according to the original level number.
The method comprises the steps of obtaining a first substructure corresponding to the difference between the number of original layers and 1 from a first data structure, wherein the number of paths corresponding to the first substructure is smaller than or equal to the number of tests; and acquiring a second substructure corresponding to the original hierarchy number from the first data structure, wherein the number of paths corresponding to the second substructure is larger than the test number.
Step 102, obtaining a second data structure according to the first data structure and the target level number.
Specifically, a third sub-structure corresponding to the target number of layers may be obtained from the first data structure, and a second data structure corresponding to the target number of layers may be obtained according to the third sub-structure.
Step 103, obtaining the test number of paths to be tested according to the second data structure.
Specifically, a preamble traversal algorithm is adopted to acquire the test number of paths to be tested from the second data structure; or, acquiring the test number of paths to be tested from a second data structure by adopting a medium-order traversal algorithm; or, acquiring the test number of paths to be tested from the second data structure by adopting a subsequent traversal algorithm.
And 104, testing according to the number of paths to be tested.
In the above embodiment, the database to be tested may be an SQL (Structured Query Language ) database. In addition, the attribute data supported by the database to be tested may be a grammar specification, such as an SQL grammar specification. The first data structure may be a grammar map, such as a SQL grammar map. The second data structure may be a syntax tree, such as a SQL syntax tree. Of course, the foregoing is merely one example of a database, attribute data, a first data structure, and a second data structure, and is not particularly limited thereto.
In one example, the above execution sequence is only given for convenience of description, and in practical application, the execution sequence between steps may be changed, which is not limited. Moreover, in other embodiments, the steps of the corresponding methods need not be performed in the order shown and described herein, and the methods may include more or less steps than described herein. Furthermore, individual steps described in this specification, in other embodiments, may be described as being split into multiple steps; various steps described in this specification, in other embodiments, may be combined into a single step.
Based on the technical scheme, in the embodiment of the application, the grammar map can be acquired according to the grammar specification supported by the database to be tested, the grammar map is converted into the grammar tree, and the hierarchical number of the grammar tree is smaller than or equal to that of the grammar map, so that when a plurality of paths to be tested are acquired according to the grammar tree and tested according to the paths to be tested, the paths to be tested can cover the trunk path of the grammar tree and selectively cover the branch paths of the grammar tree, thereby controlling the coverage rate of random test, solving the problem of uncontrollable coverage rate of random test, ensuring the maximum coverage rate under test scenes and reducing redundant paths to be tested.
The embodiment of the application provides a testing method for realizing random testing, which can be applied to any equipment, such as testing equipment, and is shown in fig. 2, which is a flow chart of the method, and the method can comprise the following steps:
Step 201, a grammar map is obtained according to grammar specifications supported by a database to be tested.
The database to be tested is specifically an SQL (Structured Query Language structured query language) database; the grammar specification is specifically SQL grammar specification; the grammar map is specifically an SQL grammar map.
The obtaining of the grammar graph according to the grammar specification supported by the database to be tested may include: determining a plurality of target parameters and association relations of the plurality of target parameters according to the grammar specification; acquiring a grammar according to the association relation between a plurality of target parameters and a plurality of target parameters; the grammar map is in a tree structure, nodes of the grammar map correspond to target parameters, and node association relations of the grammar map correspond to association relations of a plurality of target parameters.
Step 202, determining a target level number of the syntax tree according to the syntax diagram and the test number, wherein the target level number may be smaller than or equal to the level number of the syntax diagram.
In one example, to determine a target level number of the syntax tree, an original level number of the syntax diagram is determined from the syntax diagram and the test number, and the target level number of the syntax tree is determined from the original level number.
When the first substructure corresponding to the difference between the number of the original layers and 1 is obtained from the grammar, the number of paths corresponding to the first substructure is less than or equal to the number of tests. When the second substructure corresponding to the original hierarchy number is acquired from the grammar, the number of paths corresponding to the second substructure is greater than the number of tests.
And step 203, acquiring a grammar tree according to the grammar map and the target hierarchical quantity.
Specifically, a third substructure corresponding to the target number of levels may be obtained from the grammar map, and a grammar tree corresponding to the target number of levels may be obtained according to the third substructure.
Step 204, obtaining the test number of paths to be tested according to the syntax tree.
Specifically, a preamble traversal algorithm may be used to obtain the number of paths to be tested from the syntax tree; or acquiring the test number of paths to be tested from the grammar tree by adopting a medium-order traversal algorithm; or acquiring the test number of paths to be tested from the grammar tree by adopting a subsequent traversal algorithm.
And step 205, testing according to the number of paths to be tested.
In one example, the above execution sequence is only given for convenience of description, and in practical application, the execution sequence between steps may be changed, which is not limited. Moreover, in other embodiments, the steps of the corresponding methods need not be performed in the order shown and described herein, and the methods may include more or less steps than described herein. Furthermore, individual steps described in this specification, in other embodiments, may be described as being split into multiple steps; various steps described in this specification, in other embodiments, may be combined into a single step.
Based on the technical scheme, in the embodiment of the application, the grammar map can be acquired according to the grammar specification supported by the database to be tested, the grammar map is converted into the grammar tree, and the hierarchical number of the grammar tree is smaller than or equal to that of the grammar map, so that when a plurality of paths to be tested are acquired according to the grammar tree and tested according to the paths to be tested, the paths to be tested can cover the trunk path of the grammar tree and selectively cover the branch paths of the grammar tree, thereby controlling the coverage rate of random test, solving the problem of uncontrollable coverage rate of random test, ensuring the maximum coverage rate under test scenes and reducing redundant paths to be tested.
Based on the same application concept as the above method, another testing method is provided in the embodiment of the present application, where the method is used to implement random testing, and the method may include: acquiring a second data structure according to the first data structure; the target number of levels of the second data structure is less than or equal to the number of levels of the first data structure; acquiring a plurality of paths to be tested according to a second data structure; and testing according to the multiple paths to be tested.
In contrast to the above manner, in this embodiment, when the second data structure is acquired, as long as the target number of layers of the second data structure is less than or equal to the number of layers of the first data structure, the target number of layers may be empirically configured, or may be determined based on the number of tests, which is not limited.
Based on the same application concept as the above method, another testing method is also provided in the embodiment of the present application, and the method may be used to implement random testing, and the method may include: acquiring a second data structure according to the first data structure and the test quantity; acquiring the test number of paths to be tested according to the second data structure; and testing according to the number of paths to be tested.
In contrast to the above manner, in this embodiment, when the second data structure is acquired, the second data structure is acquired only according to the first data structure and the number of tests, and the target number of layers of the second data structure and the number of layers of the first data structure are not considered, which is not limited.
The above test method is further described below in conjunction with specific application scenarios.
In one example, the database may be a repository that organizes, stores, and manages data according to a data structure, and the types of databases may include, but are not limited to: SQL, OSS (Object Storage Service ), tableStore (table storage), HBase (Hadoop Database), HDFS (Hadoop Distributed FILE SYSTEM ), mySQL, etc., of course, these are just examples of Database types and are not limiting on the types of databases.
In the embodiment of the application, the database is subjected to random test to solve the problem of uncontrollable random test coverage rate of the database, but the database which needs to be subjected to random test can be an SQL database, or can be an OSS database, tableStore database, HBase database, HDFS database, mySQL database and the like, and the method is not limited, and the SQL database is taken as an example for subsequent description, namely, the method is used for carrying out random test on the SQL database to solve the problem of uncontrollable random test coverage rate of the SQL database.
In the embodiment of the present application, referring to fig. 3, which is a schematic diagram of a test method, an SQL grammar map may be constructed according to an SQL grammar specification supported by an SQL database, and the SQL grammar map may be converted into an SQL grammar tree, and a plurality of paths to be tested may be obtained according to the SQL grammar tree. Because the hierarchical number of the SQL grammar tree is smaller than or equal to that of the SQL grammar map, when a plurality of paths to be tested are acquired according to the SQL grammar tree, the paths to be tested can cover the trunk path of the SQL grammar tree and selectively cover the branch paths of the SQL grammar tree, so that the coverage rate of random test is controlled, and the problem that the coverage rate of the random test is uncontrollable is solved.
Referring to fig. 4, a flow chart of a testing method in an embodiment of the application is shown, the testing method may be used to implement random testing of an SQL database, and the method may include the following steps:
Step 401, acquiring an SQL grammar graph according to an SQL grammar specification supported by an SQL database.
The SQL grammar specification supported by the SQL database refers to an SQL statement which is supported by the SQL database, that is, when a user accesses the SQL database, the SQL statement of the SQL grammar specification can be adopted, so that the SQL database can identify and process the SQL statement.
The SQL grammar specification supported by the SQL database is related to the SQL database, and the SQL grammar specification is not limited and can comprise but is not limited to: building a library, building a table, building a view, querying, adding, deleting, modifying and the like. For example, the following examples are SQL grammar specifications, which are, of course, just a few simple examples, and the contents of which are more numerous.
SELECT$select_expr FROM_table where$where_condition order by pk。
SELECT_ONE_TABLE:select$select_expr FROM_table where$where_condition order by pk。
SELECT:select$select_expr from table。
In one example, an SQL grammar map can be constructed based on an SQL grammar specification supported by an SQL database. Specifically, a plurality of target parameters and the association relation of the plurality of target parameters are determined according to the SQL grammar specification. And acquiring an SQL grammar according to the association relations of the target parameters and the target parameters, wherein each node of the SQL grammar corresponds to one target parameter, and the node association relation corresponds to the association relation of the target parameters.
For example, for the SQL syntax specification "SELECT: SELECT $select_ expr from table" described above, the following target parameters may be determined: target parameter 1"select", target parameter 2"select", target parameter 3"select_expr", target parameter 4"from", and target parameter 5"table". The association relationship of the plurality of target parameters may be: target parameter 1 is a parent parameter of target parameter 2, and target parameter 2 is a child parameter of target parameter 1; target parameter 1 is a parent parameter of target parameter 3, and target parameter 3 is a child parameter of target parameter 1; target parameter 1 is a parent parameter of target parameter 4, and target parameter 4 is a child parameter of target parameter 1; target parameter 1 is a parent parameter of target parameter 5, and target parameter 5 is a child parameter of target parameter 1; furthermore, the target parameter 2, the target parameter 3, the target parameter 4, and the target parameter 5 may be in an and relationship, i.e., the target parameter 2, the target parameter 3, the target parameter 4, and the target parameter 5 together constitute one execution statement.
Referring to FIG. 5A, there is shown an SQL syntax diagram for the SQL syntax specification "SELECT: SELECT $select_ expr from table", which, of course, is merely an example and is not limiting.
As can be seen from fig. 5A, each node of the SQL syntax corresponds to one target parameter, such as target parameter 1, target parameter 2, target parameter 3, target parameter 4, target parameter 5, and so on. The association relation between the nodes of the SQL grammar is the association relation of a plurality of target parameters, such as parent-child relation, relationship or the like. Of course, the above are just a few examples of the association relationship, and no limitation is made thereto.
For another example, assume that the SQL grammar specification further comprises: select_ expr: the constant field function expression may then determine the following target parameters: target parameter "constant", target parameter "field", target parameter "function", target parameter "expression", these target parameters are used to replace the target parameter 3"select_expr". The target parameters 3 are parent parameters of these target parameters, which are child parameters of the target parameters 3.
The target parameter 'constant', the target parameter 'field', the target parameter 'function' and the target parameter 'expression' can be in a 'OR' relationship, namely any one of the target parameter 'constant', the target parameter 'field', the target parameter 'function' and the target parameter 'expression' forms an execution statement.
Referring to FIG. 5B, for the SQL syntax specifications "SELECT: SELECT $select_ expr from table" and SQL syntax specification "$select_ expr" described above: the SQL syntax of the constant |field|function|expression "is, of course, just one example and is not limited thereto. It is apparent from fig. 5B that each node of the SQL grammar map corresponds to one target parameter, and the association relationship between nodes of the SQL grammar map is an association relationship of a plurality of target parameters, such as a parent-child relationship, a relationship, or a relationship.
It should be noted that the target parameter 2, the target parameter 3, the target parameter 4, and the target parameter 5 may be in an "and" relationship, and the target parameter "constant", the target parameter "field", the target parameter "function", and the target parameter "expression" may be in an "or" relationship, and the two relationships are embodied in different colors.
Further, regarding the target parameter "constant", the target parameter "field", the target parameter "function", the target parameter "expression" and the like, there may be sub-parameters of the target parameter, for example, the sub-parameters corresponding to the target parameter "expression" may include: the target parameter "function", the target parameter "operator", the target parameter "field", the target parameter "expression", and so on, are not limited thereto.
Referring to fig. 5C, this SQL syntax diagram is an example of a 4-layer tree structure, and of course, in practical application, the SQL syntax diagram is more complex than fig. 5C, and the content of this SQL syntax diagram is not limited by the present application, and fig. 5C is taken as an example for illustration.
Since the objective parameter "function" of the fourth layer and the objective parameter "function" of the third layer are both "functions", there is a recursive relationship between the objective parameter "function" of the fourth layer and the objective parameter "function" of the third layer. Since the target parameter "expression" of the fourth layer and the target parameter "expression" of the third layer are both "expressions", there is a recursive relationship between the target parameter "expression" of the fourth layer and the target parameter "expression" of the third layer.
Step 402, determining the original hierarchical number of the SQL grammar according to the SQL grammar and the test number.
In one example, when the first substructure corresponding to the difference between the number of original layers and 1 is obtained from the SQL grammar, the number of paths corresponding to the first substructure may be less than or equal to the number of tests. Moreover, when the second substructure corresponding to the original hierarchical number is obtained from the SQL grammar, the number of paths corresponding to the second substructure may be greater than the number of tests.
For example, when the SQL syntax is the substructure 1 corresponding to the number of layers 1, then the number of paths corresponding to the substructure 1 is 1, that is, "SELECT constant from table", and "SELECT" of the first line is represented by "SELECT constant from table". When the SQL syntax is the sub-structure 2 corresponding to the level number 2, the number of paths corresponding to the sub-structure 2 is 1, namely, the "select constant from table", that is, the select, $select_ expr (represented by a constant), the from and the table are in the and relationship, and correspond to the same path.
Referring to fig. 5B, when the SQL syntax is a substructure 3 corresponding to the number of layers 3, the number of paths corresponding to the substructure 3 may be 4, that is, the paths may be: "select constant from table", "select field from table", "select function from table", "select expression from table", that is, the relationship where the constants, fields, functions, expressions are "OR", corresponds to four paths.
Referring to fig. 5C, when the SQL syntax is a substructure 4 corresponding to the number of layers 4, the number of paths corresponding to the substructure 4 may be 7, that is, the paths may include: the "select constant from table", "select field from table", "select function from table", "select operator from table", "select field from table", "select expression from table", that is, the relationship that the functions, operators, fields, expressions in the fourth layer of the SQL syntax graph are "OR", may correspond to four paths for replacing the "expression" of the third layer of the SQL syntax graph.
In one example, the test number is a random test number for an SQL test scenario, meaning that a total of several random tests are performed. For example, assuming that the number of tests is 3, since the number of paths 1 corresponding to the substructure 2 of the number of layers 2 (i.e., the difference between the number of layers 3 and 1) is smaller than the number of tests 3, and the number of paths 4 corresponding to the substructure 3 of the number of layers 3 is larger than the number of tests 3, the original number of layers of the SQL syntax is 3.
For another example, assuming that the number of tests is 6, since the number of paths 4 corresponding to the substructure 3 of the number of layers 3 (i.e., the difference between the number of layers 4 and 1) is smaller than the number of tests 6, and the number of paths 7 corresponding to the substructure 4 of the number of layers 4 is greater than the number of tests 6, the original number of layers of the SQL syntax graph is 4.
In summary, the original hierarchical number of the SQL grammar graph may be determined according to the SQL grammar graph and the test number, for example, starting from the root node of the SQL grammar graph, the original hierarchical number of the SQL grammar graph is determined by using a hierarchical traversal algorithm, that is, traversing an original hierarchical number, so that the number of paths of the sub-structure corresponding to the difference between the original hierarchical number and 1 is smaller than or equal to the test number, and the number of paths of the sub-structure corresponding to the original hierarchical number is greater than the test number, where the original hierarchical number is used for determining the hierarchical number of the SQL grammar tree.
In step 403, the target hierarchical number of the SQL syntax tree is determined according to the original hierarchical number of the SQL syntax graph, and the target hierarchical number of the SQL syntax tree may be smaller than or equal to the original hierarchical number of the SQL syntax graph.
Referring to the above embodiment, since the original hierarchical number of the SQL syntax graph is smaller than or equal to the hierarchical number of the SQL syntax graph and the target hierarchical number of the SQL syntax tree is smaller than or equal to the original hierarchical number of the SQL syntax graph, the target hierarchical number of the SQL syntax tree may be smaller than or equal to the hierarchical number of the SQL syntax graph. For convenience of description, the description will be given taking an example in which the target hierarchical number of the SQL syntax tree is equal to the original hierarchical number of the SQL syntax diagram, for example, assume that the original hierarchical number of the SQL syntax diagram is 3, the target hierarchical number of the SQL syntax tree is 3, and the hierarchical number of the SQL syntax diagram is 4.
Step 404, obtaining a third substructure corresponding to the target hierarchical number from the SQL grammar map, and obtaining an SQL grammar tree corresponding to the target hierarchical number according to the third substructure.
For example, referring to fig. 5C, if the number of layers of the SQL syntax diagram is 4 and the target number of layers of the SQL syntax tree is 3, a third sub-structure of 3 layers, that is, a third sub-structure, may be obtained from the SQL syntax diagram, as shown in fig. 5B. For another example, assuming that the number of target hierarchies of the SQL syntax tree is 4, a third sub-structure of 4 layers, that is, a third sub-structure, is obtained from the SQL syntax diagram, which can be seen in FIG. 5C.
In one example, the third substructure may be determined as an SQL syntax tree. For example, assuming that the target hierarchical number of SQL syntax trees is 3, the third sub-structure shown in FIG. 5B may be determined as an SQL syntax tree.
In another example, the third substructure may be determined as a SQL syntax tree, or the third substructure may be modified (e.g., the recursive and directional relationships in the third substructure are removed), and the modified third substructure may be determined as a SQL syntax tree. For example, assuming that the target hierarchical number of SQL syntax trees is 4, the third sub-structure shown in FIG. 5C may be determined as an SQL syntax tree. Or, the recursive relation of the third substructure shown in fig. 5C is removed, resulting in the substructure shown in fig. 5D, and the substructure is determined as an SQL syntax tree.
Step 405, obtaining a test number of paths to be tested according to the SQL syntax tree.
For example, the test number of paths to be tested is obtained from an SQL grammar tree by adopting a preamble traversal algorithm; or acquiring the test number of paths to be tested from the SQL grammar tree by adopting a medium-order traversal algorithm; or acquiring the test number of paths to be tested from the SQL grammar tree by adopting a subsequent traversal algorithm.
Assuming that referring to the SQL syntax tree shown in FIG. 5D, there are 7 paths in total, such as "select constant from table", "select field from table", "select function from table", "select operator from table", "select field from table", "select expression from table", if the number of tests is 6, 6 paths are selected from the 7 paths as paths to be tested, and the selection manner is not limited as long as 6 paths are selected from the 7 paths.
When selecting a test number of paths to be tested from all paths, a preamble traversal algorithm, a mid-order traversal algorithm, or a post-order traversal algorithm may be employed. The preamble traversal algorithm, the middle-order traversal algorithm and the subsequent traversal algorithm are tree-structured traversal algorithms, represent different traversal sequences, and do not limit the traversal process. Of course, other traversal algorithms may be used to select the number of paths to be tested, which is not limited.
And step 406, testing according to the number of paths to be tested.
Specifically, after the number of paths to be tested is obtained according to the SQL syntax tree, the test can be performed according to the number of paths to be tested, such as random test, and the test process is not limited.
In one example, the above execution sequence is only given for convenience of description, and in practical application, the execution sequence between steps may be changed, which is not limited. Moreover, in other embodiments, the steps of the corresponding methods need not be performed in the order shown and described herein, and the methods may include more or less steps than described herein. Furthermore, individual steps described in this specification, in other embodiments, may be described as being split into multiple steps; various steps described in this specification, in other embodiments, may be combined into a single step.
Based on the technical scheme, in the embodiment of the application, a plurality of paths to be tested are obtained according to the SQL grammar tree, and can cover the trunk path of the SQL grammar tree and selectively cover the branch paths of the SQL grammar tree, so that the coverage rate of random test can be controlled, the problem of uncontrollable coverage rate of random test is solved, the maximum coverage rate under a test scene is ensured, and redundant paths to be tested can be reduced.
For example, assuming that the number of tests is 3, the number of target levels of the SQL syntax tree is 3, i.e., the number of paths of the SQL syntax tree is 4, i.e., the paths may be: the "select constant from table", "select field from table", "select function from table", "select expression from table", that is, 3 paths are selected from these 4 paths, which are corresponding to the first 3-layer structure such as the select constant from table "," select field from table "," select function from table ", whichever is selected.
However, if 3 paths are selected from all 7 paths instead of the 4 paths corresponding to the SQL syntax tree, the selected paths may correspond to a 4-layer structure such as "select operator from table", "select field from table", "select expression from table".
Obviously, the path corresponding to the front 3-layer structure has a larger probability of being used than the path corresponding to the 4-layer structure, and may be referred to as a backbone path of the SQL syntax tree, while the path corresponding to the 4-layer structure has a smaller probability of being used, and may be referred to as a branch path of the SQL syntax tree.
In the embodiment of the application, the target hierarchical number of the SQL grammar tree is controlled through the test number, so that the target hierarchical number of the SQL grammar tree is smaller than or equal to the hierarchical number of the SQL grammar map, and the trunk path of the SQL grammar tree can be covered as much as possible, and the branch path of the SQL grammar tree can be selectively covered.
Based on the same application concept as the method, an embodiment of the present application further provides a testing device, as shown in fig. 6, which is a structural diagram of the testing device, where the testing device includes:
a determining module 61, configured to determine a target level number according to the first data structure and the test number; wherein the target number of levels is less than or equal to the number of levels of the first data structure;
an obtaining module 62, configured to obtain a second data structure according to the first data structure and the target number of layers; acquiring the test number of paths to be tested according to the second data structure;
And the test module 63 is configured to perform a test according to the number of paths to be tested.
The acquiring module 62 is further configured to acquire a first data structure according to attribute data supported by the database to be tested; the acquiring module 62 is specifically configured to, when acquiring the first data structure according to the attribute data supported by the database to be tested: determining a plurality of target parameters and association relations of the plurality of target parameters according to the attribute data; acquiring a first data structure according to the target parameters and the association relation of the target parameters; the first data structure is a tree structure, and the node of the first data structure corresponds to a target parameter and the node association relationship of the first data structure corresponds to the association relationship of the target parameter.
The determining module 61 is specifically configured to determine, according to the first data structure and the number of tests, the number of target levels when: determining the original hierarchical quantity of a first data structure according to the first data structure and the test quantity; and determining the target level number according to the original level number.
Based on the same application concept as the method, the embodiment of the application further provides a testing device, which comprises: a processor and a machine-readable storage medium having stored thereon computer instructions that when executed by the processor perform the following:
Determining a target level number according to the first data structure and the test number; wherein the target number of levels is less than or equal to the number of levels of the first data structure;
acquiring a second data structure according to the first data structure and the target level number;
Acquiring the test number of paths to be tested according to the second data structure;
And testing according to the number of paths to be tested.
Embodiments of the present application also provide a machine-readable storage medium having stored thereon a number of computer instructions; the computer instructions, when executed, perform the following:
Determining a target level number according to the first data structure and the test number; wherein the target number of levels is less than or equal to the number of levels of the first data structure;
acquiring a second data structure according to the first data structure and the target level number;
Acquiring the test number of paths to be tested according to the second data structure;
And testing according to the number of paths to be tested.
Referring to fig. 7, which is a structural diagram of a test apparatus according to an embodiment of the present application, the test apparatus 70 may include: a processor 71, a network interface 72, a bus 73, and a memory 74. Memory 74 may be any electronic, magnetic, optical or other physical storage device that can contain or store information such as executable instructions, data, or the like. For example, the memory 74 may be: RAM (Radom Access Memory, random access memory), volatile memory, non-volatile memory, flash memory, a storage drive (e.g., hard drive), a solid state disk, any type of storage disk (e.g., optical disk, dvd, etc.).
The system, apparatus, module or unit set forth in the above embodiments may be implemented in particular by a computer chip or entity, or by a product having a certain function. A typical implementation device is a computer, which may be in the form of a personal computer, laptop computer, cellular telephone, camera phone, smart phone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being functionally divided into various units, respectively. Of course, the functions of each element may be implemented in the same piece or pieces of software and/or hardware when implementing the present application.
It will be appreciated by those skilled in the art that embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the application may take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
Moreover, these computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The foregoing is merely exemplary of the present application and is not intended to limit the present application. Various modifications and variations of the present application will be apparent to those skilled in the art. Any modification, equivalent replacement, improvement, etc. which come within the spirit and principles of the application are to be included in the scope of the claims of the present application.

Claims (8)

1. A method of testing, the method comprising:
Determining a plurality of target parameters and association relations of the plurality of target parameters according to attribute data supported by a database to be tested; acquiring a first data structure according to the target parameters and the association relation of the target parameters; the first data structure is in a tree structure, and nodes of the first data structure correspond to target parameters and node association relations of the first data structure correspond to association relations of the target parameters;
Determining the original hierarchical quantity of a first data structure according to the first data structure and the test quantity; determining a target level number according to the original level number of the first data structure; wherein the target number of levels is less than or equal to the original number of levels of the first data structure;
Acquiring a second data structure according to the first data structure and the target level number; wherein the obtaining a second data structure according to the first data structure and the target hierarchical number includes: acquiring a third substructure corresponding to the target hierarchical number from the first data structure; acquiring a second data structure corresponding to the target hierarchical number according to the third sub-structure;
Acquiring the test number of paths to be tested according to the second data structure;
And testing according to the number of paths to be tested.
2. The method according to claim 1, wherein the method further comprises:
Acquiring a first substructure corresponding to the difference between the number of the original layers and 1 from the first data structure, wherein the number of paths corresponding to the first substructure is smaller than or equal to the test number;
and acquiring a second substructure corresponding to the original hierarchical number from the first data structure, wherein the number of paths corresponding to the second substructure is greater than the test number.
3. The method of claim 1, wherein the step of determining the position of the substrate comprises,
The obtaining the test number of paths to be tested according to the second data structure includes:
Acquiring the test number of paths to be tested from a second data structure by adopting a preamble traversal algorithm; or alternatively, the first and second heat exchangers may be,
Acquiring the test number of paths to be tested from a second data structure by adopting a medium-order traversal algorithm; or alternatively, the first and second heat exchangers may be,
And acquiring the test number of paths to be tested from the second data structure by adopting a subsequent traversal algorithm.
4. A method of testing, the method comprising:
determining a plurality of target parameters and association relations of the plurality of target parameters according to grammar specifications supported by a database to be tested; acquiring a grammar according to the target parameters and the association relation of the target parameters; the grammar map is in a tree structure, nodes of the grammar map correspond to target parameters, and node association relations of the grammar map correspond to association relations of the target parameters;
Determining the original hierarchical quantity of the grammar according to the grammar and the test quantity; determining the target level number of the grammar tree according to the original level number of the grammar map, wherein the target level number is smaller than or equal to the original level number of the grammar map;
Acquiring a grammar tree according to the grammar map and the target hierarchical quantity; wherein the obtaining the syntax tree according to the syntax diagram and the target hierarchical number includes: acquiring a third substructure corresponding to the target hierarchy number from the grammar; acquiring grammar trees corresponding to the target hierarchical quantity according to the third substructure;
Acquiring the test number of paths to be tested according to the grammar tree;
And testing according to the number of paths to be tested.
5. The method according to claim 4, wherein the database to be tested is in particular a structured query language SQL database; the test method is used for realizing random test.
6. A method of testing, the method comprising:
Determining a plurality of target parameters and association relations of the plurality of target parameters according to attribute data supported by a database to be tested; acquiring a first data structure according to the target parameters and the association relation of the target parameters; the first data structure is in a tree structure, and nodes of the first data structure correspond to target parameters and node association relations of the first data structure correspond to association relations of the target parameters;
Determining the original level number of a first data structure according to the first data structure; determining a target level number according to the original level number of the first data structure; acquiring a second data structure according to the first data structure and the target level number; wherein the target level number of the second data structure is less than or equal to the original level number of the first data structure; wherein the obtaining a second data structure according to the first data structure and the target hierarchical number includes: acquiring a third substructure corresponding to the target hierarchical number from the first data structure; acquiring a second data structure corresponding to the target hierarchical number according to the third sub-structure;
acquiring a plurality of paths to be tested according to the second data structure;
and testing according to the paths to be tested.
7. A test apparatus, the apparatus comprising:
The acquisition module is used for determining a plurality of target parameters and association relations of the plurality of target parameters according to attribute data supported by a database to be tested; acquiring a first data structure according to the target parameters and the association relation of the target parameters; the first data structure is in a tree structure, and nodes of the first data structure correspond to target parameters and node association relations of the first data structure correspond to association relations of the target parameters;
The determining module is used for determining the original layer number of the first data structure according to the first data structure and the test number; determining a target level number according to the original level number of the first data structure; wherein the target number of levels is less than or equal to the original number of levels of the first data structure;
The acquisition module is further used for acquiring a second data structure according to the first data structure and the target level number; acquiring the test number of paths to be tested according to the second data structure; the obtaining module is specifically configured to, when obtaining the second data structure according to the first data structure and the target level number: acquiring a third substructure corresponding to the target hierarchical number from the first data structure; acquiring a second data structure corresponding to the target hierarchical number according to the third sub-structure;
And the test module is used for testing according to the test number of paths to be tested.
8. A test apparatus, comprising:
A processor and a machine-readable storage medium having stored thereon computer instructions that when executed by the processor perform the following:
Determining a plurality of target parameters and association relations of the plurality of target parameters according to attribute data supported by a database to be tested; acquiring a first data structure according to the target parameters and the association relation of the target parameters; the first data structure is in a tree structure, and nodes of the first data structure correspond to target parameters and node association relations of the first data structure correspond to association relations of the target parameters;
Determining the original hierarchical quantity of a first data structure according to the first data structure and the test quantity; determining a target level number according to the original level number of the first data structure; wherein the target number of levels is less than or equal to the original number of levels of the first data structure;
Acquiring a second data structure according to the first data structure and the target level number; wherein the obtaining a second data structure according to the first data structure and the target hierarchical number includes: acquiring a third substructure corresponding to the target hierarchical number from the first data structure; acquiring a second data structure corresponding to the target hierarchical number according to the third sub-structure;
Acquiring the test number of paths to be tested according to the second data structure;
And testing according to the number of paths to be tested.
CN201910400012.6A 2019-05-14 2019-05-14 Test method, device and equipment Active CN111949505B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910400012.6A CN111949505B (en) 2019-05-14 2019-05-14 Test method, device and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910400012.6A CN111949505B (en) 2019-05-14 2019-05-14 Test method, device and equipment

Publications (2)

Publication Number Publication Date
CN111949505A CN111949505A (en) 2020-11-17
CN111949505B true CN111949505B (en) 2024-05-14

Family

ID=73336538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910400012.6A Active CN111949505B (en) 2019-05-14 2019-05-14 Test method, device and equipment

Country Status (1)

Country Link
CN (1) CN111949505B (en)

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414716A (en) * 1993-09-22 1995-05-09 Mitsubishi Electronic Research Laboratories, Inc. Weighting system for testing of circuits utilizing determination of undetected faults
US5724504A (en) * 1995-06-01 1998-03-03 International Business Machines Corporation Method for measuring architectural test coverage for design verification and building conformal test
CN1908892A (en) * 2005-08-01 2007-02-07 王彤 System and method for test examples design
CN101216803A (en) * 2008-01-09 2008-07-09 四川大学 Test program control stream path set creation method based on base path
CN102419728A (en) * 2011-11-01 2012-04-18 北京邮电大学 Method for determining software test process sufficiency based on coverage rate quantitative indicators
CN103902449A (en) * 2012-12-28 2014-07-02 百度在线网络技术(北京)有限公司 Method and device for generating search engine relevance ranking test case
CN104298589A (en) * 2013-07-16 2015-01-21 阿里巴巴集团控股有限公司 Performance test method and performance test equipment
CN105302716A (en) * 2014-07-30 2016-02-03 腾讯科技(深圳)有限公司 Method and apparatus for test in joint development mode
CN105893253A (en) * 2016-03-29 2016-08-24 百度在线网络技术(北京)有限公司 Application software testing method, device and equipment
CN106445799A (en) * 2015-08-05 2017-02-22 阿里巴巴集团控股有限公司 Software testing method and device
CN107608882A (en) * 2017-09-08 2018-01-19 天津津航计算技术研究所 A kind of software test case automatic generating method
CN107797923A (en) * 2017-10-10 2018-03-13 平安科技(深圳)有限公司 Code coverage rate analysis method and application server
CN107844413A (en) * 2016-09-21 2018-03-27 阿里巴巴集团控股有限公司 A kind of method of testing and device
CN107870853A (en) * 2016-09-27 2018-04-03 北京京东尚科信息技术有限公司 The method and device of test program code path coverage
CN108037913A (en) * 2017-12-21 2018-05-15 西安邮电大学 A kind of conversion method of xUML4MC models to MSVL LISP program LISPs, computer program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8448146B2 (en) * 2011-03-31 2013-05-21 Infosys Limited Generation of functional tests for re-hosted applications
CN103377045B (en) * 2012-04-27 2016-12-14 国际商业机器公司 Method and system for Translation Verification Test

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414716A (en) * 1993-09-22 1995-05-09 Mitsubishi Electronic Research Laboratories, Inc. Weighting system for testing of circuits utilizing determination of undetected faults
US5724504A (en) * 1995-06-01 1998-03-03 International Business Machines Corporation Method for measuring architectural test coverage for design verification and building conformal test
CN1908892A (en) * 2005-08-01 2007-02-07 王彤 System and method for test examples design
CN101216803A (en) * 2008-01-09 2008-07-09 四川大学 Test program control stream path set creation method based on base path
CN102419728A (en) * 2011-11-01 2012-04-18 北京邮电大学 Method for determining software test process sufficiency based on coverage rate quantitative indicators
CN103902449A (en) * 2012-12-28 2014-07-02 百度在线网络技术(北京)有限公司 Method and device for generating search engine relevance ranking test case
CN104298589A (en) * 2013-07-16 2015-01-21 阿里巴巴集团控股有限公司 Performance test method and performance test equipment
CN105302716A (en) * 2014-07-30 2016-02-03 腾讯科技(深圳)有限公司 Method and apparatus for test in joint development mode
CN106445799A (en) * 2015-08-05 2017-02-22 阿里巴巴集团控股有限公司 Software testing method and device
CN105893253A (en) * 2016-03-29 2016-08-24 百度在线网络技术(北京)有限公司 Application software testing method, device and equipment
CN107844413A (en) * 2016-09-21 2018-03-27 阿里巴巴集团控股有限公司 A kind of method of testing and device
CN107870853A (en) * 2016-09-27 2018-04-03 北京京东尚科信息技术有限公司 The method and device of test program code path coverage
CN107608882A (en) * 2017-09-08 2018-01-19 天津津航计算技术研究所 A kind of software test case automatic generating method
CN107797923A (en) * 2017-10-10 2018-03-13 平安科技(深圳)有限公司 Code coverage rate analysis method and application server
CN108037913A (en) * 2017-12-21 2018-05-15 西安邮电大学 A kind of conversion method of xUML4MC models to MSVL LISP program LISPs, computer program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种利用适合性测试支持方法重定向的演算;赵银亮;朱常鹏;韩博;曾庆花;;软件学报;20130715(第07期);全文 *
有限状态机的行为阶段聚类及其对测试的应用;李华伟, 闵应骅, 李忠诚;中国科学E辑;20021220(第06期);全文 *

Also Published As

Publication number Publication date
CN111949505A (en) 2020-11-17

Similar Documents

Publication Publication Date Title
US10540350B2 (en) Source code search engine
CN108595157B (en) Block chain data processing method, device, equipment and storage medium
US10042746B2 (en) Callpath finder
US10592495B1 (en) Function-based object queries
US8719788B2 (en) Techniques for dynamically determining test platforms
KR20190020105A (en) Method and device for distributing streaming data
CN107832446B (en) Configuration item information searching method and computing device
US10031936B2 (en) Database table data fabrication
CN108415912B (en) Data processing method and device based on MapReduce model
US20130159347A1 (en) Automatic and dynamic design of cache groups
US11409724B2 (en) Hashed balanced tree data structure
CN111475511A (en) Data storage method, data access method, data storage device, data access device and data access equipment based on tree structure
CN110362569A (en) The method of calibration and device of tables of data, electronic equipment, storage medium
CN106776348B (en) Test case management method and device
CN111949505B (en) Test method, device and equipment
US9946755B2 (en) Automated hybrid constraint database manager
JP6561993B2 (en) Data management system, data management device, data management method, and program
US10013457B2 (en) Context based access path selection
CN110928941A (en) Data fragment extraction method and device
CN114996076B (en) Traversal type use case verification method and system for chip simulation and electronic equipment
CN106991116A (en) The optimization method and device of database executive plan
US9916412B2 (en) Automatic generation of test layouts for testing a design rule checking tool
US11847120B2 (en) Performance of SQL execution sequence in production database instance
CN113761746A (en) Method and device for identifying algebraic ring
CN110297625B (en) Application processing method and 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
TA01 Transfer of patent application right

Effective date of registration: 20210906

Address after: Room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: ALIBABA GROUP HOLDING Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20211119

Address after: No.12 Zhuantang science and technology economic block, Xihu District, Hangzhou City, Zhejiang Province

Applicant after: Aliyun Computing Co.,Ltd.

Address before: 310052 room 508, 5th floor, building 4, No. 699 Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: Alibaba (China) Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant