[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN112631926A - Code test coverage rate display method and device, computer equipment and storage medium - Google Patents

Code test coverage rate display method and device, computer equipment and storage medium Download PDF

Info

Publication number
CN112631926A
CN112631926A CN202011601433.4A CN202011601433A CN112631926A CN 112631926 A CN112631926 A CN 112631926A CN 202011601433 A CN202011601433 A CN 202011601433A CN 112631926 A CN112631926 A CN 112631926A
Authority
CN
China
Prior art keywords
code
coverage rate
full
line
incremental
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
CN202011601433.4A
Other languages
Chinese (zh)
Other versions
CN112631926B (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.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank Co 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 Ping An Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202011601433.4A priority Critical patent/CN112631926B/en
Publication of CN112631926A publication Critical patent/CN112631926A/en
Application granted granted Critical
Publication of CN112631926B publication Critical patent/CN112631926B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/3676Test management for coverage analysis
    • 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 invention relates to the technical field of artificial intelligence, is applied to the technical field of code performance testing, and discloses a code testing coverage rate display method, a code testing coverage rate display device, computer equipment and a storage medium. The method comprises the following steps: acquiring a main branch code corresponding to the functional branch code from a code warehouse management system; determining full-component code of the functional branch and delta code of the main branch code; performing instrumentation on the full-scale codes of the functional branches to obtain a test code file; testing the code file through a preset test case, and acquiring first running information when a first code of a full code is executed and second running information when a second code line of an incremental code is executed; acquiring the coverage rate of the full code when the first code line is executed by utilizing the first running information; acquiring the coverage rate of the incremental code when the incremental code is executed to the second code line by utilizing the second running information; displaying full code coverage in real time and incremental code coverage in real time.

Description

Code test coverage rate display method and device, computer equipment and storage medium
Technical Field
The invention relates to the technical field of artificial intelligence, is applied to the field of code performance testing, and particularly relates to a code testing coverage rate display method and device, computer equipment and a storage medium.
Background
The code coverage rate refers to the proportion or degree of code execution when the code test is performed, and the quality of the code can be known to a certain extent through the code coverage rate. In a traditional code coverage rate tool or an open source framework, asynchronous statistics can only be performed on the code coverage rate of a full code corresponding to a tested code, so that a code coverage rate report of the full code is generated, the function is single, the application scene is simple, however, an incremental code part corresponding to the tested code is different from a main branch code, the traditional asynchronous statistics mode only obtains the full code coverage rate and does not obtain the full code coverage rate asynchronously, the obtained code coverage rate reference value is not high, and the practicability is low.
Disclosure of Invention
The embodiment of the invention provides a code test coverage rate display method, a code test coverage rate display device, computer equipment and a storage medium, and aims to solve the technical problems that the reference value of code coverage rate obtained in a traditional code coverage rate tool is not high and the practicability is low.
A code test coverage rate display method comprises the following steps:
after receiving a coverage rate analysis instruction, acquiring a main branch code corresponding to the functional branch code from a code warehouse management system in real time;
acquiring a full code corresponding to the functional branch, and determining an incremental code of the functional branch according to the full code and the main branch code;
performing code instrumentation on the full code of the functional branch to obtain a test code file;
executing the test code file for testing so as to obtain first running information corresponding to the execution of a first code line of the full code and second running information corresponding to the execution of a second code line of the incremental code through instrumentation codes, wherein the first code line is any code line of the full code, and the second code line is any code line of the incremental code;
acquiring a corresponding full code coverage rate when the first code line is executed according to the first running information; acquiring corresponding incremental code coverage rate when the second code line is executed according to the second running information;
and displaying the corresponding full code coverage rate when the code is executed to the first code line in real time, and displaying the corresponding incremental code coverage rate when the code is executed to the second code line.
A code test coverage display device, comprising:
the establishing module is used for acquiring a main branch code corresponding to the functional branch code from the code warehouse management system in real time after receiving the coverage rate analysis instruction;
the determining module is used for acquiring a full code corresponding to the functional branch and determining an incremental code of the functional branch according to the full code and the main branch code;
the instrumentation processing module is used for performing code instrumentation processing on the full code of the functional branch to obtain a test code file;
the execution module is used for executing the test code file so as to obtain first running information corresponding to the first code of the full code and second running information corresponding to the second code line of the incremental code through instrumentation code;
the acquisition module is used for acquiring the corresponding full code coverage rate when the first code line is executed according to the first running information; acquiring corresponding incremental code coverage rate when the second code line is executed according to the second running information;
and the display module is used for displaying the coverage rate of the full code corresponding to the first code line in real time and the coverage rate of the incremental code corresponding to the second code line.
A computer device comprising a memory, a processor and a computer program stored in said memory and executable on said processor, said processor implementing the steps of the code test coverage display method described above when executing said computer program.
A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the code test coverage display method described above.
In the scheme realized by the code test coverage rate display method, the device, the computer equipment and the storage medium, the scheme for displaying the code coverage rate in real time when the code is executed to a certain line of the functional branch is specifically provided, the process of comparing the main branch code in the code warehouse management system is realized by utilizing the butt joint code warehouse management system, the incremental code is convenient to view, the full code coverage rate can be displayed in real time, the incremental code coverage rate can be displayed in real time, a new auxiliary test scene is provided by a mode of simultaneously displaying the full code coverage rate and the incremental code coverage rate in real time, and the obtained code coverage rate has higher reference value and higher practicability.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the description of the embodiments of the present invention will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings can be obtained according to these drawings without inventive labor.
FIG. 1 is a diagram of an application environment of a code test coverage display method according to an embodiment of the present invention;
FIG. 2 is a flowchart illustrating a code test coverage display method according to an embodiment of the present invention;
FIG. 3 is a schematic flow chart of a code test coverage rate display method according to an embodiment of the present invention;
FIG. 4 is a schematic flow chart illustrating a code test coverage display method according to an embodiment of the present invention;
FIG. 5 is a schematic flow chart illustrating a code test coverage display method according to an embodiment of the present invention;
FIG. 6 is a schematic diagram of a code test coverage display apparatus according to an embodiment of the present invention;
fig. 7 is a schematic structural diagram of a computer device in the embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The code test coverage rate display method provided by the embodiment of the invention can be applied to an application environment as shown in fig. 1, wherein the terminal device can communicate with the code warehouse management system through a network, so that the terminal device can obtain a main branch code corresponding to a functional branch code from the code warehouse management system in real time; determining different parts of the full component code and the main branch code corresponding to the functional branch to obtain the incremental code of the functional branch; performing code instrumentation on the full-scale codes of the functional branches to obtain a test code file; executing the test code file to test so as to obtain first running information corresponding to the first code of the full code and second running information corresponding to the second code line of the incremental code through the instrumentation code; correspondingly acquiring the corresponding full code coverage rate when the first code line is executed by utilizing the first running information; correspondingly acquiring the coverage rate of the corresponding incremental code when the second code line is executed by utilizing the second running information; and displaying the corresponding full code coverage rate when the code is executed to the first code line in real time, and displaying the corresponding incremental code coverage rate when the code is executed to the second code line. The first code line is any code line of the full code, the second code line is any code line of the incremental code, the terminal device may be, but is not limited to, terminal devices with display devices such as various personal computers, notebook computers, smart phones, tablet computers, portable wearable devices and the like, so as to be used as the terminal device as a code test coverage analysis tool, and the code warehouse management system may be implemented by an independent server or a server cluster composed of a plurality of servers, which is not limited in the specific embodiment of the invention.
In an embodiment, as shown in fig. 2, a code test coverage rate display method is provided, which is described as a complete embodiment by taking the terminal device in fig. 1 as an example, and includes the following steps:
s10: and after receiving the coverage rate analysis instruction, acquiring the main branch code corresponding to the functional branch code from the code warehouse management system in real time.
A code repository management system (gitlab) is a code management system, and in order to better manage codes of respective versions at the time of project development, it is necessary to perform management using the code repository management system gitlab. When the software scale corresponding to the project is large, development of software codes is refined by division of labor, so that the software development process is more and more complex, each development stage can be completed by different roles and developers, and in order to identify the code development results completed in different stages, a main line is established to identify the code development results completed in different stages. The main branch code (also called baseline version code or master branch) refers to a code version which is stable in state relative to other versions of code, the code corresponding to the main branch code is stored in the code warehouse management system gitlab, and other versions are modified based on the main branch code. The association relationship between each branch version and the main branch code can be associated by branch identification, that is, the main branch code is taken as a branch, the codes of other branch versions are all developed by the main branch code, and the codes of other branch versions are called functional branch codes (also called feature branch codes).
In the scheme, the terminal device serves as a code test coverage analysis tool, and a real-time communication relation can be established with the code warehouse management system gitlab in advance, so that after a coverage analysis instruction is received, the code test coverage analysis tool needs to analyze the code coverage of a certain functional branch code, and therefore a corresponding main branch code can be obtained from the code warehouse management system gitlab in real time according to the branch identification of the functional branch.
S20: and acquiring a full code corresponding to the functional branch, and determining an incremental code of the functional branch according to the full code and the main branch code.
The full code corresponding to the function branch refers to all codes of the function branch, and the incremental code of the function branch refers to the part of generation codes of which the full code of the function branch is changed relative to the main branch code. After a main branch code corresponding to a functional branch code is obtained from a code warehouse management system in real time and a full code corresponding to the functional branch is obtained, the full code corresponding to the functional branch and the main branch code can be compared, so that different parts of the full code and the main branch code are determined, and an incremental code of the functional branch is obtained.
S30: and performing code instrumentation on the full code of the functional branch to obtain a test code file.
It should be understood that code instrumentation is a processing method for inserting special code into source code so as to obtain an execution trace of the source code by using the special code. An instrumentation is an inserted code for obtaining the execution information of the source code. In this scheme, a preset code instrumentation mode can be adopted to perform code instrumentation processing. For example, based on the ASM method, code instrumentation may be performed on the full code and the incremental code of the functional branch, where the instrumented functional branch is a test code file, and this process includes instrumentation for obtaining running information of the full code of the computational functional branch and instrumentation for running information of the incremental code of the subsequent computational functional branch, where the bytecode instrumentation mode may be implemented using an on-the-fly or on-the-define instrumentation mode, and this scheme is not limited.
During implementation, a code instrumentation function can be realized by calling jacoco and other code coverage rate tools. It is worth noting that the code instrumentation mode adopted by the code coverage rate tools such as jacoco is only utilized in the scheme, the scheme is different from the traditional code coverage rate tools such as jacoco, and the instrumentation processing can be carried out on the operation information required to be acquired based on the subsequent required code test coverage rate requirement.
S40: and executing the test code file for testing so as to obtain first running information corresponding to the execution of the first code line of the full code and second running information corresponding to the execution of the second code line of the incremental code through the instrumentation code.
S50: correspondingly acquiring the corresponding full code coverage rate when the first code line is executed according to the first running information; and correspondingly acquiring the coverage rate of the incremental code corresponding to the second code line according to the second running information.
After the test code file is obtained, the test code file can be used as a test case for coverage analysis and calculation, and the test case is executed, so that first operation information corresponding to the execution of a first code line of the full code and second operation information corresponding to the execution of a second code line of the incremental code are obtained through instrumentation codes.
Wherein the first code line is any code line of the full-size code, and the second code line is any code line of the incremental code. The first run information refers to run information acquired for calculating a required full code coverage when executing an arbitrary code line to the full code. The second operation information refers to operation information acquired for calculating a required coverage rate of the incremental code when executing any code line of the incremental code.
In an embodiment, the obtaining, by using the first operation information, a full code coverage corresponding to the execution to the first code line is: analyzing the first running information, and acquiring the number of classes in which codes before the first code line are executed at least once when the first code line is executed, and the number of all classes contained in the full-size codes; and calculating the ratio of the number of classes of which the codes before the first code line are executed at least once to the number of all classes contained in the full code, and obtaining the corresponding full code coverage rate when the first code line is executed.
Correspondingly, the obtaining, by using the second operation information, the coverage of the incremental code corresponding to the execution of the second code line refers to analyzing the second operation information, and obtaining the number of classes in which the code before the second code line has been executed at least once when the second operation information is executed to the second code line, and the number of all classes included in the incremental code; and calculating the ratio of the number of classes of which the code before the second code line is executed at least once to the number of all classes contained in the incremental code to obtain the corresponding incremental code coverage rate when the code is executed to the second code line.
It should be noted that the above-mentioned full code coverage and the corresponding incremental code coverage are only one of the test scenarios, and the embodiment of the present invention is not limited. The following is described with respect to the code coverage in each scenario:
the first operation information may include the position of the number of lines executed when the first code line of the full code is executed, and all executed package names, class names, method names, instructions and lines; correspondingly, the full code coverage rate may include a full code class coverage rate, a full code method coverage rate, a full code instruction coverage rate, and a full code line coverage rate. The calculation method of each coverage rate in the full-scale code can be as follows:
the full code class coverage rate refers to the full code coverage rate of a class dimension in the full code, and specifically refers to the number NL1 of classes, which are executed at least once, of the code before the first code line in the full code, and the number AL1 of all classes included in the full code, when the first code line of the full code is executed, and then NL1/AL1 are calculated, so that the full code class coverage rate of the corresponding class dimension when the first code line is executed in the full code of the functional branch can be calculated.
The method coverage rate of the full code refers to the method coverage rate of the full code of the method dimension in the full code, and specifically refers to the NF1 for acquiring the number of methods executed at least once by the code before the first code line in the full code when the first code line of the full code is executed, and the AF1 for all methods contained in the full code, and then calculating NF1/AF1, so that the method coverage rate of the full code of the corresponding method dimension when the first code line is executed in the full code of the functional branch can be calculated.
The full code instruction coverage rate refers to the full code coverage rate of an instruction dimension in the full code, and specifically refers to the full code instruction coverage rate of a corresponding instruction dimension when the full code is executed to the first code line of the full code, wherein the full code instruction coverage rate of the corresponding instruction dimension in the full code when the full code is executed to the first code line of the full code can be calculated by acquiring the number NZ1 of instructions which are executed at least once before the first code line in the full code and the number AZ1 of all instructions contained in the full code, and then calculating NZ1/AZ 1.
The full code line coverage rate refers to the full code coverage rate of a line dimension in the full code, specifically refers to the number NH1 of lines in which codes before the first code line in the full code are executed at least once and the number NH1 of all lines included in the full code when the first code line of the full code is executed, and then NH1/NH1 are calculated, so that the full code class coverage rate of the corresponding line dimension when the first code line is executed in the full code of the functional branch can be calculated.
The second running information comprises a line number position when a second code line of the incremental code is executed, and all package names, class names, line numbers and line number positions in the executed incremental code; correspondingly, the incremental code coverage rate comprises an incremental code class coverage rate, an incremental code method coverage rate, an incremental code instruction coverage rate and an incremental code line coverage rate. Wherein, the meaning of each coverage rate in the incremental code is as follows:
the coverage rate of the incremental code class refers to the coverage rate of the incremental code of the class dimension in the incremental code, specifically refers to the coverage rate of the incremental code class of the corresponding class dimension when the incremental code is executed to the second code line of the incremental code, when the number NL2 of the classes executed at least once in the incremental code before the second code line and the number AL2 of all the classes contained in all the incremental code are obtained, and then the NL2/AL2 are calculated, so that the coverage rate of the incremental code class of the corresponding class dimension when the incremental code of the function branch is executed to the second code line can be calculated.
The coverage rate of the incremental code method refers to the coverage rate of the incremental code of the method dimension in the incremental code, and specifically refers to the coverage rate of the incremental code method of the corresponding method dimension when the incremental code is executed to the second code line of the incremental code by obtaining the number NF2 of the methods executed at least once in the incremental code before the second code line and the number AF2 of all the methods contained in all the incremental code, and then calculating NF2/AF 2.
The instruction coverage rate of the incremental code refers to the instruction coverage rate of the instruction dimension in the incremental code, and specifically refers to the instruction coverage rate of the incremental code of the corresponding instruction dimension when the incremental code is executed to the second code line in the incremental code, which is obtained by obtaining the number NZ2 of the instructions executed at least once in the incremental code before the second code line and the number AZ2 of all the instructions contained in all the incremental code, and then calculating NZ2/AZ2, so that the instruction coverage rate of the incremental code of the corresponding instruction dimension when the incremental code of the functional branch is executed to the second code line can be calculated.
The incremental code line coverage rate refers to the incremental code coverage rate of a line dimension in the incremental code, and specifically refers to the incremental code class coverage rate of a corresponding line dimension when the incremental code is executed to a second code line in the incremental code, which is obtained by obtaining the number of lines NH2 executed at least once in the incremental code before the second code line and the number of all lines NH2 included in all the incremental codes, and then calculating NH2/NH2, so that the incremental code class coverage rate of the corresponding line dimension in the incremental code of the function branch when the incremental code is executed to the second code line can be calculated.
It should be noted that, in practical application, the full-size code coverage and the incremental code coverage of any one dimension, or the full-size code coverage and the incremental code coverage of multiple dimensions may be selected, so as to facilitate subsequent corresponding display.
S60: and displaying the corresponding full code coverage rate when the code is executed to the first code line in real time, and displaying the corresponding incremental code coverage rate when the code is executed to the second code line.
In this step, the associated position of the first code line refers to a position convenient for the user to refer to the full code coverage rate displayed in real time, for example, in an application scenario, two interfaces, namely, a left interface and a right interface, may be rendered in a display interface, where the first interface displays execution position conditions in the full code and the incremental code, that is, which line of code is rendered to execute, and the second interface displays the full code coverage rate and the incremental code coverage rate corresponding to the line of code when the line of code is executed, so that the user can visually see the full code coverage rate and the incremental code coverage rate corresponding to a certain line of code.
The scheme is different from the traditional scheme in that the scheme can be used for docking the code warehouse management system gitlab in real time to establish real-time communication connection, so that main branch codes can be obtained in real time, and real-time calculation and real-time display of line-level code coverage rate are realized in combination with a code instrumentation mode instead of asynchronous calculation and display, which is a place completely different from code coverage tools such as jacoco and the like in the traditional scheme.
In addition, the scheme also utilizes a docking code warehouse management system to realize the process of comparing the main branch codes in the code warehouse management system, is convenient for viewing the incremental codes, can display the coverage rate of the full codes in real time, can display the coverage rate of the incremental codes in real time, and provides a new auxiliary test scene in a mode of simultaneously displaying the coverage rate of the full codes and the coverage rate of the incremental codes in real time, so that the obtained code coverage rate has higher reference value and higher practicability.
In an embodiment, before the test code file is tested through a preset test case of the test code file, a specific package, class and row number are selected from the package, class and row number in the test code file through a preset configuration rule for shielding.
For example, in the front-end page, the user only needs to add the path of the target package or the target class to the blacklist of the code testing coverage analysis tool, which is a simple application scenario: specifically, com/pic/qa/LogCollectJob can be added, namely all codes under the com/pic/qa/LogCollectJob can be shielded, and since the selected target package or target class is shielded, the selected target package or target class does not participate in the calculation of the code coverage, the calculation amount of the code coverage can be reduced, the real-time effect on the real-time performance is also reduced, the test diversity and pertinence are improved, and unnecessary calculation is reduced.
In an embodiment, as shown in fig. 3, after the first operation information further includes uncovered code information and covered code information when the first code line is executed, and the test code file is tested by using a preset test case of the test code file, so as to obtain, by using instrumentation code, first operation information corresponding to the first code when the first code of the full amount of codes is executed, the method further includes the following steps:
s70: and correspondingly determining the uncovered code and the covered code in the full code when the code is executed to the first code line by using the uncovered code information and the covered code information when the code is executed to the first code line.
S80: and carrying out differential dyeing display on uncovered codes and covered codes in the full-amount codes in real time.
For the steps S78-S80, the condition of covering and uncovering codes in the codes of the functional branches is visually displayed in a distinguishing and dyeing display mode, so that the user can conveniently and distinctively check the codes, and the practicability is high.
In one embodiment, as shown in fig. 4, before determining that code coverage analysis needs to be performed on the code of a certain functional branch in step S10, the method further includes the following steps:
s00: and judging whether a coverage analysis command fed back by the code issuing tool is received, if so, executing the steps S10-S80.
And the coverage rate analysis instruction is sent when a user issues the code of the functional branch to a test environment for testing through a code issuing tool. It can be understood that after the user writes the code corresponding to the functional branch, the code of the functional branch needs to be issued to the test environment through the code issuing tool for testing, when the user issues the code of the functional branch through the code issuing tool, due to the fact that the docking relationship with the code issuing tool is established in advance, the code issuing tool is triggered to send a coverage analysis instruction to the code test coverage analysis tool, after the code test coverage analysis tool receives the coverage analysis instruction, it is determined that the code coverage analysis needs to be performed on the code of the functional branch, and then the processing logic of the above steps S10-S60 is executed. Therefore, by the embodiment of the invention, when the project releases the test environment, the code coverage rate can be tested in time, which is beneficial to finding problems in time.
In an embodiment, as shown in fig. 5, after step S50, that is, according to the first operation information, the corresponding full code coverage rate when the first code line is executed is correspondingly obtained; and, after correspondingly acquiring the coverage rate of the incremental code corresponding to the second code line according to the second running information, the method further comprises the following steps:
s90: and collecting the full code coverage rate and the incremental code coverage rate according to the set statistical duration.
It should be noted that, when the first operation information is utilized, the corresponding full code coverage rate when the first code line is executed is correspondingly obtained; and correspondingly acquiring the coverage rate of the incremental code corresponding to the second code line when the second code line is executed by using the second running information, and then obtaining the coverage rate of the code corresponding to each line when the second code line is executed. The statistical duration refers to a time period for counting and collecting the full code coverage and the incremental code coverage.
S100: and generating a code coverage rate report corresponding to the statistical duration, and reporting the code coverage rate report to a code coverage rate analysis system at regular time.
For example, one code coverage report may be sent per day. The statistical duration may be a day or other time, which is not limited herein. And reporting the code coverage rate report to a code coverage rate analysis system, so that an analyst can conveniently look up the report.
S110: and detecting the code coverage rate report corresponding to each functional branch to determine the application corresponding to the functional branch which does not reach the standard in the code coverage rate report.
S120: and carrying out early warning prompt on the application corresponding to the functional branch of which the code coverage rate report does not reach the standard, wherein the early warning prompt is used for prompting that the application corresponding to the functional branch which does not reach the standard is prohibited to be issued to a production environment.
It should be noted that, according to the present disclosure, code coverage may be tested on a plurality of functional branches, so that a code coverage report corresponding to each functional branch may be obtained, after the code coverage report corresponding to each functional branch is obtained, the code coverage report corresponding to each functional branch is detected, and an application corresponding to a functional branch that does not meet the standard in the code coverage report is determined. For example, the code coverage report of the functional branch corresponding to the application a does not reach the standard, which indicates that the application a cannot be issued to the production environment at this time, so that an early warning prompt is performed on the application corresponding to the functional branch whose code coverage report does not reach the standard, where the early warning prompt is used to prompt that the application corresponding to the functional branch which does not reach the standard is prohibited from being issued to the production environment. Therefore, the function branches of the applications which do not reach the standard can be effectively prevented from being issued, the rework rate is reduced, and the application issuing efficiency is improved.
In one embodiment, after displaying the full code coverage rate corresponding to the execution to the first code line in real time and the incremental code coverage rate corresponding to the second code line, the method further includes the following steps:
s03: receiving a coverage rate analysis instruction triggered by a user, and responding to the coverage rate analysis instruction to display a coverage rate analysis box, wherein the coverage rate analysis box comprises an uncovered reason type pull-down selection item and an uncovered reason filling box, and the uncovered reason type pull-down selection item comprises a plurality of common uncovered reasons which can be selected by the user.
The type of the uncovered reason may be various, for example, a parameter passing error, an insufficient test due to insufficient number of tests, an invalid code, and the like, and after the uncovered code is displayed in real time, the user may analyze the uncovered code to select an appropriate uncovered reason.
S04: and receiving the target uncovered reason type selected by the user in the uncovered reason type pull-down selection item, and receiving the coverage rate analysis content filled in by the user in the uncovered reason filling box.
S05: and when a confirmation submitting instruction triggered by a user is received, associating and submitting the target uncovered reason type, the coverage rate analysis content and a certain type of codes to a code coverage rate analysis system.
The analysis can be clicked on at the front end for the code coverage of a certain dimension, and then the reason for the low coverage is filled in. And the analysis rate can be recorded by a user on the platform, and the analysis rate is submitted to a code coverage rate analysis system, so that a supervision tester analyzes the reason of low coverage rate. According to the scheme, the reason can be reported quickly and the processing efficiency is improved based on the predefined uncovered reason type pull-down selection item.
In summary, the scheme is a scheme for displaying a certain line of codes in real time when the certain line of codes is executed, and the baseline version can be compared in real time by using the docking gitlab, so that incremental codes can be conveniently checked, and an accurate test design scene is assisted. The scheme can also cover the test codes in real time, the real-time dyeing is distinguished, the increment and the whole code coverage can be checked in real time after the test is executed, and the assistant test supplements the test scene. In addition, the scheme can also establish a connection relation with a code publishing tool so as to construct a test process of a complete closed-loop mechanism, and test efficiency and integrity are improved.
It should be understood that, the sequence numbers of the steps in the foregoing embodiments do not imply an execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present invention.
In an embodiment, a code test coverage rate display apparatus is provided, and the code test coverage rate display apparatus corresponds to the code test coverage rate display method in the above embodiment one to one. As shown in fig. 6, the code test coverage rate display apparatus includes a setup module 100, a determination module 101, an instrumentation processing module 102, a test module 103, and a display module 105. The functional modules are explained in detail as follows:
the establishing module 100 is configured to obtain, in real time, a main branch code corresponding to the functional branch code from the code warehouse management system after receiving the coverage analysis instruction;
a determining module 101, configured to obtain a full size code corresponding to the functional branch, and determine an incremental code of the functional branch according to the full size code and the main branch code;
the instrumentation processing module 102 is configured to perform code instrumentation on the full-size codes of the functional branches by using a code instrumentation mode to obtain a test code file;
the execution module 103 is configured to execute the test code file, so as to obtain, through instrumentation codes, first operation information corresponding to the execution of a first code of the full-size code and second operation information corresponding to the execution of a second code line of the incremental code, where the first code line is any code line of the full-size code, and the second code line is any code line of the incremental code;
an obtaining module 104, configured to obtain, according to the first operation information, a corresponding full code coverage rate when the first code line is executed; acquiring corresponding incremental code coverage rate when the second code line is executed according to the second running information;
a display module 105, configured to display the full code coverage rate corresponding to the first code line in real time, and display the incremental code coverage rate corresponding to the second code line.
In an embodiment, the obtaining module 104 is specifically configured to:
analyzing the first running information, and acquiring the number of classes in which codes before the first code line are executed at least once when the first code line is executed, and the number of all classes contained in the full-size codes;
calculating the ratio of the number of classes of which the codes before the first code line are executed at least once to the number of all classes contained in the full code to obtain the corresponding full code coverage rate when the codes are executed to the first code line;
analyzing the second running information, and acquiring the number of classes in which codes before the second code line are executed at least once when the second code line is executed, and the number of all classes contained in the incremental codes;
and calculating the ratio of the number of classes of which the code before the second code line is executed at least once to the number of all classes contained in the incremental code to obtain the corresponding incremental code coverage rate when the code is executed to the second code line.
In an embodiment, the code test coverage rate display apparatus further includes a receiving module, where the receiving module is configured to receive a coverage rate analysis instruction fed back by a code issuing tool, where the coverage rate analysis instruction is sent when a user issues a code of the functional branch to a test environment for testing through the code issuing tool.
In one embodiment, the code test coverage rate display device further includes a statistic module, a generating module, a reporting module, a detecting module, and an early warning module:
the counting module is used for collecting the full code coverage rate and the incremental code coverage rate according to the set counting duration;
and the generating module is used for generating a code coverage rate report corresponding to the statistical duration and reporting the code coverage rate report to the code coverage rate analysis system at regular time.
The detection module is used for detecting the code coverage rate report corresponding to each functional branch so as to determine the application corresponding to the functional branch which does not reach the standard in the code coverage rate report;
the early warning module is used for carrying out early warning prompt on the application corresponding to the functional branch which does not reach the standard in the code coverage rate report, and the early warning prompt is used for prompting that the application corresponding to the functional branch which does not reach the standard is prohibited to be issued to a production environment.
In an embodiment, the receiving module is further configured to:
receiving a coverage rate analysis instruction of a certain type by a user, and responding to the coverage rate analysis instruction to display a coverage rate analysis box, wherein the coverage rate analysis box comprises an uncovered reason type pull-down selection item and an uncovered reason filling box, and the uncovered reason type pull-down selection item comprises a plurality of common uncovered reasons which can be selected by the user; receiving a target uncovered reason type selected by the user in the uncovered reason type pull-down selection item, and receiving coverage analysis content filled in by the user in an uncovered reason filling box;
and the reporting module is used for associating and submitting the target uncovered reason type and the coverage rate analysis content to a code coverage rate analysis system when receiving a confirmation submitting instruction.
Therefore, in the embodiment of the invention, a code test coverage rate display device is provided, and particularly, a scheme for displaying the code coverage rate in real time when a certain line of codes of a functional branch is executed is provided, a process of comparing the main branch codes in a code warehouse management system is realized by using a docking code warehouse management system, incremental codes are conveniently checked, the full code coverage rate can be displayed in real time, the incremental code coverage rate can be displayed in real time, a new auxiliary test scene is provided by displaying the full code coverage rate and the incremental code coverage rate in real time, and the obtained code coverage rate has a higher reference value and higher practicability.
For specific definition of the code test coverage rate display device, reference may be made to the above definition of the code test coverage rate display method, which is not described herein again. The modules in the code test coverage rate display device can be wholly or partially realized by software, hardware and a combination thereof. The modules can be embedded in a hardware form or independent from a processor in the computer device, and can also be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to the modules.
In one embodiment, a computer device is provided, which may be a terminal device, and its internal structure diagram may be as shown in fig. 7. The computer device includes a processor, a memory, a network interface, a display screen, and an input device connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device comprises nonvolatile and volatile storage media and an internal memory. The storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of an operating system and computer programs in the non-volatile storage medium. The network interface of the computer device is for communicating with the code repository management system over a network connection. The computer program is executed by a processor to implement a code test coverage display method.
In one embodiment, a computer device is provided, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing the following steps when executing the computer program:
after receiving a coverage rate analysis instruction, acquiring a main branch code corresponding to the functional branch code from a code warehouse management system in real time;
acquiring a full code corresponding to the functional branch, and determining an incremental code of the functional branch according to the full code and the main branch code;
performing code instrumentation on the full code of the functional branch to obtain a test code file;
executing the test code file to obtain first running information corresponding to the execution of a first code line of the full code and second running information corresponding to the execution of a second code line of the incremental code through instrumentation codes, wherein the first code line is any code line of the full code, and the second code line is any code line of the incremental code;
acquiring a corresponding full code coverage rate when the first code line is executed according to the first running information; acquiring corresponding incremental code coverage rate when the second code line is executed according to the second running information;
and displaying the corresponding full code coverage rate when the code is executed to the first code line in real time, and displaying the corresponding incremental code coverage rate when the code is executed to the second code line.
In one embodiment, a computer-readable storage medium is provided, having a computer program stored thereon, which when executed by a processor, performs the steps of:
after receiving a coverage rate analysis instruction, acquiring a main branch code corresponding to a functional branch from a code warehouse management system;
acquiring a full code corresponding to the functional branch, and determining an incremental code of the functional branch according to the full code and the main branch code;
performing code instrumentation on the full code of the functional branch to obtain a test code file;
executing the test code file to obtain first running information corresponding to the execution of a first code line of the full code and second running information corresponding to the execution of a second code line of the incremental code through instrumentation codes, wherein the first code line is any code line of the full code, and the second code line is any code line of the incremental code;
acquiring a corresponding full code coverage rate when the first code line is executed according to the first running information; acquiring corresponding incremental code coverage rate when the second code line is executed according to the second running information;
and displaying the corresponding full code coverage rate when the code is executed to the first code line in real time, and displaying the corresponding incremental code coverage rate when the code is executed to the second code line.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in the embodiments provided herein may include non-volatile and/or volatile memory, among others. Non-volatile memory can include read-only memory (ROM), Programmable ROM (PROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDRSDRAM), Enhanced SDRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), Rambus Direct RAM (RDRAM), direct bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-mentioned division of the functional units and modules is illustrated, and in practical applications, the above-mentioned function distribution may be performed by different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-mentioned functions.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present invention, and not for limiting the same; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present invention, and are intended to be included within the scope of the present invention.

Claims (10)

1. A code test coverage rate display method is characterized by comprising the following steps:
after receiving a coverage rate analysis instruction, acquiring a main branch code corresponding to a functional branch from a code warehouse management system;
acquiring a full code corresponding to the functional branch, and determining an incremental code of the functional branch according to the full code and the main branch code;
performing code instrumentation on the full code of the functional branch to obtain a test code file;
executing the test code file to obtain first running information corresponding to the execution of a first code line of the full code and second running information corresponding to the execution of a second code line of the incremental code through instrumentation codes, wherein the first code line is any code line of the full code, and the second code line is any code line of the incremental code;
acquiring a corresponding full code coverage rate when the first code line is executed according to the first running information; acquiring corresponding incremental code coverage rate when the second code line is executed according to the second running information;
and displaying the corresponding full code coverage rate when the code is executed to the first code line in real time, and displaying the corresponding incremental code coverage rate when the code is executed to the second code line.
2. The method for displaying code test coverage rate according to claim 1, wherein the obtaining, according to the first operation information, a full code coverage rate corresponding to the first code line, includes:
analyzing the first running information, and acquiring the number of classes in which codes before the first code line are executed at least once when the first code line is executed, and the number of all classes contained in the full-size codes;
calculating the ratio of the number of classes of which the codes before the first code line are executed at least once to the number of all classes contained in the full code to obtain the corresponding full code coverage rate when the codes are executed to the first code line;
the obtaining, according to the second operation information, an incremental code coverage rate corresponding to the second code line, includes:
analyzing the second running information, and acquiring the number of classes in which codes before the second code line are executed at least once when the second code line is executed, and the number of all classes contained in the incremental codes;
and calculating the ratio of the number of classes of which the code before the second code line is executed at least once to the number of all classes contained in the incremental code to obtain the corresponding incremental code coverage rate when the code is executed to the second code line.
3. The method for displaying code test coverage as recited in claim 1, wherein before the obtaining the main branch code corresponding to the functional branch from the code warehouse management system, the method further comprises:
and receiving a coverage rate analysis instruction fed back by the code issuing tool, wherein the coverage rate analysis instruction is sent when a user issues the code of the functional branch to a test environment for testing through the code issuing tool.
4. The code test coverage rate display method according to claim 1, wherein the first operation information includes uncovered code information and covered code information when executing to the first code line, and after the test code file is tested to obtain corresponding first operation information when executing to the first code of the full amount of codes through instrumented code, the method further includes:
correspondingly determining uncovered codes and covered codes in the full-scale codes when the uncovered code information and the covered code information are executed to the first code line;
and carrying out differential dyeing display on the uncovered codes and the covered codes in real time.
5. The code test coverage rate display method according to any one of claims 1 to 4, wherein the full code coverage rate corresponding to the execution to the first code line is obtained according to the first operation information; and after acquiring the coverage rate of the incremental code corresponding to the execution of the second code line according to the second running information, the method further comprises:
collecting the coverage rate of the full-amount codes and the coverage rate of the incremental codes according to the set statistical duration;
generating a code coverage rate report corresponding to the statistical duration, and reporting the code coverage rate report to a code coverage rate analysis system at regular time;
detecting a code coverage rate report corresponding to each functional branch to determine the application corresponding to the functional branch which does not reach the standard in the code coverage rate report;
and carrying out early warning prompt on the application corresponding to the functional branch of which the code coverage rate report does not reach the standard, wherein the early warning prompt is used for prompting that the application corresponding to the functional branch which does not reach the standard is prohibited to be issued to a production environment.
6. The method of displaying code test coverage of claim 1, wherein the displaying in real-time a corresponding full code coverage as it executes to the first code line and after a corresponding incremental code coverage at the second code line, the method further comprises:
receiving a coverage rate analysis instruction triggered by a user, and responding to the coverage rate analysis instruction to display a coverage rate analysis box, wherein the coverage rate analysis box comprises an uncovered reason type pull-down selection item and an uncovered reason filling box, and the uncovered reason type pull-down selection item comprises a plurality of common uncovered reasons which can be selected by the user;
receiving a target uncovered reason type selected by the user in the uncovered reason type pull-down selection item, and receiving coverage analysis content filled in by the user in an uncovered reason filling box;
and when receiving a confirmation submitting instruction triggered by the user, submitting the target uncovered reason type and the coverage analysis content to a code coverage analysis system in an associated manner.
7. A code test coverage display device, comprising:
the establishing module is used for acquiring a main branch code corresponding to the functional branch code from a code warehouse management system in real time when a coverage rate analysis instruction is received;
the determining module is used for acquiring a full code corresponding to the functional branch and determining an incremental code of the functional branch according to the full code and the main branch code;
the instrumentation processing module is used for performing code instrumentation processing on the full codes of the functional branches by adopting a code instrumentation mode to obtain a test code file;
the execution module is used for executing the test code file so as to obtain corresponding first operation information when a first code of the full code is executed and corresponding second operation information when a second code line of the incremental code is executed through instrumentation codes, wherein the first code line is any code line of the full code, and the second code line is any code line of the incremental code;
the acquisition module is used for acquiring the corresponding full code coverage rate when the first code line is executed according to the first running information; acquiring corresponding incremental code coverage rate when the second code line is executed according to the second running information;
and the display module is used for displaying the coverage rate of the full code corresponding to the first code line in real time and the coverage rate of the incremental code corresponding to the second code line.
8. The code test coverage display apparatus of claim 7, wherein the code test coverage display apparatus further comprises a receiving module;
the receiving module is used for receiving a coverage analysis instruction fed back by a code issuing tool, wherein the coverage analysis instruction is sent when a user issues a code of the functional branch to a test environment for testing through the code issuing tool.
9. A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the processor implements the steps of the code test coverage display method according to any one of claims 1 to 6 when executing the computer program.
10. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the code test coverage display method according to any one of claims 1 to 6.
CN202011601433.4A 2020-12-29 2020-12-29 Code test coverage rate display method and device, computer equipment and storage medium Active CN112631926B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011601433.4A CN112631926B (en) 2020-12-29 2020-12-29 Code test coverage rate display method and device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011601433.4A CN112631926B (en) 2020-12-29 2020-12-29 Code test coverage rate display method and device, computer equipment and storage medium

Publications (2)

Publication Number Publication Date
CN112631926A true CN112631926A (en) 2021-04-09
CN112631926B CN112631926B (en) 2024-06-25

Family

ID=75286392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011601433.4A Active CN112631926B (en) 2020-12-29 2020-12-29 Code test coverage rate display method and device, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112631926B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113204350A (en) * 2021-06-07 2021-08-03 中国银行股份有限公司 Code increment coverage rate statistical method and device, electronic equipment and storage medium
CN113326190A (en) * 2021-05-27 2021-08-31 北京百度网讯科技有限公司 Method and device for determining code coverage rate and electronic equipment
CN113360394A (en) * 2021-06-25 2021-09-07 汇付天下有限公司 Code test coverage rate statistical method and device
CN113568839A (en) * 2021-08-03 2021-10-29 京东科技控股股份有限公司 Method, device, equipment and medium for software testing and statistical test coverage rate

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140082594A1 (en) * 2012-09-20 2014-03-20 Fujitsu Limited Abstract symbolic execution for scaling symbolic execution generation and automatic test generation
CN105204982A (en) * 2014-06-13 2015-12-30 腾讯科技(深圳)有限公司 Code testing method and code testing system
CN109857631A (en) * 2018-11-02 2019-06-07 平安科技(深圳)有限公司 Code coverage statistical method, device, equipment and storage medium based on artificial intelligence
CN110413532A (en) * 2019-08-08 2019-11-05 上海新炬网络技术有限公司 More process version change code coverage acquisition methods suitable for agility test
CN110532174A (en) * 2019-07-24 2019-12-03 平安科技(深圳)有限公司 Calculate method, apparatus, computer equipment and the storage medium of incremental code coverage rate
CN111104319A (en) * 2019-12-13 2020-05-05 北京同邦卓益科技有限公司 Code coverage rate testing method and device, electronic equipment and storage medium
CN111831535A (en) * 2019-04-17 2020-10-27 北京世纪好未来教育科技有限公司 Code positioning method and device of test case and computer storage medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140082594A1 (en) * 2012-09-20 2014-03-20 Fujitsu Limited Abstract symbolic execution for scaling symbolic execution generation and automatic test generation
CN105204982A (en) * 2014-06-13 2015-12-30 腾讯科技(深圳)有限公司 Code testing method and code testing system
CN109857631A (en) * 2018-11-02 2019-06-07 平安科技(深圳)有限公司 Code coverage statistical method, device, equipment and storage medium based on artificial intelligence
CN111831535A (en) * 2019-04-17 2020-10-27 北京世纪好未来教育科技有限公司 Code positioning method and device of test case and computer storage medium
CN110532174A (en) * 2019-07-24 2019-12-03 平安科技(深圳)有限公司 Calculate method, apparatus, computer equipment and the storage medium of incremental code coverage rate
CN110413532A (en) * 2019-08-08 2019-11-05 上海新炬网络技术有限公司 More process version change code coverage acquisition methods suitable for agility test
CN111104319A (en) * 2019-12-13 2020-05-05 北京同邦卓益科技有限公司 Code coverage rate testing method and device, electronic equipment and storage medium

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113326190A (en) * 2021-05-27 2021-08-31 北京百度网讯科技有限公司 Method and device for determining code coverage rate and electronic equipment
CN113204350A (en) * 2021-06-07 2021-08-03 中国银行股份有限公司 Code increment coverage rate statistical method and device, electronic equipment and storage medium
CN113360394A (en) * 2021-06-25 2021-09-07 汇付天下有限公司 Code test coverage rate statistical method and device
CN113568839A (en) * 2021-08-03 2021-10-29 京东科技控股股份有限公司 Method, device, equipment and medium for software testing and statistical test coverage rate

Also Published As

Publication number Publication date
CN112631926B (en) 2024-06-25

Similar Documents

Publication Publication Date Title
CN112631926B (en) Code test coverage rate display method and device, computer equipment and storage medium
CN112884092B (en) AI model generation method, electronic device, and storage medium
US9524226B2 (en) System and method for display of software quality
CN110704297A (en) Code evaluation method and device, computer equipment and storage medium
CN111897727A (en) Software testing method and device, computer equipment and storage medium
CN113901647B (en) Part technical specification compiling method and device, storage medium and electronic equipment
CN111026647A (en) Code coverage rate obtaining method and device, computer equipment and storage medium
US9563541B2 (en) Software defect detection identifying location of diverging paths
CN113176995A (en) Interface testing method, device, equipment and medium based on testing scene
CN112395202A (en) Interface automation test method and device, computer equipment and storage medium
CN112153375A (en) Front-end performance testing method, device, equipment and medium based on video information
CN109067605B (en) Storage subsystem fault diagnosis method and device, terminal and storage medium
CN111352997A (en) Test environment verification method and system
CN109902001B (en) Method for detecting uninitialized variable and terminal equipment
CN113778878A (en) Interface testing method and device, electronic equipment and storage medium
CN112528577B (en) Clock reset circuit management method, device and computer storage medium
CN110032781B (en) Editing time sequence constraint method and device, computer equipment and storage medium
CN112612706A (en) Automated testing method, computer device and storage medium
CN111858377A (en) Quality evaluation method and device for test script, electronic device and storage medium
CN117493188A (en) Interface testing method and device, electronic equipment and storage medium
CN114490361A (en) Test script quality obtaining method and device, computer equipment and storage medium
CN115048285A (en) Method, device, equipment and medium for acquiring test data
CN109840213B (en) Test data creating method, device, terminal and storage medium for GUI test
CN113220586A (en) Automatic interface pressure test execution method, device and system
CN113791980A (en) Test case conversion analysis method, device, 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