Regression test result processing method and device, computer equipment and storage medium
By summarizing and analyzing the regression test results of various functional modules of the chip, generating analysis charts and summary emails, the problem of inefficiency of traditional methods is solved and the troubleshooting efficiency is improved.
Patent Information
- Application Number
- CN202311016637.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-11
- Publication Date
- 2025-02-25
AI Technical Summary
The traditional regression test results processing methods are inefficient, resulting in low troubleshooting efficiency.
By obtaining the regression test results report of each functional module of the chip, summarizing it into tabular data, and generating an analysis chart based on the target regression verification indicators, and finally generating a summary email to send.
Improves troubleshooting efficiency and enables the mail receiving object to quickly analyze regression test results.
Smart Images

Figure CN119512914A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a regression test result processing method, apparatus, computer equipment, storage medium and computer program product. Background Art
[0002] With the development of computer technology, EDA (Electronic design automation) front-end design technology has emerged. In the EDA front-end design and development, verification personnel need to perform a large number of regression tests and generate a large number of regression test results every day. Among them, regression testing refers to the process in which verification personnel input different seed numbers into the use cases they have written to generate different stimuli, thereby achieving a process close to full verification.
[0003] In traditional technology, after generating a large number of regression test results, verification personnel need to check the large number of regression test results one by one to find potential faults. However, the traditional method has a low inspection efficiency when checking a large number of regression test results because there is a lot of redundant information in the large number of regression test results, which leads to low efficiency in troubleshooting. Summary of the invention
[0004] Based on this, it is necessary to provide a regression test result processing method, apparatus, computer equipment, computer-readable storage medium and computer program product that can improve troubleshooting efficiency in response to the above technical problems.
[0005] In a first aspect, the present application provides a regression test result processing method. The method comprises:
[0006] After performing a regression test for verification on each functional module in the chip, a regression test result report of each functional module is obtained; the regression test result report records the regression test result; the regression test result includes a regression test date and an indicator value of at least one regression verification indicator;
[0007] Based on the function module name, the regression test date and the at least one regression verification indicator of each function module, the regression test result report of each function module is summarized to obtain tabular regression data;
[0008] According to the indicator value of the target regression verification indicator in the at least one regression verification indicator, a verification indicator analysis graph of the target regression verification indicator is generated, and the verification indicator analysis graph is cached to obtain a picture cache address; the verification indicator analysis graph is used to describe the change trend of the indicator value of the target regression verification indicator of each of the functional modules;
[0009] According to the preset summary email framework structure, based on the tabular regression data, the verification index analysis chart and the image cache address, a regression test result summary email is generated and sent.
[0010] In a second aspect, the present application also provides a regression test result processing device. The device comprises:
[0011] A collection module, used for obtaining a regression test result report of each functional module in the chip after performing a regression test for verification; the regression test result report records the regression test result; the regression test result includes a regression test date and an indicator value of at least one regression verification indicator;
[0012] A summary module, configured to summarize the regression test result reports of each of the functional modules based on the functional module names, the regression test dates and the at least one regression verification indicator of each of the functional modules to obtain tabular regression data;
[0013] A sorting module, used to generate a verification indicator analysis graph of the target regression verification indicator according to the indicator value of the target regression verification indicator in the at least one regression verification indicator, cache the verification indicator analysis graph, and obtain a picture cache address; the verification indicator analysis graph is used to describe the change trend of the indicator value of the target regression verification indicator of each of the functional modules;
[0014] The reporting module is used to generate and send a regression test result summary email according to a preset summary email framework structure based on the tabular regression data, the verification indicator analysis chart and the image cache address.
[0015] In a third aspect, the present application further provides a computer device. The computer device includes a memory and a processor, the memory stores a computer program, and the processor implements the following steps when executing the computer program:
[0016] After performing a regression test for verification on each functional module in the chip, a regression test result report of each functional module is obtained; the regression test result report records the regression test result; the regression test result includes a regression test date and an indicator value of at least one regression verification indicator;
[0017] Based on the function module name, the regression test date and the at least one regression verification indicator of each function module, the regression test result report of each function module is summarized to obtain tabular regression data;
[0018] According to the indicator value of the target regression verification indicator in the at least one regression verification indicator, a verification indicator analysis graph of the target regression verification indicator is generated, and the verification indicator analysis graph is cached to obtain a picture cache address; the verification indicator analysis graph is used to describe the change trend of the indicator value of the target regression verification indicator of each of the functional modules;
[0019] According to the preset summary email framework structure, based on the tabular regression data, the verification index analysis chart and the image cache address, a regression test result summary email is generated and sent.
[0020] In a fourth aspect, the present application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the following steps are implemented:
[0021] After performing a regression test for verification on each functional module in the chip, a regression test result report of each functional module is obtained; the regression test result report records the regression test result; the regression test result includes a regression test date and an indicator value of at least one regression verification indicator;
[0022] Based on the function module name, the regression test date and the at least one regression verification indicator of each function module, the regression test result report of each function module is summarized to obtain tabular regression data;
[0023] According to the indicator value of the target regression verification indicator in the at least one regression verification indicator, a verification indicator analysis graph of the target regression verification indicator is generated, and the verification indicator analysis graph is cached to obtain a picture cache address; the verification indicator analysis graph is used to describe the change trend of the indicator value of the target regression verification indicator of each of the functional modules;
[0024] According to the preset summary email framework structure, based on the tabular regression data, the verification index analysis chart and the image cache address, a regression test result summary email is generated and sent.
[0025] In a fifth aspect, the present application further provides a computer program product. The computer program product includes a computer program, and when the computer program is executed by a processor, the following steps are implemented:
[0026] After performing a regression test for verification on each functional module in the chip, a regression test result report of each functional module is obtained; the regression test result report records the regression test result; the regression test result includes a regression test date and an indicator value of at least one regression verification indicator;
[0027] Based on the function module name, the regression test date and the at least one regression verification indicator of each function module, the regression test result report of each function module is summarized to obtain tabular regression data;
[0028] According to the indicator value of the target regression verification indicator in the at least one regression verification indicator, a verification indicator analysis graph of the target regression verification indicator is generated, and the verification indicator analysis graph is cached to obtain a picture cache address; the verification indicator analysis graph is used to describe the change trend of the indicator value of the target regression verification indicator of each of the functional modules;
[0029] According to the preset summary email framework structure, based on the tabular regression data, the verification index analysis chart and the image cache address, a regression test result summary email is generated and sent.
[0030] The above-mentioned regression test result processing method, device, computer equipment, storage medium and computer program product, after performing regression tests for verification on each functional module in the chip, obtains the regression test result report recording the regression test result of each functional module, and summarizes the regression test result report of each functional module based on the functional module name, regression test date and at least one regression verification indicator of each functional module, so as to obtain summarized tabular regression data. At the same time, using the indicator value of the target regression verification indicator in at least one regression verification indicator, a verification indicator analysis chart of the target regression verification indicator is generated, which can realize the analysis of the change trend of the indicator value of the target regression verification indicator of each functional module. Then, on the basis of summarizing and analyzing the regression test result reports of each functional module, according to the preset summary email framework architecture, based on the tabular regression data, the verification indicator analysis chart and the image cache address obtained after caching the verification indicator analysis chart, a regression test result summary email is generated and sent, so that the email recipient can use the regression test result summary email to realize rapid analysis of the regression test results, which can improve the troubleshooting efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] Figure 1 An application environment diagram of a regression test result processing method in an embodiment;
[0032] Figure 2 A schematic diagram of a process flow of a regression test result processing method in one embodiment;
[0033] Figure 3 is a schematic diagram of a table document in one embodiment;
[0034] Figure 4 A schematic diagram of each regression test result in a regression test result report in an embodiment;
[0035] Figure 5 A schematic diagram of tabular regression data in one embodiment;
[0036] Figure 6 A verification index analysis diagram of a pass rate in an embodiment;
[0037] Figure 7 It is a verification indicator analysis diagram of function coverage in one embodiment;
[0038] Figure 8 A schematic diagram of sending an email in an embodiment;
[0039] Fig. 9 A schematic diagram of an email body in one embodiment;
[0040] Fig.10 A schematic diagram of an email body in another embodiment;
[0041] Fig.11 A schematic diagram of an email body in another embodiment;
[0042] Fig.12 A schematic diagram of a process flow of a regression test result processing method in another embodiment;
[0043] Fig.13 A schematic diagram of a regression test result processing system in one embodiment;
[0044] Fig.14 A schematic diagram of a regression test result report in one embodiment;
[0045] Fig.15 is a structural block diagram of a regression test result processing device in an embodiment;
[0046] Fig.16 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0047] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0048] The regression test result processing method provided in the embodiment of the present application can be applied to Figure 1In the application environment shown. Among them, the terminal 102 communicates with the server 104 through the network. The data storage system can store the data that the server 104 needs to process. The data storage system can be integrated on the server 104, or it can be placed on the cloud or other servers. After the regression test for verification is performed on each functional module in the chip, the server 104 obtains the regression test result report of each functional module; the regression test result report records the regression test result; the regression test result includes the regression test date and the index value of at least one regression verification index. Based on the functional module name, regression test date and at least one regression verification index of each functional module, the regression test result report of each functional module is summarized to obtain tabular regression data, and according to the index value of the target regression verification index in at least one regression verification index, a verification index analysis chart of the target regression verification index is generated, and the verification index analysis chart is cached to obtain the image cache address. The verification index analysis chart is used to describe the change trend of the index value of the target regression verification index of each functional module. According to the preset summary email framework structure, based on the tabular regression data, the verification index analysis chart and the image cache address, a regression test result summary email is generated and sent to the terminal 102.
[0049] The terminal 102 may be, but is not limited to, various desktop computers, laptop computers, smart phones, tablet computers, IoT devices, and portable wearable devices. The IoT devices may be smart speakers, smart TVs, smart air conditioners, smart car-mounted devices, etc. The portable wearable devices may be smart watches, smart bracelets, head-mounted devices, etc. The server 104 may be implemented as an independent server or a server cluster consisting of multiple servers.
[0050] In one embodiment, Figure 2 As shown, a regression test result processing method is provided, which can be executed by a terminal or a server alone, or by a terminal and a server in collaboration. In the embodiment of the present application, the method is applied to a server as an example for illustration, and includes the following steps:
[0051] Step 202, after performing regression testing for verification on each functional module in the chip, a regression test result report of each functional module is obtained; the regression test result report records the regression test result; the regression test result includes the regression test date and the indicator value of at least one regression verification indicator.
[0052] Among them, the functional module refers to the module used to implement various functions in the designed chip, and different functional modules implement different functions. Regression testing refers to the process in which the verification personnel input different seed numbers into the use cases written by themselves to generate different stimuli, so as to achieve a process close to full verification. The regression test result report refers to the report generated after the regression test, which can be used to analyze the regression test situation. The regression test result report records the regression test results. The regression test result refers to the result generated after a regression test, which can be used to analyze the regression test situation.
[0053] The regression test result includes the regression test date and the indicator value of at least one regression verification indicator. The regression test date refers to the time when the regression test is completed. The regression verification indicator refers to the indicator used to analyze the regression test. For example, the regression verification indicator can specifically include the total number of use cases, the number of serious error use cases, the number of error use cases, the number of warning use cases, the number of unfinished use cases, the number of unstarted use cases, the number of passed use cases, the pass rate, the code coverage rate, the function coverage rate, etc.
[0054] Among them, the total number of test cases refers to the total number of test cases used in regression testing. The number of serious error cases refers to the number of test cases that cause serious errors in the process of regression testing. The number of error cases refers to the number of test cases with errors in the process of regression testing. The number of warning cases refers to the number of test cases that cause warnings in the process of regression testing. The number of unfinished cases refers to the number of test cases that have not been completed. The number of unstarted cases refers to the number of test cases that have not been started. The number of passed cases refers to the number of test cases that have passed the test. The pass rate refers to the proportion of test cases that have passed the test, which can be specifically the ratio of the number of passed cases to the total number of cases. Code coverage is used to describe the proportion of source code in the test project that is tested. Functional coverage is used to illustrate the degree of verification of functional modules. Each functional module will have a corresponding functional coverage. When the functional coverage is 100%, it means that the functional module has been fully verified and can be accepted.
[0055] Specifically, after the regression test, the regression results need to be processed. At this time, the server will obtain the regression test result report of each functional module in the test target. The regression test result report records the regression test results, which include the regression test date and the indicator value of at least one regression verification indicator.
[0056] In specific applications, the verification personnel can perform regression testing on each functional module in the test target as needed. After each regression test, a regression test result including the regression test date and the indicator value of at least one regression verification indicator will be generated. Each generated regression test result will be recorded in a regression test result report. When the regression result needs to be processed, the verification personnel will send the regression test result report to the server so that the server can use the regression test result report of each functional module in the test target to process the regression result.
[0057] In a specific application, at least one regression verification indicator can be configured according to the actual application scenario, and can be at least one of the total number of use cases, the number of serious error use cases, the number of error use cases, the number of warning use cases, the number of incomplete use cases, the number of unstarted use cases, the number of passed use cases, the pass rate, the code coverage, and the function coverage.
[0058] In a specific application, the verification personnel can directly use the regression script to perform regression testing. After using the regression script to perform regression testing, the regression script will automatically output a regression test result report. Among them, the regression script refers to the automated script program used for front-end simulation. The regression test result report output by the regression script can be a table document summarizing the regression test results. For example, the table document can be as follows Figure 3 As shown, the first line in the table document is a date field corresponding to the regression test date and at least one regression verification indicator (such as Figure 3 Three regression verification indicators are shown), starting from the second row of the table document, it is the regression test results generated after each regression test, including the regression test date and the indicator value of at least one regression verification indicator (expressed as XXXX or 0).
[0059] Step 204 , based on the function module name, regression test date and at least one regression verification indicator of each function module, the regression test result report of each function module is summarized to obtain tabular regression data.
[0060] Among them, the function module name refers to the name used to identify the function module, and the function module name can be used to distinguish different function modules. In this embodiment, the naming method of the function module name is not limited, as long as the function module can be identified. For example, the function module can be named according to the function implemented by the function module. Tabular regression data refers to regression data with a tabular data structure. For example, the tabular regression data can specifically be regression data in the dataframe format. Dataframe is a tabular data structure, which has both row indexes and column indexes, and the unique value is determined by the row index and the column index.
[0061] Specifically, after obtaining the regression test result report, the server will obtain an index for generating tabular regression data based on the function module name of each function module, the date field corresponding to the regression test date, and at least one regression verification indicator, and then summarize the regression test result report of each function module based on the index to obtain tabular regression data. Among them, an index is a separate, physical storage structure for sorting the values of one or more columns in a database table. It is a collection of one or more column values in a table and a corresponding list of logical pointers pointing to the data pages that physically identify these values in the table. In this embodiment, the index is mainly used to sort the indicator values of the function module, regression test date, and at least one regression verification indicator in the tabular regression data.
[0062] In a specific application, the index of the tabular regression data includes a row index and a column index, wherein the row index is used to sort the functional modules, and the column index is used to sort the regression test date and the indicator value of at least one regression verification indicator. Therefore, the row index can be obtained based on the functional module name of each functional module, and the column index can be obtained based on the date field corresponding to the regression test date and at least one regression verification indicator.
[0063] Step 206, based on the indicator value of the target regression verification indicator in at least one regression verification indicator, generate a verification indicator analysis graph of the target regression verification indicator, cache the verification indicator analysis graph, and obtain the image cache address; the verification indicator analysis graph is used to describe the change trend of the indicator value of the target regression verification indicator of each functional module.
[0064] Among them, the target regression verification indicator refers to the pre-configured regression verification indicator of focus when processing the regression results, which can be configured according to the actual application scenario. For example, when at least one regression verification indicator includes the total number of use cases, the number of serious error use cases, the number of error use cases, the number of warning use cases, the number of unfinished use cases, the number of unstarted use cases, the number of passed use cases, the pass rate, the code coverage rate, and the functional coverage rate, the target regression verification indicator can be the pass rate, the functional coverage rate, or the pass rate and the functional coverage rate. The verification indicator analysis chart is used to describe the change trend of the indicator value of the target regression verification indicator of each functional module. The change trend refers to the long-term trend change law between the indicator value of the target regression verification indicator of each functional module and the regression test date. For example, the verification indicator analysis chart can be specifically a line chart used to describe the change trend of the indicator value of the target regression verification indicator of each functional module. The image cache address refers to the local cache address of the verification indicator analysis chart, which is generated after the verification indicator analysis chart is cached locally.
[0065] Specifically, when processing the regression results, target verification indicators that need to be focused on are usually pre-configured, namely, target regression verification indicators. After obtaining the regression test result report, the server will generate a verification indicator analysis chart for describing the change trend of the indicator value of the target regression verification indicator of each functional module based on the indicator value of the target regression verification indicator in at least one regression verification indicator, so as to analyze each functional module using the verification indicator analysis chart. After generating the verification indicator analysis chart, the server will cache the verification indicator analysis chart locally and generate an image cache address so that other devices can obtain the verification indicator analysis chart through the image cache address.
[0066] In a specific application, the number of target regression verification indicators can be one or more. When the number of target regression verification indicators is multiple, for multiple target regression verification indicators, the server will use the indicator value of each target regression verification indicator to generate a verification indicator analysis chart for each target regression verification indicator, cache the verification indicator analysis chart for each target regression verification indicator, and obtain the image cache address of each target regression verification indicator.
[0067] Step 208: Generate and send a regression test result summary email based on the preset summary email framework structure, the table-type regression data, the verification indicator analysis chart, and the image cache address.
[0068] The summary email frame structure refers to the main frame of the preset regression test result summary email, including the email name, font size, table placement position, and image placement position, etc., which can be configured according to the actual application scenario. For example, the summary email can be an email in HTML (Hyper Text Markup Language) format, and the summary email frame structure refers to the main frame of the HTML code of the summary email. Among them, HTML format emails refer to emails that are like web pages. They can contain HTML links. Clicking the links can go to other pages. They can have pictures, sounds, tables, etc.
[0069] Specifically, according to the preset summary email framework structure, the email name, font size, table placement position and image placement, etc. can be determined, and then, based on the determination of the table placement position and the image placement position, the summary email body code can be generated based on the tabular regression data and the image identifier of the verification indicator analysis chart, and based on the image identifier and the image cache address, the image acquisition information for obtaining the verification indicator analysis chart is generated, and based on the summary email body code and the image acquisition information, a regression test result summary email is generated and sent.
[0070] The above-mentioned regression test result processing method, after performing regression tests for verification on each functional module in the chip, obtains the regression test result report recording the regression test results of each functional module, and summarizes the regression test result reports of each functional module based on the functional module name, regression test date and at least one regression verification indicator of each functional module, so as to obtain summarized tabular regression data. At the same time, using the indicator value of the target regression verification indicator in at least one regression verification indicator, a verification indicator analysis chart of the target regression verification indicator is generated, which can realize the analysis of the change trend of the indicator value of the target regression verification indicator of each functional module. Then, on the basis of summarizing and analyzing the regression test result reports of each functional module, according to the preset summary email framework architecture, based on the tabular regression data, the verification indicator analysis chart and the image cache address obtained after caching the verification indicator analysis chart, a regression test result summary email is generated and sent, so that the email recipient can use the regression test result summary email to realize rapid analysis of the regression test results, which can improve the troubleshooting efficiency.
[0071] In one embodiment, based on the function module name, regression test date and at least one regression verification indicator of each function module, the regression test result report of each function module is summarized to obtain the tabular regression data including:
[0072] A row index is obtained based on the function module name of each function module, and a date field corresponding to the regression test date and at least one regression verification indicator are used as a column index;
[0073] According to the row index and column index, the regression test result report of each functional module is summarized to obtain the tabular regression data.
[0074] The row index refers to the index in the row direction of the table, which is used to sort the data in each row of the table. The column index refers to the index in the column direction of the table, which is used to sort the data in each column of the table.
[0075] Specifically, the index of the tabular regression data includes a row index and a column index, wherein the row index is used to sort the functional modules, and the column index is used to sort the regression test date and the indicator value of at least one regression verification indicator. Therefore, the server can obtain the row index based on the functional module name of each functional module, and use the date field corresponding to the regression test date and at least one regression verification indicator as the column index, and then summarize the regression test result report of each functional module according to the row index and the column index to obtain the tabular regression data.
[0076] In a specific application, the server will use the function module name of each function module as a row index, and the row index may be in the form of [function module name 1, function module name 2, function module name 3...]. At the same time, the server will use the date field corresponding to the regression test date and at least one regression verification indicator as a column index, and the column index may be in the form of [DATE (date), regression verification indicator 1, regression verification indicator 2, regression verification indicator 3...].
[0077] In a specific application, the tabular regression data may be regression data in a dataframe format, the row index may be obtained through an index method, the function module name of each function module is an index variable, the column index may be obtained through a column method, and the date field and at least one regression verification indicator are columns variables.
[0078] In a specific application, when the regression test result reports of each functional module are summarized according to the row index and the column index, the server arranges the regression test results in the regression test result reports of each functional module according to the row index and the column index to obtain tabular regression data. In a specific application, the obtained tabular regression data is indexed by the first row of the table, i.e., the date field and at least one regression verification indicator, and the first column is the functional module name of each functional module.
[0079] In this embodiment, by obtaining a row index based on the functional module name of each functional module, and using the date field corresponding to the regression test date and at least one regression verification indicator as the column index, the row index and the column index can be obtained, and then the row index and the column index can be used to summarize the regression test result report of each functional module to obtain tabular regression data.
[0080] In one embodiment, obtaining a row index based on the function module name of each function module includes:
[0081] Sort the function module names of each function module to obtain a function module name sorting result;
[0082] The names of the functional modules arranged in sequence according to the sorting results of the functional module names are used as row indexes.
[0083] Specifically, when obtaining the row index, the server will sort the function module names of each function module to obtain the function module name sorting result, and then use the function module names arranged in sequence according to the function module name sorting result as the row index. In a specific application, the server can obtain the pre-configured priority order of each function module, sort the function module names of each function module based on the priority order of each function module, and arrange the function module names of the function modules with high priority in front to obtain the function module name sorting result. Among them, the pre-configured priority order of each function module can be configured according to the actual application scenario. For example, the priority of the function module that realizes the main function is usually higher than the priority of the function module that realizes the additional function.
[0084] In a specific application, the server may also sort the function module names of each function module in alphabetical order, and arrange the function module names of the function modules with smaller first letters in front to obtain the function module name sorting result, wherein the first letter is any letter from A, B..., Z, and the letter A is the lowest and the letter Z is the highest.
[0085] In a specific application, assuming that the function module names of each function module are: function module A, function module B, function module C, function module D, function module E, and the priority order of each function module is function module C>function module B>function module A>function module E>function module D, if the function module names of each function module are sorted based on the priority order of each function module, the function module name sorting result obtained is function module C>function module B>function module A>function module E>function module D, then the row index is in the form of [function module C, function module B, function module A, function module E, function module D]. If the function module names of each function module are sorted according to the first letter order of the function module names of each function module, the function module name sorting result obtained is function module A>function module B>function module C>function module D>function module E, then the row index is in the form of [function module A, function module B, function module C, function module D, function module E].
[0086] In this embodiment, by sorting the function module names of each function module, a function module name sorting result can be obtained, and then the function module names arranged in sequence according to the function module name sorting result can be used as row indexes to sort the function modules using the row indexes.
[0087] In one embodiment, the function module names of the function modules are sorted, and the function module name sorting result obtained includes:
[0088] Determine the module writing object of each functional module;
[0089] Based on the module writing objects of each functional module, the functional module names of each functional module are arranged to obtain a functional module name sorting result.
[0090] The module writing object refers to the object that writes the functional module. For example, the module writing object may specifically refer to the user who writes the functional module.
[0091] Specifically, each functional module is written by a module writing object. When sorting the functional module names of each functional module, the server will determine the module writing object of each functional module, and arrange the functional module names of each functional module based on the module writing object of each functional module. The functional module names of the functional modules written by the same module writing object are arranged together to obtain the functional module name sorting result.
[0092] In a specific application, when the function module names of the function modules written by the same module writing object are arranged together, the function module names of the function modules written by the same module writing object can be arranged in order of priority. In a specific application, assuming that the function module names of the function modules are: function module A, function module B, function module C, function module D, function module E, and the priority order of each function module is function module C>function module B>function module A>function module E>function module D, and function module A and function module C are written by the same module writing object, then the function module name sorting result is function module C>function module A>function module B>function module E>function module D, among which function module A and function module C are arranged together and in order of priority because they are written by the same module writing object, and the remaining function modules are still arranged in order of priority. The corresponding row index is in the form of [function module C, function module A, function module B, function module E, function module D].
[0093] In this embodiment, by first determining the module writing object of each functional module, the module writing object of each functional module can be used to arrange the functional module names of each functional module to obtain a functional module name sorting result, so that the functional modules written by the same module writing object can be summarized together for easy reference.
[0094] In one embodiment, the regression test result reports of each functional module are summarized according to the row index and the column index, and the obtained table-type regression data includes:
[0095] According to the regression test date of the regression test result in the regression test result report of each functional module, the target regression test result of each functional module is determined respectively; the target regression test result is the regression test result generated by the most recent regression test;
[0096] According to the row index and column index, the target regression test results of each functional module are summarized to obtain tabular regression data.
[0097] Specifically, the regression test result report of each functional module usually includes multiple regression test results. Therefore, when summarizing the regression test result reports of each functional module, the server will usually determine the target regression test results of each functional module according to the regression test date of the regression test results in the regression test result report of each functional module, and then arrange the target regression test results of each functional module according to the row index and column index to obtain tabular regression data.
[0098] In a specific application, the target regression test result is the regression test result generated by the most recent regression test. Therefore, for each of the functional modules, the server will compare the regression test dates of the regression test results in the regression test result report of the targeted functional module, and select the regression test result generated by the most recent regression test, i.e., the target regression test result. In a specific application, assuming that the regression test results in the regression test result report of the targeted functional module are as follows: Figure 4 As shown, by comparing the regression test dates of each regression test result (respectively 20231015, 20231016, 20231023, 20231025, 20231028, 20231101, and 20231103), it can be determined that the target regression test result is the last regression test result with a regression test date of 20231103.
[0099] In a specific application, after arranging the target regression test results of each functional module according to the row index and column index, the obtained tabular regression data can be Figure 5 The first row of the table, i.e., the date field and at least one regression verification indicator, is used as the index, and the first column is the function module name of each function module.
[0100] In this embodiment, the regression test date can be used to determine the target regression test results of each functional module, and then the target regression test results of each functional module can be summarized according to the row index and column index to obtain tabular regression data. In the tabular regression data, only the target regression test results of each functional module are retained. On the basis of considering the timeliness of the regression test results, the data processing efficiency can be greatly improved, which is conducive to the rapid analysis of the regression test results and can improve the troubleshooting efficiency.
[0101] In one embodiment, generating a verification indicator analysis diagram of a target regression verification indicator according to an indicator value of a target regression verification indicator in at least one regression verification indicator includes:
[0102] According to a preconfigured verification indicator analysis time period, extracting a set of indicator values of each functional module within the verification indicator analysis time period from the indicator value of a target regression indicator in at least one regression verification indicator;
[0103] Based on the indicator value set of each functional module within the verification indicator analysis time period, a verification indicator analysis diagram of the target regression verification indicator is drawn.
[0104] The preconfigured verification indicator analysis time period refers to a preconfigured time period for analyzing the indicator values of the target regression verification indicators of each functional module. For example, the preconfigured verification indicator analysis time period may be the past 15 days, or the preconfigured verification indicator analysis time period may be the past 7 days.
[0105] Specifically, the server will extract the indicator value set of each functional module within the verification indicator analysis time period from the indicator value of the target regression indicator in at least one regression verification indicator according to the preconfigured verification indicator analysis time period, and then use each verification indicator analysis date within the verification indicator analysis time period as the first axial coordinate, and use the indicator value set of each functional module within the verification indicator analysis time period as the second axial coordinate to draw a verification indicator analysis chart for describing the change trend of the indicator value of the target regression verification indicator of each functional module. In a specific application, the first axial and the second axial can be configured according to the actual application scenario, and the first axial and the second axial intersect and are perpendicular. For example, the first axial can be horizontal, and the second axial can be vertical. If the first axial is vertical, the second axial can be horizontal. In a specific application, the server can directly call the preconfigured chart drawing tool to draw the verification indicator analysis chart of the target regression verification indicator. For example, the preconfigured chart drawing tool can be matplotlib (a two-dimensional drawing design tool using Python) of Python (a programming language).
[0106] In specific applications, the verification indicator analysis time period and the target regression verification indicator can be configured according to the actual application scenario. Taking the verification indicator analysis time period as the past 15 days and the target regression verification indicators as the pass rate and functional coverage as an example, the server will extract the set of indicator values of the pass rate of each functional module in the past 15 days from the indicator value of the pass rate of the regression test results in the regression test result report of each functional module, and based on the set of indicator values of the pass rate of each functional module in the past 15 days, draw a verification indicator analysis chart to describe the changing trend of the indicator value of the pass rate of each functional module. At the same time, the server will extract the set of indicator values of the functional coverage of each functional module in the past 15 days from the indicator value of the functional coverage of the regression test results in the regression test result report of each functional module, and based on the set of indicator values of the functional coverage of each functional module in the past 15 days, draw a verification indicator analysis chart to describe the changing trend of the indicator value of the functional coverage of each functional module.
[0107] In this embodiment, according to the preconfigured verification indicator analysis time period, data extraction is performed from the indicator value of the target regression indicator in at least one regression verification indicator, and the indicator value set of each functional module within the verification indicator analysis time period can be extracted. Then, based on the indicator value set of each functional module within the verification indicator analysis time period, a verification indicator analysis chart of the target regression verification indicator can be drawn, which can realize the analysis of the changing trend of the indicator value of the target regression verification indicator of each functional module.
[0108] In one embodiment, based on the indicator value set of each functional module within the verification indicator analysis time period, drawing a verification indicator analysis diagram of the target regression verification indicator includes:
[0109] For each of the functional modules, a verification index analysis curve of the functional module is drawn based on the index value set of the functional module in the verification index analysis time period;
[0110] Based on the verification index analysis curve of each functional module, a verification index analysis diagram of the target regression verification index is obtained.
[0111] Specifically, for each of the functional modules, the server will draw a verification indicator analysis curve of the functional module in question based on the indicator value set of the functional module in the verification indicator analysis time period. The verification indicator analysis curve is used to describe the change trend of the indicator value of the target regression verification indicator of the functional module in question. Based on the verification indicator analysis curves of each functional module, a verification indicator analysis chart of the target regression verification indicator can be obtained. That is, the verification indicator analysis chart of the target regression verification indicator includes the verification indicator analysis curves of each functional module.
[0112] In a specific application, the indicator value set includes the target indicator value of each verification indicator analysis date within the verification indicator analysis time period. When drawing the verification indicator analysis curve of the targeted functional module with the indicator value set of the targeted functional module within the verification indicator analysis time period, the server will use each verification indicator analysis date within the verification indicator analysis time period as the first axis coordinate, and use the target indicator value of the targeted functional module on each verification indicator analysis date as the second axis coordinate to draw the verification indicator analysis curve of the targeted functional module. The first axis and the second axis can be configured according to the actual application scenario, and the first axis and the second axis intersect and are perpendicular. For example, the first axis can be horizontal, and the second axis is vertical. If the first axis is vertical, the second axis can be horizontal.
[0113] In a specific application, when the index value of the target regression verification index is a percentage, the server will set the second axis coordinate to the percentage mode, and when the index value of the target regression verification index is not a percentage, the server will set the second axis coordinate to the numerical mode. In addition, the server will also set the image to be drawn to the grid mode, so as to intuitively compare the changing trends of the index values between different functional modules.
[0114] In a specific application, with each verification indicator analysis date within the verification indicator analysis time period as the first axial coordinate and the target indicator value of the targeted functional module on each verification indicator analysis date as the second axial coordinate, the server will draw at least one coordinate point on the picture to be drawn according to the correspondence between the verification indicator analysis date and the target indicator value, connect the at least one drawn coordinate point, and obtain the verification indicator analysis curve of the targeted functional module.
[0115] In a specific application, the target regression verification indicator is the pass rate, and the verification indicator analysis chart is a line chart. The obtained verification indicator analysis chart of the pass rate can be as follows: Figure 6 As shown, it includes the verification index analysis curves of each functional module. For each of the functional modules, the verification index analysis curve of the functional module is based on each verification index analysis date (such as Figure 6As shown, 20230522-20230606) is the horizontal axis, and the target indicator value of the functional module on each verification indicator analysis date is the vertical axis. In addition, on the right side of the verification indicator analysis chart, the curve identification of the verification indicator analysis curve of each functional module is also included, and the verification indicator analysis curve of each functional module can be distinguished by the curve identification. In a specific application, different curve colors can be used as curve identifications of the verification indicator analysis curves of each functional module to distinguish the verification indicator analysis curves of each functional module. It should be noted that the method of using different curve colors as curve identifications is not Figure 6 Shown in.
[0116] In a specific application, taking the target regression verification indicator as the function coverage and the verification indicator analysis chart as a line chart as an example, the obtained verification indicator analysis chart of the function coverage can be as follows Figure 6 As shown, it includes the verification index analysis curves of each functional module. For each of the functional modules, the verification index analysis curve of the functional module is based on each verification index analysis date (such as Figure 7 As shown, 20230522-20230606) is the horizontal axis, and the target indicator value of the functional module on each verification indicator analysis date is the vertical axis. In addition, on the right side of the verification indicator analysis chart, the curve identification of the verification indicator analysis curve of each functional module is also included, and the verification indicator analysis curve of each functional module can be distinguished by the curve identification. In a specific application, different curve colors can be used as curve identifications of the verification indicator analysis curves of each functional module to distinguish the verification indicator analysis curves of each functional module. It should be noted that the method of using different curve colors as curve identifications is not Figure 7 Shown in.
[0117] In this embodiment, for each of the functional modules, a verification indicator analysis curve of the functional module can be drawn based on the set of indicator values of the functional module within the verification indicator analysis time period, and then a verification indicator analysis graph of the target regression verification indicator can be obtained directly based on the verification indicator analysis curve of each functional module, which can realize the analysis of the changing trend of the indicator value of the target regression verification indicator of each functional module.
[0118] In addition, in this embodiment, by taking each verification indicator analysis date within the verification indicator analysis time period as the first axial coordinate and taking the target indicator value of the targeted functional module on each verification indicator analysis date as the second axial coordinate, the first axial coordinate and the second axial coordinate can be used to accurately draw the verification indicator analysis curve of the targeted functional module.
[0119] In one embodiment, according to a preset summary email framework structure, based on the tabular regression data, the verification index analysis chart and the image cache address, a regression test result summary email is generated and sent, including:
[0120] According to the preset summary email framework structure, based on the tabular regression data and the picture identifier of the verification indicator analysis chart, the summary email body code is generated, and based on the picture identifier and the picture cache address, the picture acquisition information is generated;
[0121] Based on the code and pictures in the summary email body, information is obtained, and a regression test result summary email is generated and sent.
[0122] The summary email frame structure refers to the preset main frame of the regression test result summary email, including the email name, font size, table placement position, and image placement position, etc., which can be configured according to the actual application scenario. The summary email body code refers to the code form of the body of the regression test result summary email. For example, if the regression test result summary email is an HTML-formatted email, the summary email body code refers to the HTML code representing the body of the regression test result summary email.
[0123] Among them, the picture identifier is used to identify the verification indicator analysis chart. When there are multiple verification indicator analysis charts, the picture identifier can be used to distinguish different verification indicator analysis charts. Picture acquisition information refers to information used to obtain the verification indicator analysis chart, including the correspondence between the picture identifier and the picture cache address. For example, the picture acquisition information can specifically be a list of correspondences between picture identifiers and picture cache addresses, in the form of picture identifier 1-picture cache address 1, picture identifier 2-picture cache address 2, picture identifier 3-picture cache address 3,...
[0124] Specifically, the server can determine the email name, font size, table placement, and image placement, etc. according to the preset summary email framework structure, and then, based on the determination of the table placement and image placement, convert the tabular regression data into code form to obtain a first code segment, and generate a second code segment with an embedded image link based on the image identifier, and generate the summary email body code based on the preset summary email framework structure, the first code segment, and the second code segment. At the same time, the server will determine the correspondence between the image identifier and the image cache address, and generate image acquisition information based on the correspondence, so that the verification indicator analysis chart can be directly obtained from the corresponding image cache address according to the image identifier. After obtaining the summary email body code and the image acquisition information, the server will generate and send a regression test result summary email based on the summary email body code and the image acquisition information.
[0125] In this embodiment, by generating a summary email body code based on the tabular regression data and the picture identifier of the verification index analysis chart according to the preset summary email framework structure, it is possible to obtain the email body, so that on the basis of generating the picture acquisition information based on the picture identifier and the picture cache address, the summary email body code and the picture acquisition information can be used to generate and send a regression test result summary email, so that the email recipient can use the regression test result summary email to quickly analyze the regression test results, thereby improving the troubleshooting efficiency.
[0126] In one embodiment, after obtaining the tabular regression data and the verification index analysis chart, the server may also generate and push a regression test result summary report based on the tabular regression data and the verification index analysis chart.
[0127] Specifically, after generating the regression test result summary report, the server can directly push the regression test result summary report to the terminal of the verification personnel and other relevant personnel, so that the verification personnel and others can directly analyze the regression test results quickly through the received regression test result summary report, which can improve the troubleshooting efficiency. In addition, the server can also generate an online link for obtaining the regression test result summary report, and push the online link to the terminal of the verification personnel and other relevant personnel, so that the verification personnel and others can directly obtain the regression test result summary report through the online link when needed.
[0128] In a specific application, when the regression test result summary report is directly obtained through an online link, the online link can be an online browsing link of the regression test result summary report, and the verification personnel can directly view the regression test result summary report through the online link. The online link can also be a download link of the regression test result summary report, and the verification personnel can directly download the regression test result summary report through the online link and then view it. In one embodiment, according to the preset summary email framework structure, based on the tabular regression data and the picture identification of the verification index analysis chart, the code for generating the summary email body includes:
[0129] Convert the tabular regression data into code form to obtain a first code segment, and generate a second code segment with an embedded image link according to the image identifier of the verification indicator analysis chart;
[0130] Based on the preset summary mail framework structure, the first code segment and the second code segment, the summary mail body code is obtained.
[0131] The first code segment refers to the tabular regression data in code format. For example, if the regression test result summary email is in HTML format, the first code segment is the tabular regression data in HTML format. The second code segment is used to indicate the placement of the verification indicator analysis chart in the email. The second code segment is embedded with an image link including an image logo of the verification indicator analysis chart. The verification indicator analysis chart can be obtained through the image logo in the image link.
[0132] Specifically, the server will convert the tabular regression data into code form through a preconfigured code conversion function to obtain a first code segment, and generate a second code segment with an embedded image link based on the image identifier, and obtain the summary email body code based on the preset summary email framework structure, the first code segment and the second code segment. In specific applications, the preconfigured code conversion function can be configured according to the actual application scenario. For example, when the tabular regression data is regression data in the dataframe format, the server can directly use the dataframe rendering function to convert the tabular regression data into code form to obtain the first code segment.
[0133] In this embodiment, by converting the tabular regression data into code form, a first code segment is obtained, and based on the image identifier of the verification indicator analysis chart, a second code segment with an embedded image link is generated, the code can be used to represent the tabular regression data and the verification indicator analysis chart, and then based on the preset summary email framework structure, the first code segment and the second code segment, the summary email body code can be obtained, and the regression test result summary email can be generated and sent using the summary email body code, so that the email recipient can use the regression test result summary email to quickly analyze the regression test results, thereby improving the efficiency of troubleshooting.
[0134] In one embodiment, based on the summary email body code and picture acquisition information, a regression test result summary email is generated and sent including:
[0135] The image acquisition information is used as an image attachment, and a regression test result summary email is generated based on the summary email body code and the image attachment;
[0136] At least one reporting object is determined, and a regression test result summary email is sent to the at least one reporting object.
[0137] The reporting object refers to the object to which the regression test result summary is to be reported, that is, the regression test result summary email. For example, the summary object may be a verification person who performs regression testing on each functional module.
[0138] Specifically, the server will use the image acquisition information as an image attachment, generate a regression test result summary email based on the summary email body code and the image attachment, determine at least one reporting object, and send the regression test result summary email to the at least one reporting object. Figure 8 As shown, the server will use the summary email body code as the email body and set at least one reporting object (such as Figure 8 The three are shown as follows) and picture attachments. Through the interface call, an email request is sent to the transfer station. After receiving the email request, the transfer station will send the received regression test result summary email to at least one reporting object. After receiving the regression test result summary email, at least one reporting object can use the regression test result summary email to quickly analyze the regression test results, which can improve the troubleshooting efficiency.
[0139] In a specific application, after receiving the regression test result report email, the receiving end of at least one reporting object will display the email body based on the summary email body code. In this process, the receiving end can determine the display position of the verification indicator analysis chart in the email body according to the second code segment of the embedded image link, and obtain the image for display at the image cache address of the verification indicator analysis chart based on the correspondence between the image identifier in the image link and the image identifier and image cache address in the image attachment.
[0140] In a specific application, the displayed email body can be as follows Fig. 9 As shown in the figure, it includes tabular regression data and verification index analysis chart, with the tabular regression data in front and the verification index analysis chart in the back. The displayed email body can also be as follows Fig.10 In a specific application, the body of the email is in the form of a table-type regression data first, followed by a verification indicator analysis chart, and the displayed verification indicator analysis chart includes a verification indicator analysis chart of a pass rate and a verification indicator analysis chart of a functional coverage rate. For example, the displayed body of the email can be as follows: Fig.11 As shown, through the tabular regression data and verification indicator analysis chart in the body of the email, the regression test results of each functional module can be quickly analyzed, which can improve the efficiency of troubleshooting.
[0141] In one embodiment, by Fig.12 The flowchart shown is used to illustrate the regression test result processing method of the present application, and the regression test result processing method specifically includes the following steps:
[0142] Step 1202, after performing regression testing for verification on each functional module in the chip, obtaining a regression test result report of each functional module; the regression test result report records the regression test result; the regression test result includes a regression test date and an indicator value of at least one regression verification indicator;
[0143] Step 1204, determining the module writing object of each functional module;
[0144] Step 1206, based on the module writing object of each functional module, the function module names of each functional module are arranged to obtain a function module name arrangement result;
[0145] Step 1208, using the names of the functional modules arranged in sequence according to the functional module name sorting result as row indexes, and using the date field corresponding to the regression test date and at least one regression verification indicator as column indexes;
[0146] Step 1210, according to the regression test date of the regression test result in the regression test result report of each functional module, determine the target regression test result of each functional module respectively; the target regression test result is the regression test result generated by the most recent regression test;
[0147] Step 1212, summarizing the target regression test results of each functional module according to the row index and column index to obtain table-type regression data;
[0148] Step 1214, according to the pre-configured verification indicator analysis time period, extracting the indicator value set of each functional module within the verification indicator analysis time period from the indicator value of the target regression indicator in at least one regression verification indicator; the indicator value set includes the target indicator value of each verification indicator analysis date within the verification indicator analysis time period;
[0149] Step 1216, for each of the functional modules, using each verification indicator analysis date within the verification indicator analysis period as a first axial coordinate and using the target indicator value of the functional module on each verification indicator analysis date as a second axial coordinate, draw a verification indicator analysis curve for the functional module;
[0150] Step 1218, based on the verification index analysis curve of each functional module, obtain the verification index analysis graph of the target regression verification index, cache the verification index analysis graph, and obtain the image cache address; the verification index analysis graph is used to describe the change trend of the index value of the target regression verification index of each functional module;
[0151] Step 1220, converting the tabular regression data into code form to obtain a first code segment, and generating a second code segment with an embedded image link according to the image identifier of the verification indicator analysis chart;
[0152] Step 1222, based on the preset summary email framework structure, the first code segment and the second code segment, obtain the summary email body code, and generate the image acquisition information based on the image identifier and the image cache address;
[0153] Step 1224, taking the image acquisition information as an image attachment, and generating a regression test result summary email based on the summary email body code and the image attachment;
[0154] Step 1226, determine at least one reporting object, and send a regression test result summary email to the at least one reporting object.
[0155] In one embodiment, the inventor believes that during the process of EDA front-end design and development, verification personnel need to perform a large number of regression tests for chip verification every day, generating a large number of regression test results. There is a lot of redundant information in a large number of regression test results, such as regression test results with simulation problems, regression test results with test case problems, etc., and for a large number of regression test results, verification personnel can only check them one by one in text to find potential faults, which is inefficient.
[0156] Based on this, the present application proposes a regression test result processing method, which classifies and organizes a large number of regression test result reports to obtain tabular regression data, sorts the regression test results according to regression verification indicators such as pass rate, error amount, coverage rate, etc., and generates a verification indicator analysis chart, so that the verification personnel can more intuitively find the functional modules with faults. Finally, the generated tabular regression data and verification indicator analysis chart are sent in the form of emails, so that the verification personnel and other relevant personnel can obtain information in a timely manner, and use the regression test result summary email to realize rapid analysis of the regression test results, which can improve the efficiency of troubleshooting.
[0157] In one embodiment, the regression test result report is a table document, the table-type regression data is data in dataframe format, the regression test result summary email is an HTML format email, and the regression test result processing method of the present application is applied to the regression test result processing system as an example to illustrate the regression test result processing method of the present application. Fig.13 As shown, the regression test result processing system includes a collection layer, a sorting layer and a reporting layer, wherein the collection layer includes a table reading module and an information preprocessing module, the sorting layer includes an information processing module and a drawing module, and the reporting layer includes an HTML generation module and an email sending module.
[0158] Among them, the table reading module is used to obtain the regression test result report of each functional module in the test target. The information preprocessing module is used to convert the obtained regression test result report into the dataframe format to obtain data in the dataframe format, that is, tabular regression data. The information processing module is used to extract the indicator value set of each functional module within the verification indicator analysis time period according to the preconfigured verification indicator analysis time period. The drawing module is used to draw a line chart of the target regression verification indicator based on the indicator value set of each functional module within the verification indicator analysis time period, that is, the verification indicator analysis chart. The HTML generation module is used to convert the data in the dataframe format and the line chart into HTML code, that is, the summary email body code. The email sending module is used to send the summary email body code to at least one reporting object via email, and the at least one reporting object can specifically be a verification personnel.
[0159] In one embodiment, the regression test result report of the functional module can be as follows: Fig.14 As shown, the first line in the regression test result report is a date field corresponding to the regression test date and at least one regression verification indicator ( Fig.14 The pass rate and functional coverage are shown, and other regression verification indicators are not shown). Starting from the second line of the regression test result report, the regression test results generated after each regression test are generated, including the regression test date and the indicator value of at least one regression verification indicator. Fig.14 The body of the regression test result summary email corresponding to the regression test result report shown in the figure can be as follows Fig.11 As shown, the first table has a first row (i.e., a date field and at least one regression validation indicator (e.g. Fig.11 The function module name of each function module is the first column ( Fig.11 Only the names of some functional modules are shown in the figure), including the verification information of each functional module, namely, the regression completion time, the total number of use cases, the number of serious error use cases, the number of error use cases, the number of warning use cases, the number of unfinished use cases, the number of unstarted use cases, the number of passed use cases, the pass rate, the code coverage rate, and the function coverage rate (it should be noted that Fig.11 Only the pass rate and functional coverage are shown).
[0160] Among them, in the first column, each functional module can be sorted according to a preset format, such as according to the first letter of the functional module name of each functional module, the priority order of each functional module, etc., or the module writing object of each functional module can be determined first, and the functional module names of each functional module can be arranged based on the module writing object of each functional module, and the functional modules written by the same module writing object can be arranged together.
[0161] Below the table is the line chart generated by the sorting layer. Fig.11 The examples in the figure are line graphs of pass rate and functional coverage, and other line graphs of regression verification indicators can also be generated, such as line graphs generated based on the error rate of functional modules, line graphs generated based on the code coverage of functional modules, etc. Taking the line graph of pass rate as an example, through the line graph of pass rate, you can see the regression test pass rate change curve of each functional module in the past 15 days (i.e., the verification indicator analysis time period), which can help verification personnel analyze the convergence of functional modules. It should be noted that the verification indicator analysis time period can also be set by yourself.
[0162] In one embodiment, for the information preprocessing module of the collection layer, it needs to convert the obtained regression test result report into data in dataframe format, i.e., tabular regression data. Since the formats of all table documents (i.e., regression test result reports) are consistent, the information preprocessing module can use the list of the first row of any table document (i.e., the date field corresponding to the regression test date and at least one regression verification indicator) as the columns variable (column index), and the function module name of each function module as the index variable (row index) to generate the required dataframe format data. It should be noted that the dataframe format is chosen to be used first because it is a standard format and there are many methods to choose to use it. Secondly, because HTML code needs to be generated later, and the dataframe format has a method for directly converting a table into an HTML table, so the dataframe format is used to save the data.
[0163] In one embodiment, when the function module name of each function module is used as the index variable, the information preprocessing module will sort the function module names of each function module, and then use the names of each function module arranged in sequence according to the sorting result of the function module name as the row index. In a specific application, the information preprocessing module will determine the module writing object of each function module, and based on the module writing object of each function module, arrange the function module names of each function module to obtain the function module name sorting result, and then use the names of each function module arranged in sequence according to the sorting result of the function module name as the row index.
[0164] In one embodiment, in order to improve data processing efficiency, the data in the dataframe format may only include the target regression test result of each functional module. The target regression test result is the regression test result generated by the most recent regression test and may be determined based on the regression test date.
[0165] In one embodiment, the information processing module of the sorting layer is used to extract the indicator value set of each functional module in the verification indicator analysis period from the indicator value of the target regression indicator in at least one regression verification indicator according to the preconfigured verification indicator analysis period, and send the indicator value set of each functional module in the verification indicator analysis period to the drawing module, so that the drawing module draws a line chart of the target regression verification indicator based on the indicator value set of each functional module in the verification indicator analysis period, that is, a verification indicator analysis chart. The indicator value set includes the target indicator value of each verification indicator analysis date in the verification indicator analysis period.
[0166] In one embodiment, when generating a line graph, the drawing module can directly use a pre-configured chart drawing tool (such as python's matplotlib) to draw the corresponding line graph. When drawing a line graph, first, it is necessary to generate the horizontal coordinate of the line graph according to each verification indicator analysis date in the verification indicator analysis time period, and set the font size and rotation angle of the horizontal coordinate (can be preset in advance), and secondly, set the line graph to a grid mode, so as to intuitively compare the changing trend of the indicator value between different functional modules. At the same time, according to the different forms of the indicator value of the target regression verification indicator, the mode of the ordinate is set, when the indicator value of the target regression verification indicator is a percentage, the ordinate is set to the percentage mode, and when the indicator value of the target regression verification indicator is not a percentage, the ordinate is set to the numerical mode. Finally, based on the indicator value set of each functional module in the verification indicator analysis time period, a line graph is obtained. The line graph is cached locally, the image cache address is obtained, and the image name (i.e., image identification) of the generated line graph is passed to the next module, i.e., the HTML generation module.
[0167] In one embodiment, for each of the functional modules, the drawing module uses each verification indicator analysis date within the verification indicator analysis time period as the horizontal axis and the target indicator value of the functional module on each verification indicator analysis date as the vertical axis to draw the verification indicator analysis curve of the functional module. Based on the verification indicator analysis curves of each functional module, a line graph of the target regression verification indicator is obtained, namely, a verification indicator analysis graph.
[0168] In one embodiment, for the HTML generation module of the reporting layer, the module will first pre-generate a summary email framework structure for the reporting email, such as the email name, font size, table placement position and image placement position, etc., and then the HTML generation module will generate a table in HTML code format, i.e., the first code segment. At this time, the HTML generation module will directly use the render function of the dataframe to convert the data in the dataframe format obtained by the sorting layer, i.e., the tabular regression data, into HTML code. Then, the HTML generation module will generate HTML code for embedded image links according to the image list (i.e., the image name of the line chart) transmitted by the drawing module, i.e., the second code segment. Finally, the HTML generation module will obtain the summary email body code based on the preset summary email framework structure, the first code segment and the second code segment, and pass the summary email body code to the email sending module.
[0169] In one embodiment, the email sending module will use the summary email body code as the email body, determine at least one reporting object, set at least one reporting object and image attachment (i.e., image acquisition information generated based on the image identifier and image cache address, including a list of image cache addresses generated by the drawing module), and send an email request to the transfer station through the interface and request library. After receiving the email request, the transfer station will send the received email to at least one reporting object.
[0170] It should be noted that the regression test result processing method provided by the present application forms a set of standard regression test result collection, aggregation and reporting schemes, which runs through the entire chip front-end verification process and is a product necessary for each hardware development. Specifically, in the chip front-end verification process, regression tests for verification are usually performed through regression scripts, which are automated script programs used for multiple front-end simulations. Regression testing refers to the process in which the verification personnel input different seed numbers into the use cases written by themselves to generate different incentives, thereby achieving a process close to full verification. In the process of chip front-end verification, by performing regression tests for verification on each functional module in the chip, the regression test results of each functional module can be obtained, and the regression test results can include regression completion time, total number of use cases, number of serious error use cases, number of error use cases, number of warning use cases, number of unfinished use cases, number of unstarted use cases, number of passed use cases, pass rate, code coverage, function coverage, etc. In the case of a large number of regression tests, the number of regression test results obtained is also tens of thousands. In a large number of regression test results, there is actually a lot of redundant information (such as regression results with simulation problems, regression results with use cases, etc.). If the traditional method is used to organize the regression test results, the efficiency of troubleshooting will be low. By adopting the regression test result processing method of the present application, the regression test result reports of each functional module are summarized to obtain the summarized tabular regression data, and the target regression verification indicator in at least one regression verification indicator (specifically, the total number of use cases, the number of serious error use cases, the number of error use cases, the number of warning use cases, The index value of the unfinished use case, the number of unstarted use cases, the number of passed use cases, the pass rate, the code coverage rate, and the function coverage rate) is used to generate the verification index analysis chart of the target regression verification index, which can realize the analysis of the change trend of the index value of the target regression verification index of each functional module. The use of the summarized tabular regression data and the verification index analysis chart can help users (such as verification personnel) to propose to eliminate redundant information and directly obtain the required results (such as the overall situation of the regression test of each functional module (reflected by the tabular regression data), the change trend of the number of passed use cases of each functional module, the change trend of the code coverage rate, the change trend of the function coverage rate, etc.). Most users need to regress test multiple modules. The summary of the regression test results can facilitate viewing all their regression test results with only one file. The visualization of the final report can also help users analyze the regression results of multiple days, thereby analyzing the convergence trend of the functional modules, so as to determine the functional modules with problems based on the convergence trend of the functional modules. For example, the functional modules with problems can be specifically functional modules with a large number of serious error use cases, a small number of passed use cases, a low pass rate, a low code coverage rate, and a low function coverage rate.The summary report is notified to the user group via email, which can help users obtain the results in the first time, saving the time required to obtain the results. It can also facilitate users to use the regression test result summary email to quickly analyze the regression test results, which can improve troubleshooting efficiency.
[0171] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0172] Based on the same inventive concept, the embodiment of the present application also provides a regression test result processing device for implementing the regression test result processing method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in the one or more regression test result processing device embodiments provided below can refer to the limitations of the regression test result processing method above, and will not be repeated here.
[0173] In one embodiment, Fig.15 As shown, a regression test result processing device is provided, including: a collection module 1502, a summary module 1504, a sorting module 1506 and a reporting module 1508, wherein:
[0174] The collection module 1502 is used to obtain a regression test result report of each functional module after performing a regression test for verification on each functional module in the chip; the regression test result report records the regression test result; the regression test result includes a regression test date and an indicator value of at least one regression verification indicator;
[0175] A summary module 1504 is used to summarize the regression test result reports of each functional module based on the functional module name, regression test date and at least one regression verification indicator of each functional module to obtain table-type regression data;
[0176] Arrangement module 1506, used to generate a verification indicator analysis graph of the target regression verification indicator according to the indicator value of the target regression verification indicator in at least one regression verification indicator, cache the verification indicator analysis graph, and obtain the image cache address; the verification indicator analysis graph is used to describe the change trend of the indicator value of the target regression verification indicator of each functional module;
[0177] The reporting module 1508 is used to generate and send a regression test result summary email according to a preset summary email framework structure based on the tabular regression data, the verification indicator analysis chart and the image cache address.
[0178] The above-mentioned regression test result processing device, after performing regression tests for verification on each functional module in the chip, obtains a regression test result report recording the regression test results of each functional module, and summarizes the regression test result reports of each functional module based on the functional module name, regression test date and at least one regression verification indicator of each functional module, so as to obtain summarized tabular regression data. At the same time, a verification indicator analysis chart of the target regression verification indicator is generated by using the indicator value of the target regression verification indicator in at least one regression verification indicator, so as to realize the analysis of the change trend of the indicator value of the target regression verification indicator of each functional module. Then, on the basis of summarizing and analyzing the regression test result reports of each functional module, according to the preset summary email framework architecture, based on the tabular regression data, the verification indicator analysis chart and the image cache address obtained after caching the verification indicator analysis chart, a regression test result summary email is generated and sent, so that the email recipient can use the regression test result summary email to realize rapid analysis of the regression test results, thereby improving the troubleshooting efficiency.
[0179] In one embodiment, the summary module is also used to obtain a row index based on the functional module name of each functional module, and use the date field corresponding to the regression test date and at least one regression verification indicator as the column index, and summarize the regression test result report of each functional module according to the row index and the column index to obtain tabular regression data.
[0180] In one embodiment, the summary module is further used to sort the function module names of the function modules to obtain a function module name sorting result, and use the function module names arranged in sequence according to the function module name sorting result as row indexes.
[0181] In one embodiment, the summary module is further used to determine the module writing object of each functional module, and to arrange the function module names of each functional module based on the module writing object of each functional module to obtain a function module name sorting result.
[0182] In one embodiment, the summary module is also used to determine the target regression test results of each functional module according to the regression test date of the regression test results in the regression test result report of each functional module; the target regression test result is the regression test result generated by the most recent regression test, and the target regression test results of each functional module are summarized according to the row index and column index to obtain tabular regression data.
[0183] In one embodiment, the sorting module is also used to extract the indicator value set of each functional module within the verification indicator analysis time period from the indicator value of the target regression indicator in at least one regression verification indicator according to a preconfigured verification indicator analysis time period, and draw a verification indicator analysis chart of the target regression verification indicator based on the indicator value set of each functional module within the verification indicator analysis time period.
[0184] In one embodiment, the sorting module is also used to draw a verification indicator analysis curve for each of the functional modules based on a set of indicator values of the functional module within the verification indicator analysis time period, and obtain a verification indicator analysis graph of the target regression verification indicator based on the verification indicator analysis curves of each functional module.
[0185] In one embodiment, the indicator value set includes the target indicator value of each verification indicator analysis date within the verification indicator analysis time period; the sorting module is also used to draw the verification indicator analysis curve of the targeted functional module with each verification indicator analysis date within the verification indicator analysis time period as the first axial coordinate and the target indicator value of the targeted functional module on each verification indicator analysis date as the second axial coordinate.
[0186] In one embodiment, the reporting module is also used to generate a summary email body code based on the tabular regression data and the picture identifier of the verification indicator analysis chart according to a preset summary email framework structure, and generate picture acquisition information based on the picture identifier and the picture cache address, and generate and send a regression test result summary email based on the summary email body code and the picture acquisition information.
[0187] In one embodiment, the reporting module is also used to convert the tabular regression data into code form to obtain a first code segment, and generate a second code segment with an embedded image link based on the image identifier of the verification indicator analysis chart, and obtain the summary email body code based on the preset summary email framework structure, the first code segment and the second code segment.
[0188] In one embodiment, the reporting module is also used to use the image acquisition information as an image attachment, generate a regression test result summary email based on the summary email body code and the image attachment, determine at least one reporting object, and send a regression test result summary email to at least one reporting object.
[0189] Each module in the above-mentioned regression test result processing device can be implemented in whole or in part by software, hardware and a combination thereof. Each of the above-mentioned modules can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each of the above modules.
[0190] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Fig.16 As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data such as regression test result reports. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a regression test result processing method is implemented.
[0191] Those skilled in the art will understand that Fig.16 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0192] In one embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above method embodiments when executing the computer program.
[0193] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.
[0194] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0195] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.
[0196] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0197] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A regression test result processing method, characterized in that: The method comprises: After performing a regression test for verification on each functional module in the chip, a regression test result report of each functional module is obtained; the regression test result report records the regression test result; the regression test result includes a regression test date and an indicator value of at least one regression verification indicator; Based on the function module name, the regression test date and the at least one regression verification indicator of each function module, the regression test result report of each function module is summarized to obtain tabular regression data; According to the indicator value of the target regression verification indicator in the at least one regression verification indicator, a verification indicator analysis graph of the target regression verification indicator is generated, and the verification indicator analysis graph is cached to obtain a picture cache address; the verification indicator analysis graph is used to describe the change trend of the indicator value of the target regression verification indicator of each of the functional modules; According to the preset summary email framework structure, based on the tabular regression data, the verification index analysis chart and the image cache address, a regression test result summary email is generated and sent.
2. The method according to claim 1, characterized in that The regression test result reports of the functional modules are summarized based on the functional module names, the regression test dates and the at least one regression verification indicator of the functional modules to obtain the tabular regression data, including: Obtaining a row index based on the function module name of each of the function modules, and using the date field corresponding to the regression test date and the at least one regression verification indicator as a column index; The regression test result reports of the functional modules are summarized according to the row index and the column index to obtain tabular regression data.
3. The method according to claim 2, characterized in that The obtaining of the row index based on the function module name of each function module comprises: Sort the function module names of the function modules to obtain a function module name sorting result; The names of the functional modules arranged in sequence according to the functional module name sorting result are used as row indexes.
4. The method according to claim 3, characterized in that The function module names of the function modules are sorted to obtain the function module name sorting result, which includes: Determine the module writing object of each of the functional modules; Based on the module writing objects of the functional modules, the functional module names of the functional modules are arranged to obtain a functional module name sorting result.
5. The method according to claim 2, characterized in that: The regression test result reports of each functional module are summarized according to the row index and the column index to obtain the tabular regression data including: Determine the target regression test result of each functional module according to the regression test date of the regression test result in the regression test result report of each functional module; the target regression test result is the regression test result generated by the most recent regression test; According to the row index and the column index, the target regression test results of each of the functional modules are summarized to obtain tabular regression data.
6. The method according to claim 1, characterized in that The generating, according to the indicator value of the target regression verification indicator in the at least one regression verification indicator, a verification indicator analysis diagram of the target regression verification indicator comprises: According to a preconfigured verification indicator analysis time period, extracting a set of indicator values of each of the functional modules within the verification indicator analysis time period from the indicator value of the target regression indicator in the at least one regression verification indicator; Based on the indicator value set of each functional module within the verification indicator analysis time period, a verification indicator analysis diagram of the target regression verification indicator is drawn.
7. The method according to claim 6, characterized in that Drawing the verification indicator analysis diagram of the target regression verification indicator based on the indicator value set of each functional module within the verification indicator analysis time period includes: For each of the functional modules, a verification index analysis curve of the functional module is drawn based on the index value set of the functional module in the verification index analysis time period; Based on the verification index analysis curves of each of the functional modules, a verification index analysis diagram of the target regression verification index is obtained.
8. The method according to claim 7, characterized in that The indicator value set includes the target indicator value of each verification indicator analysis date within the verification indicator analysis time period; the indicator value set of the targeted functional module within the verification indicator analysis time period is used to draw the verification indicator analysis curve of the targeted functional module, including: The verification indicator analysis curve of the targeted functional module is drawn by taking each verification indicator analysis date within the verification indicator analysis time period as the first axial coordinate and taking the target indicator value of the targeted functional module on each verification indicator analysis date as the second axial coordinate.
9. The method according to any one of claims 1 to 8, characterized in that: The method of generating and sending a regression test result summary email according to a preset summary email framework structure based on the tabular regression data, the verification index analysis chart and the image cache address includes: According to the preset summary email framework structure, based on the tabular regression data and the image identifier of the verification index analysis chart, a summary email body code is generated, and based on the image identifier and the image cache address, image acquisition information is generated; Based on the summary email body code and the picture acquisition information, a regression test result summary email is generated and sent.
10. The method according to claim 9, characterized in that The method of generating the summary email body code according to the preset summary email framework structure and based on the tabular regression data and the image identifier of the verification index analysis chart includes: Convert the tabular regression data into code form to obtain a first code segment, and generate a second code segment with an embedded image link according to the image identifier of the verification indicator analysis chart; Based on the preset aggregated email framework structure, the first code segment and the second code segment, a aggregated email body code is obtained.
11. The method according to claim 9, characterized in that The generating and sending a regression test result summary email based on the summary email body code and the picture acquisition information comprises: Using the image acquisition information as an image attachment, and generating a regression test result summary email based on the summary email body code and the image attachment; At least one reporting object is determined, and the regression test result summary email is sent to the at least one reporting object.
12. A regression test result processing device, characterized in that: The device comprises: A collection module, used for obtaining a regression test result report of each functional module in the chip after performing a regression test for verification; the regression test result report records the regression test result; the regression test result includes a regression test date and an indicator value of at least one regression verification indicator; A summary module, configured to summarize the regression test result reports of each of the functional modules based on the functional module names, the regression test dates and the at least one regression verification indicator of each of the functional modules to obtain tabular regression data; A sorting module, used to generate a verification indicator analysis graph of the target regression verification indicator according to the indicator value of the target regression verification indicator in the at least one regression verification indicator, cache the verification indicator analysis graph, and obtain a picture cache address; the verification indicator analysis graph is used to describe the change trend of the indicator value of the target regression verification indicator of each of the functional modules; The reporting module is used to generate and send a regression test result summary email according to a preset summary email framework structure based on the tabular regression data, the verification indicator analysis chart and the image cache address.
13. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 11 are implemented.
14. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 11 are implemented.
15. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 11 are implemented.