Software quality verification method and device, computer program product and electronic equipment
By collecting the quality data of the software during the development phase, the quality measurement model and the calculation of the quality score were solved, and the problem of low software quality detection efficiency and accuracy of software in the existing technology achieved more efficient and accurate quality testing.
Patent Information
- Application Number
- CN202411495211.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-24
- Publication Date
- 2025-01-24
AI Technical Summary
In the prior art, there are problems of low detection efficiency and low detection accuracy when performing quality testing of software.
By collecting the quality data of the detection software during the development stage, the quality index list is obtained, the quality index data is calculated, and the quality measurement model is constructed. After obtaining the model weight, calculate the quality score to determine the verification results of the software.
Improving the efficiency and accuracy of software quality detection, which can more accurately reflect the quality of software products.
Smart Images

Figure CN119357024A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of software quality management or other related fields, and specifically, to a software quality verification method, device, computer program product and electronic device. Background Art
[0002] As an important part of the information technology field, software development has a significant impact on economic and social development. With the rapid development of the software industry, the quality and performance of software products have become key factors in corporate competition. The software development process refers to the complete product development process consisting of various links from generating new ideas, overall design, research and development, testing to feedback. This process includes demand analysis, system design, coding implementation, testing verification and deployment and production.
[0003] In the process of software development, in order to correctly reflect the objective situation of the development process and predict and control the quality of software products, the development process must be measured. In related technologies, software quality measurement is mainly based on software testing and product quality measurement, such as SADT (Structured Analysis and Design Technique) method, GQM (Goal-Question-Metric) paradigm measurement model, software quality management model based on CMM (Capability Maturity Model) process management control, indirect software performance measurement method, etc. However, these studies have failed to fully consider the importance of software development process stages and quality indicators in quality evaluation, and thus cannot accurately reflect the quality of software products.
[0004] With regard to the problems of low detection efficiency and low detection accuracy in software quality inspection in related technologies, no effective solution has been proposed so far. Summary of the invention
[0005] The main purpose of the present application is to provide a software quality verification method, device, computer program product and electronic device to solve the problems of low detection efficiency and low detection accuracy when performing software quality inspection in related technologies.
[0006] In order to achieve the above-mentioned purpose, according to one aspect of the present application, a method for verifying software quality is provided. The method includes: collecting quality data of the software to be tested in M development stages to obtain M groups of process quality data, where M is a positive integer; obtaining a quality indicator list, calculating each group of process quality data according to the quality indicator list to obtain M groups of quality indicator data, and constructing a quality measurement model according to the M groups of quality indicator data, wherein the quality measurement model includes a first-layer sub-model and a second-layer sub-model, the first-layer sub-model represents the M development stages, and the second-layer sub-model includes the process quality data under the M development stages; obtaining the model weight of the first-layer sub-model to obtain a first group of model weights, and obtaining the model weight of the second-layer sub-model to obtain a second group of model weights, calculating the quality score of the quality measurement model according to the first group of model weights and the second group of model weights, and determining the verification result of the software to be tested by the quality score.
[0007] Furthermore, the model weights of the first-layer sub-model are obtained to obtain a first group of model weights, and the model weights of the second-layer sub-model are obtained to obtain the second group of model weights, including: obtaining Y questionnaire results within a historical time period, wherein each questionnaire result includes evaluation data of developers on M development stages, and Y is a positive integer; extracting Y groups of evaluation results from the Y questionnaire results, and constructing a factor loading matrix based on the Y groups of evaluation results, wherein the matrix elements in the factor loading matrix are used to characterize the data obtained after the conversion of each evaluation result; and determining the first group of model weights and the second group of model weights based on the factor loading matrix.
[0008] Furthermore, determining the first group of model weights and the second group of model weights according to the factor loading matrix includes: determining M matrix elements according to the factor loading matrix, normalizing each matrix element to obtain M normalized element data, and the M normalized element data constitute the first group of model weights; extracting matrix coefficients of M matrix elements from the factor loading matrix to obtain M groups of matrix coefficients; for a column in the factor loading matrix, performing absolute value calculation on the column to obtain a group of absolute value elements, and extracting the element with the largest value and the element with the smallest value from the absolute value elements to obtain the first element and the second element; calculating the ratio of the first element associated with each column to the second element associated with each column to obtain M first preset parameters, and performing calculation based on the M first preset parameters to obtain M second preset parameters; constructing a judgment matrix using the M second preset parameters, and determining the second group of model weights according to the judgment matrix.
[0009] Furthermore, the M second preset parameters are calculated based on the M first preset parameters, including: for a column in the factor load matrix, calculating the ratio of the second element to the first preset parameter associated with the column to obtain a first ratio; calculating the ratio of the matrix coefficient associated with the column to the first ratio to obtain a second ratio; calculating the sum of the second ratio and the first preset constant to obtain the second preset parameter associated with the column.
[0010] Furthermore, determining the second group of model weights according to the judgment matrix includes: calculating the product of each row of elements in the judgment matrix to obtain K element products, where K is a positive integer; obtaining the matrix order of the judgment matrix, performing square root calculations on each element product according to the matrix order to obtain K square root values; normalizing the K square root values to obtain K normalized square root data, and the K normalized square root data constitute the second group of model weights.
[0011] Furthermore, calculating the quality score of the quality measurement model based on the first group of model weights and the second group of model weights includes: obtaining the expected value of the quality indicator at each development stage to obtain M groups of expected values of quality indicators; performing mean calculation on each quality indicator expected value in each group of expected values of quality indicators to obtain the expected average values of M groups of quality indicators; for one quality indicator data, calculating the difference between the quality indicator data and the expected average value of the quality indicator associated with the quality indicator data to obtain a first difference; calculating the product of the second group of model weights associated with each quality indicator data and the first difference associated with each quality indicator data to obtain K first products, calculating the sum of the K first products to obtain a first result; calculating the product of the first result and the first group of model weights to obtain M second products, calculating the sum of the M second products to obtain a second result, and determining the quality score by the second result.
[0012] Furthermore, determining the verification result of the software to be tested by the quality score includes: obtaining the expected value of the quality indicator of each development stage to obtain M groups of expected values of quality indicators; extracting the quality indicator data with the smallest value from the M groups of quality indicator data to obtain the first indicator value, and extracting the quality indicator expected value with the largest value from the M groups of expected values of quality indicators to obtain the second indicator value; calculating the difference between the first indicator value and the second indicator value to obtain the second difference; calculating the difference between the quality score and the second difference to obtain the third difference, and calculating the difference between the second preset constant and the second difference to obtain the fourth difference; calculating the ratio of the third difference to the fourth difference to obtain a verification score, and generating a verification result of failed verification when the verification score is less than a scoring threshold, and generating a verification result of passed verification when the verification score is greater than or equal to the scoring threshold.
[0013] In order to achieve the above-mentioned purpose, according to another aspect of the present application, a software quality verification device is provided. The device includes: a collection unit, which is used to collect quality data of the software to be tested in M development stages to obtain M groups of process quality data, wherein M is a positive integer; a first acquisition unit, which is used to obtain a quality indicator list, calculate each group of process quality data according to the quality indicator list to obtain M groups of quality indicator data, and construct a quality measurement model according to the M groups of quality indicator data, wherein the quality measurement model includes a first layer sub-model and a second layer sub-model, the first layer sub-model represents the M development stages, and the second layer sub-model includes the process quality data under the M development stages; a second acquisition unit, which is used to obtain the model weight of the first layer sub-model to obtain a first group of model weights, and obtain the model weight of the second layer sub-model to obtain a second group of model weights, calculate the quality score of the quality measurement model according to the first group of model weights and the second group of model weights, and determine the verification result of the software to be tested by the quality score.
[0014] According to another aspect of an embodiment of the present invention, a computer storage medium is provided. The computer storage medium is used to store a program. When the program is running, the device where the computer storage medium is located is controlled to execute a software quality verification method.
[0015] According to another aspect of an embodiment of the present invention, an electronic device is provided, comprising one or more processors and a memory; the memory stores computer-readable instructions, and the processor is used to execute the computer-readable instructions, wherein a software quality verification method is executed when the computer-readable instructions are executed.
[0016] According to another aspect of an embodiment of the present invention, a computer program product is provided, including a computer program. When the computer program is executed by a processor, a method for verifying software quality is performed.
[0017] Through this application, the following steps are adopted: collecting quality data of the software to be tested in M development stages to obtain M groups of process quality data, where M is a positive integer; obtaining a quality indicator list, calculating each group of process quality data according to the quality indicator list to obtain M groups of quality indicator data, and constructing a quality measurement model based on the M groups of quality indicator data, wherein the quality measurement model includes a first-layer sub-model and a second-layer sub-model, the first-layer sub-model represents the M development stages, and the second-layer sub-model includes the process quality data under the M development stages; obtaining the model weight of the first-layer sub-model, obtaining the first group of model weights, and obtaining the model weight of the second-layer sub-model The second group of model weights is obtained, and the quality score of the quality measurement model is calculated according to the first group of model weights and the second group of model weights. The verification result of the software to be tested is determined by the quality score, which solves the problems of low detection efficiency and low detection accuracy in software quality detection in related technologies. By collecting the quality data of the software to be tested in the development stage, quality indicator data is calculated from the quality data, and a quality measurement model is constructed using the quality indicator data. When the model weights are obtained, the quality score is calculated using the model weights, and the verification result of the software to be tested is determined by the quality score, thereby achieving the effect of improving the efficiency and accuracy of quality detection. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The drawings constituting a part of the present application are used to provide a further understanding of the present application. The illustrative embodiments and descriptions of the present application are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0019] Figure 1 is a flowchart of a method for verifying software quality according to an embodiment of the present application;
[0020] Figure 2 is a schematic diagram of a method for collecting quality data provided in an embodiment of the present application;
[0021] Figure 3 is a schematic diagram of a quality measurement model provided according to an embodiment of the present application;
[0022] Figure 4 is a schematic diagram of an optional software quality verification method provided according to an embodiment of the present application;
[0023] Figure 5 is a schematic diagram of a software quality verification device provided according to an embodiment of the present application;
[0024] Figure 6 is a schematic diagram of an electronic device provided according to an embodiment of the present application. DETAILED DESCRIPTION
[0025] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0026] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.
[0027] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0028] It should be noted that the relevant information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for display, data for analysis, etc.) involved in this disclosure are all information and data authorized by the user or fully authorized by all parties. For example, an interface is set between this system and the relevant user or organization. Before obtaining relevant information, it is necessary to send an acquisition request to the aforementioned user or organization through the interface, and obtain relevant information after receiving the consent information fed back by the aforementioned user or organization.
[0029] It should be noted that the collected information used in this application is information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of the relevant data comply with the relevant laws, regulations and standards of the relevant regions, take necessary confidentiality measures, do not violate public order and good morals, and provide corresponding operation entrances for users to choose to authorize or refuse to use it.
[0030] The present invention is described below in conjunction with preferred implementation steps. Figure 1 is a flowchart of a method for verifying software quality according to an embodiment of the present application, such as Figure 1 As shown, the method comprises the following steps:
[0031] Step S101 , collecting quality data of the software to be tested in M development stages to obtain M groups of process quality data, where M is a positive integer.
[0032] Specifically, since the detection of software quality is based on the output of the five development stages of requirements, design, coding, testing and production as measurement entities, in order to realize the detection of software quality, it is necessary to collect quality data first. Figure 2 is a schematic diagram of a method for collecting quality data according to an embodiment of the present application, such as Figure 2 As shown, the quality data associated with the software to be tested includes multiple types. Different types of quality data are stored in different configuration management tools. Therefore, relevant quality data can be collected from different data sources through different I / O interfaces and stored in the process quality database. After data cleaning and integration of the quality data, the process quality data is obtained. Among them, the data source can include confluence data source, Jira data source, Sonar data source, HET data source, etc.
[0033] It should be noted that the collection of quality data can be done in a combination of full and incremental methods, that is, the first collection is done in full, and the subsequent data collection is done in incremental mode. In addition, after collecting data, the data quality needs to be checked. If an abnormal problem such as failure in the interface call is found, the interface needs to be called again to obtain quality data.
[0034] Step S102, obtain a quality indicator list, calculate each group of process quality data according to the quality indicator list to obtain M groups of quality indicator data, and construct a quality measurement model based on the M groups of quality indicator data, wherein the quality measurement model includes a first-level sub-model and a second-level sub-model, the first-level sub-model represents M development stages, and the second-level sub-model includes process quality data under the M development stages.
[0035] Specifically, the quality indicator list includes formulas for calculating process quality data. After the processed process quality data is obtained, Table 1 is a list of calculation formulas for the quality indicator list. As shown in Table 1, the calculation formulas in the quality indicator list can be used to calculate the process quality data to obtain the corresponding quality indicator data:
[0036] Table 1
[0037]
[0038]
[0039] Furthermore, after obtaining multiple sets of quality indicator data, a quality measurement model can be constructed based on the quality indicator data, where: Figure 3 is a schematic diagram of a quality measurement model provided according to an embodiment of the present application, such as Figure 3 As shown, when constructing the model, the quality of the R&D process can be taken as the first layer, the five stages of development, namely, requirements, design, coding, testing and production, can be taken as the second layer, and the corresponding quality indicator data in each development stage can be taken as the third layer. At this time, the quality measurement model includes a three-layer structure and 17 quality measurement indicators.
[0040] Step S103, obtain the model weights of the first layer sub-model to obtain a first group of model weights, and obtain the model weights of the second layer sub-model to obtain a second group of model weights, calculate the quality score of the quality measurement model according to the first group of model weights and the second group of model weights, and determine the verification result of the software to be tested according to the quality score.
[0041] Specifically, after obtaining the quality measurement model, the quality score can be calculated based on the first group of model weights and the second group of model weights, and combined with the quality indicator data in the quality measurement model, when the model weights of the first-layer sub-model (that is, the first group of model weights) and the model weights of the second-layer sub-model (that is, the second group of model weights) are obtained. The verification result of the software to be tested can be determined by the quality score.
[0042] The software quality verification method provided in the embodiment of the present application obtains M groups of process quality data by collecting quality data of the software to be tested in M development stages, wherein M is a positive integer; obtains a quality indicator list, calculates each group of process quality data according to the quality indicator list, obtains M groups of quality indicator data, and constructs a quality measurement model according to the M groups of quality indicator data, wherein the quality measurement model includes a first-layer sub-model and a second-layer sub-model, the first-layer sub-model represents the M development stages, and the second-layer sub-model includes the process quality data under the M development stages; obtains the model weight of the first-layer sub-model, obtains the first group of model weights, and obtains the second-layer sub-model The model weights are used to obtain the second group of model weights. The quality score of the quality measurement model is calculated according to the first group of model weights and the second group of model weights. The verification result of the software to be tested is determined by the quality score, which solves the problems of low detection efficiency and low detection accuracy in software quality detection in related technologies. The quality data of the software to be tested in the development stage is collected, and the quality indicator data is calculated from the quality data. The quality measurement model is constructed using the quality indicator data. When the model weights are obtained, the quality score is calculated using the model weights. The verification result of the software to be tested is determined by the quality score, thereby achieving the effect of improving the efficiency and accuracy of quality detection.
[0043] Optionally, in the software quality verification method provided in the embodiment of the present application, the model weights of the first-layer sub-model are obtained to obtain a first group of model weights, and the model weights of the second-layer sub-model are obtained to obtain the second group of model weights, which includes: obtaining Y questionnaire results within a historical time period, wherein each questionnaire result includes evaluation data of developers on M development stages, and Y is a positive integer; extracting Y groups of evaluation results from the Y questionnaire results, and constructing a factor loading matrix based on the Y groups of evaluation results, wherein the matrix elements in the factor loading matrix are used to characterize the data obtained after the conversion of each evaluation result; and determining the first group of model weights and the second group of model weights based on the factor loading matrix.
[0044] Specifically, the first group of model weights and the second group of model weights can be determined by means of questionnaires. First, multiple questionnaire results can be obtained, each of which includes the evaluation data of developers on the five development stages, that is, the importance of requirements, design, coding, testing, and production is obtained from software developers, customers, and other staff through questionnaires. Then, the corresponding evaluation results are extracted and quantitatively analyzed, that is, the qualitative evaluation results are converted into quantitative data for further mathematical analysis.
[0045] Furthermore, after completing the data conversion, a factor loading matrix can be constructed based on the above quantitative data, wherein the factor loading matrix can characterize the relationship between the evaluation results and the potential factors. In this matrix, each row represents an evaluation result, and each column represents a potential factor. The matrix elements in the matrix, i.e., the factor loading, can reflect the correlation between the evaluation results and the potential factors. Finally, the constructed factor loading matrix can be used to determine the first set of model weights and the second set of model weights. This embodiment constructs a factor loading matrix by deeply understanding the relationship between variables and factors, and then determines the model weights, providing support for subsequent software quality verification.
[0046] Optionally, in the software quality verification method provided in the embodiment of the present application, determining the first group of model weights and the second group of model weights according to the factor load matrix includes: determining M matrix elements according to the factor load matrix, normalizing each matrix element to obtain M normalized element data, and the M normalized element data constitute the first group of model weights; extracting the matrix coefficients of the M matrix elements from the factor load matrix to obtain M groups of matrix coefficients; for a column in the factor load matrix, performing absolute value calculation on the column to obtain a group of absolute value elements, and extracting the element with the largest value and the element with the smallest value from the absolute value elements to obtain the first element and the second element; calculating the ratio of the first element associated with each column to the second element associated with each column to obtain M first preset parameters, and performing calculation based on the M first preset parameters to obtain M second preset parameters; constructing a judgment matrix using the M second preset parameters, and determining the second group of model weights according to the judgment matrix.
[0047] Specifically, after constructing the factor loading matrix, since the matrix element a in the factor loading matrix ij It represents the load of the ith variable on the jth common factor, and the relative importance of the ith variable on the jth common factor. Since there are five development stages in the second layer of the model, the ith variable in the factor loading matrix corresponds to the ith development stage. At this time, we can obtain the matrix element λ of the ith stage. i , normalize each matrix element to obtain multiple normalized element data, and then form the first set of model weights from the normalized element data, where the normalized element data u i Calculated by the following formula: i represents the i-th development stage, λ i Represents a matrix element.
[0048] Optionally, when calculating the second set of model weights, since the matrix coefficients B(b ij ) r×s =B(β 1 ,β 2 ,...,β n) can reflect the importance of the original variables to the common factors, so the judgment matrix can be determined based on the similarity between the two, that is, the matrix coefficients of the factor loading matrix can be used to determine the importance of each indicator to determine the judgment matrix. First, the matrix coefficients of the above matrix elements are extracted from the factor loading matrix to obtain multiple sets of matrix coefficients. Then, the absolute value of each column in the factor loading matrix is calculated to obtain multiple sets of absolute value elements. After extracting the element with the largest value (that is, the first element) and the element with the smallest value (that is, the second element) from the absolute value elements, the ratio of the first element associated with each column to the second element associated with each column is calculated to obtain the first preset parameter, that is, the first preset parameter p is calculated by the following formula: Among them, max(β k ) and min(β k ) respectively represent the maximum and minimum values of the absolute value elements corresponding to the kth column vector in the factor loading matrix, that is, the first element and the second element. The corresponding second preset parameters are further calculated according to the first preset parameters, and finally the judgment matrix for each indicator of the comprehensive evaluation model is constructed using the second preset parameters, and the second set of model weights is determined according to the judgment matrix. This embodiment provides support for subsequent software quality verification by determining the first set of model weights and the second set of model weights using the factor loading matrix.
[0049] Optionally, in the software quality verification method provided in the embodiment of the present application, calculation is performed based on M first preset parameters to obtain M second preset parameters, including: for a column in the factor loading matrix, calculating the ratio of the second element to the first preset parameter associated with the column to obtain a first ratio; calculating the ratio of the matrix coefficient associated with the column to the first ratio to obtain a second ratio; calculating the sum of the second ratio and the first preset constant to obtain the second preset parameter associated with the column.
[0050] Specifically, when calculating the second preset parameter, the ratio of the second element to the first preset parameter associated with each column can be calculated first to obtain the first ratio, and then the ratio of the matrix coefficient associated with each column to the first ratio is calculated to obtain the second ratio. Finally, the second preset parameter of each column is determined based on the second ratio, that is, it can be calculated by the following formula:
[0051]
[0052] Among them, min(β k ) represents the minimum value of the absolute value element corresponding to the kth column vector in the factor loading matrix, that is, the second element, p represents the first preset parameter, b ikThe absolute value of the matrix coefficient associated with each column in the factor loading matrix is represented, and 0.5 is the first preset constant. This embodiment calculates the second preset parameter by using the first preset parameter, thereby providing data support for subsequently determining the second set of model weights by using the second preset parameter.
[0053] Optionally, in the software quality verification method provided in the embodiment of the present application, determining the second set of model weights according to the judgment matrix includes: calculating the product of each row of elements in the judgment matrix to obtain K element products, where K is a positive integer; obtaining the matrix order of the judgment matrix, and performing square root calculation on each element product according to the matrix order to obtain K square root values; normalizing the K square root values to obtain K normalized square root data, and the K normalized square root data constitute the second set of model weights.
[0054] Specifically, after the second preset parameters are calculated, the judgment matrix A (a ij ) n×n =A(α 1 ,α 2 ,...,α n ),in, imp(x ik ) represents the importance of the i-th quality indicator data relative to the k-th development stage of the upper layer, that is, it represents the second preset parameter of the i-th quality indicator data relative to the k-th development stage of the upper layer, imp(x jk ) represents the importance of the j-th quality indicator data relative to the k-th development stage of the upper layer, that is, it represents the second preset parameter of the j-th quality indicator data relative to the k-th development stage of the upper layer.
[0055] When using the above judgment matrix to determine the second set of model weights, first calculate the judgment matrix A (a ij ) n×n The product of each row of elements That is, we get multiple element products, where n represents the matrix order, i and j represent the row and j column respectively. Then we calculate the nth root value of each element product: Get the corresponding square root value, and finally normalize all the square root values, that is, perform normalization according to the following formula: Thus, we get the vector of normalized square root data combination: W = [w 1 ,w 2 ,...,w n ] T , at this time, the vector can be used to form the second set of model weights. This embodiment uses the second preset parameter to construct a judgment matrix, and uses the judgment matrix to determine the second set of model weights, which can improve the accuracy of the weights and thus improve the verification accuracy.
[0056] After determining the first group of model weights and the second group of model weights, the model weights can be used to calculate the quality score. Optionally, in the software quality verification method provided in the embodiment of the present application, calculating the quality score of the quality measurement model according to the first group of model weights and the second group of model weights includes: obtaining the expected value of the quality indicator of each development stage to obtain M groups of quality indicator expected values; performing mean calculation on each quality indicator expected value in each group of quality indicator expected values to obtain the expected average value of the M groups of quality indicators; for one quality indicator data, calculating the difference between the quality indicator data and the expected average value of the quality indicator associated with the quality indicator data to obtain a first difference; calculating the product of the second group of model weights associated with each quality indicator data and the first difference associated with each quality indicator data to obtain K first products, calculating the sum of the K first products to obtain a first result; calculating the product of the first result and the first group of model weights to obtain M second products, calculating the sum of the M second products to obtain a second result, and determining the quality score by the second result.
[0057] Specifically, we first obtain the expected values of quality indicator data in each development stage from software developers, customers and other staff through questionnaires to obtain multiple groups of quality indicator expected values, and then calculate the mean of each quality indicator expected value in each group of quality indicator expected values to obtain the corresponding quality indicator expected average value.
[0058] The difference between the quality indicator data and the expected average value of the quality indicator associated with the quality indicator data can be further calculated, and the difference is multiplied by the model weight in the first group of model weights and the model weight in the second group of model weights to determine the quality score SQ, which can be calculated by the following formula: Among them, u i is the model weight in the first set of model weights in the i-th development stage, w ij is the model weight of the j-th quality indicator data relative to the second set of model weights in the i-th development stage, m i is the number of quality indicator data in the i-th development stage, is the actual value of the j-th quality indicator data, is the average expected value of the jth quality indicator data in the questionnaire, that is, the expected average value of the quality indicator. This embodiment improves the determination of the quality indicator expected value, and then uses the quality indicator expected value to calculate the quality score, which can accurately reflect the quality of the software.
[0059] Optionally, in the software quality verification method provided in the embodiment of the present application, determining the verification result of the software to be tested by the quality score includes: obtaining the expected value of the quality indicator of each development stage to obtain M groups of quality indicator expected values; extracting the quality indicator data with the smallest value from the M groups of quality indicator data to obtain a first indicator value, and extracting the quality indicator expected value with the largest value from the M groups of quality indicator expected values to obtain a second indicator value; calculating the difference between the first indicator value and the second indicator value to obtain a second difference; calculating the difference between the quality score and the second difference to obtain a third difference, and calculating the difference between the second preset constant and the second difference to obtain a fourth difference; calculating the ratio of the third difference to the fourth difference to obtain a verification score, and when the verification score is less than a scoring threshold, generating a verification result that fails the verification, and when the verification score is greater than or equal to the scoring threshold, generating a verification result that passes the verification.
[0060] Specifically, since the calculated quality score is a floating-point data, it cannot directly show the quality of the software. Therefore, the quality score can be converted into a percentage system according to the quality score calculation formula. First, the expected value of the quality indicator of each development stage is obtained, and then the expected value of the quality indicator with the largest value (that is, the first indicator value) and the expected value of the quality indicator with the smallest value (that is, the second indicator value) are extracted, and then the verification score is calculated by the following formula: Among them, min(P) represents the quality indicator data with the smallest value extracted from the quality indicator data (that is, the first indicator value), and max(E) represents the quality indicator expected value with the largest value extracted from the quality indicator expected value (that is, the second indicator value).
[0061] After obtaining the verification score, the quality of the software can be evaluated by the verification score. First, the score threshold can be obtained. When the verification score is less than the score threshold, a verification result of failed verification can be generated; when the verification score is greater than or equal to the score threshold, a verification result of passed verification can be generated. This embodiment processes the quality score to obtain the verification score, and then the verification score can be used to intuitively evaluate the quality of the software.
[0062] It should be noted that the steps shown in the flowcharts of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and that, although a logical order is shown in the flowcharts, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0063] The present application also provides a method for verifying software quality. Figure 4 is a schematic diagram of an optional software quality verification method provided according to an embodiment of the present application, such as Figure 4 As shown, the method includes:
[0064] In order to verify the software quality, a three-layer quality measurement model of the software development process is first constructed from top to bottom, in which the model covers the quality indicator data of each development stage; secondly, by obtaining multiple questionnaire results, the factor loading matrix is constructed using the questionnaire results, and the factor loading matrix is used to determine the first set of model weights and the second set of model weights.
[0065] Further, relevant quality data is collected from different data sources through different I / O interfaces, and process quality data is obtained after data cleaning and integration. Then, each process quality data is calculated according to the quality indicator list to obtain quality indicator data (that is, actual indicator values). The expected values of quality indicators in each development stage (that is, expected indicator values) are obtained through questionnaires. Finally, the quality score is calculated using the first set of model weights, the second set of model weights, the actual indicator values and the expected indicator values, and the verification result of the software to be tested is determined based on the quality score.
[0066] This embodiment collects quality data of the software to be tested during the development stage, calculates quality indicator data from the quality data, and uses the quality indicator data to build a quality measurement model. When the model weight is obtained, the model weight is used to calculate the quality score, and the verification result of the software to be tested is determined by the quality score, thereby achieving the effect of improving the efficiency and accuracy of quality detection.
[0067] The embodiment of the present application also provides a software quality verification device. It should be noted that the software quality verification device of the embodiment of the present application can be used to execute the software quality verification method provided in the embodiment of the present application. The software quality verification device provided in the embodiment of the present application is introduced below.
[0068] Figure 5 is a schematic diagram of a software quality verification device provided according to an embodiment of the present application, such as Figure 5 As shown, the device includes: a collection unit 50, a first acquisition unit 51, and a second acquisition unit 52.
[0069] The collecting unit 50 is used to collect the quality data of the software to be tested in M development stages to obtain M groups of process quality data, where M is a positive integer;
[0070] A first acquisition unit 51 is used to acquire a quality indicator list, calculate each set of process quality data according to the quality indicator list to obtain M sets of quality indicator data, and construct a quality measurement model according to the M sets of quality indicator data, wherein the quality measurement model includes a first layer sub-model and a second layer sub-model, the first layer sub-model represents M development stages, and the second layer sub-model includes process quality data under the M development stages;
[0071] The second acquisition unit 52 is used to acquire the model weights of the first layer sub-model to obtain a first group of model weights, and to acquire the model weights of the second layer sub-model to obtain a second group of model weights, and to calculate the quality score of the quality measurement model according to the first group of model weights and the second group of model weights, and to determine the verification result of the software to be tested according to the quality score.
[0072] The software quality verification device provided by the embodiment of the present application collects the quality data of the software to be tested in M development stages through the collection unit 50 to obtain M groups of process quality data, wherein M is a positive integer; the first acquisition unit 51 obtains the quality indicator list, calculates each group of process quality data according to the quality indicator list, obtains M groups of quality indicator data, and constructs a quality measurement model according to the M groups of quality indicator data, wherein the quality measurement model includes a first layer sub-model and a second layer sub-model, the first layer sub-model represents the M development stages, and the second layer sub-model includes the process quality data under the M development stages; the second acquisition unit 52 obtains the model weight of the first layer sub-model, and obtains the first group of model weights The first and second layer sub-models are weighted, and the model weights of the second layer sub-models are obtained to obtain the second group of model weights. The quality score of the quality measurement model is calculated according to the first and second group of model weights. The verification result of the software to be tested is determined by the quality score, which solves the problems of low detection efficiency and low detection accuracy in software quality detection in related technologies. The quality data of the software to be tested in the development stage is collected, and the quality indicator data is calculated from the quality data. The quality measurement model is constructed using the quality indicator data. When the model weights are obtained, the quality score is calculated using the model weights. The verification result of the software to be tested is determined by the quality score, thereby achieving the effect of improving the efficiency and accuracy of quality detection.
[0073] Optionally, in the software quality verification device provided in the embodiment of the present application, the second acquisition unit 52 includes: a first acquisition module, used to obtain Y questionnaire results within a historical time period, wherein each questionnaire result includes the developer's evaluation data on M development stages, and Y is a positive integer; a first extraction module, used to extract Y groups of evaluation results from the Y questionnaire results, and construct a factor loading matrix based on the Y groups of evaluation results, wherein the matrix elements in the factor loading matrix are used to characterize the data obtained after the conversion of each evaluation result; a first determination module, used to determine the first group of model weights and the second group of model weights based on the factor loading matrix.
[0074] Optionally, in the software quality verification device provided in the embodiment of the present application, the second acquisition unit 52 includes: a second determination module, which is used to determine M matrix elements according to the factor load matrix, normalize each matrix element, obtain M normalized element data, and the M normalized element data constitute a first group of model weights; a second extraction module, which is used to extract the matrix coefficients of the M matrix elements from the factor load matrix to obtain M groups of matrix coefficients; a first calculation module, which is used to perform absolute value calculation on a column in the factor load matrix to obtain a group of absolute value elements, and extract the element with the largest value and the element with the smallest value from the absolute value elements to obtain the first element and the second element; a second calculation module, which is used to calculate the ratio of the first element associated with each column to the second element associated with each column to obtain M first preset parameters, and calculate according to the M first preset parameters to obtain M second preset parameters; a construction module, which is used to construct a judgment matrix using the M second preset parameters, and determine the second group of model weights according to the judgment matrix.
[0075] Optionally, in the software quality verification device provided in the embodiment of the present application, the second acquisition unit 52 includes: a third calculation module, which is used to calculate the ratio of the second element to the first preset parameter associated with the column for a column in the factor load matrix, and obtain the first ratio; a fourth calculation module, which is used to calculate the ratio of the matrix coefficient associated with the column and the first ratio, and obtain the second ratio; and a fifth calculation module, which is used to calculate the sum of the second ratio and the first preset constant, and obtain the second preset parameter associated with the column.
[0076] Optionally, in the software quality verification device provided in the embodiment of the present application, the second acquisition unit 52 includes: a sixth calculation module, used to calculate the product of each row of elements in the judgment matrix to obtain K element products, where K is a positive integer; a second acquisition module, used to obtain the matrix order of the judgment matrix, and perform square root calculation on each element product according to the matrix order to obtain K square root values; a seventh calculation module, used to perform normalization calculation on the K square root values to obtain K normalized square root data, and the K normalized square root data constitute a second set of model weights.
[0077] Optionally, in the software quality verification device provided in the embodiment of the present application, the second acquisition unit 52 includes: a third acquisition module, which is used to acquire the expected value of the quality indicator of each development stage to obtain M groups of expected values of the quality indicator; an eighth calculation module, which is used to perform mean calculation on each quality indicator expected value in each group of expected values of the quality indicator to obtain the expected average values of the M groups of quality indicators; a ninth calculation module, which is used to calculate the difference between the quality indicator data and the expected average value of the quality indicator associated with the quality indicator data for one quality indicator data to obtain a first difference; a tenth calculation module, which is used to calculate the product of the second group of model weights associated with each quality indicator data and the first difference associated with each quality indicator data to obtain K first products, calculate the sum of the K first products to obtain a first result; an eleventh calculation module, which is used to calculate the product of the first result and the first group of model weights to obtain M second products, calculate the sum of the M second products to obtain a second result, and determine the quality score by the second result.
[0078] Optionally, in the software quality verification device provided in the embodiment of the present application, the second acquisition unit 52 includes: a fourth acquisition module, which is used to obtain the expected value of the quality indicator of each development stage to obtain M groups of quality indicator expected values; a third extraction module, which is used to extract the quality indicator data with the smallest value from the M groups of quality indicator data to obtain the first indicator value, and extract the quality indicator expected value with the largest value from the M groups of quality indicator expected values to obtain the second indicator value; a twelfth calculation module, which is used to calculate the difference between the first indicator value and the second indicator value to obtain the second difference; a thirteenth calculation module, which is used to calculate the difference between the quality score and the second difference to obtain the third difference, and calculate the difference between the second preset constant and the second difference to obtain the fourth difference; a fourteenth calculation module, which is used to calculate the ratio of the third difference to the fourth difference to obtain a verification score, and when the verification score is less than the scoring threshold, a verification result of verification failure is generated, and when the verification score is greater than or equal to the scoring threshold, a verification result of verification passing is generated.
[0079] The software quality verification device includes a processor and a memory. The acquisition unit 50, the first acquisition unit 51, the second acquisition unit 52, etc. are all stored in the memory as program units. The processor executes the program units stored in the memory to implement corresponding functions.
[0080] The processor includes a kernel, which retrieves the corresponding program unit from the memory. One or more kernels can be set, and the problems of low detection efficiency and low detection accuracy in software quality detection in related technologies can be solved by adjusting kernel parameters.
[0081] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.
[0082] An embodiment of the present invention provides a computer storage medium, which is used to store a program. When the program is running, a device where the computer storage medium is located is controlled to execute a software quality verification method.
[0083] Figure 6 is a schematic diagram of an electronic device provided according to an embodiment of the present application, such as Figure 6 As shown, an embodiment of the present invention provides an electronic device, the electronic device 60 includes a processor, a memory, and a program stored in the memory and executable on the processor, the processor is used to execute computer-readable instructions, wherein the computer-readable instructions execute a method for verifying software quality when they are executed. The device in this article can be a server, a PC, a PAD, a mobile phone, etc.
[0084] The present application also provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of a software quality verification method in each embodiment of the present application.
[0085] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.
[0086] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0087] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0088] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0089] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0090] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0091] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0092] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0093] The above are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included within the scope of the claims of the present application.
Claims
1. A method for verifying software quality, characterized in that: include: Collect the quality data of the software to be tested in M development stages to obtain M groups of process quality data, where M is a positive integer; Obtain a quality indicator list, calculate each group of process quality data according to the quality indicator list to obtain M groups of quality indicator data, and construct a quality measurement model according to the M groups of quality indicator data, wherein the quality measurement model includes a first layer sub-model and a second layer sub-model, the first layer sub-model represents the M development stages, and the second layer sub-model includes the process quality data under the M development stages; Obtain the model weights of the first layer sub-model to obtain a first group of model weights, and obtain the model weights of the second layer sub-model to obtain a second group of model weights, calculate the quality score of the quality measurement model according to the first group of model weights and the second group of model weights, and determine the verification result of the software to be tested according to the quality score.
2. The method according to claim 1, characterized in that Obtaining the model weights of the first layer sub-model to obtain a first set of model weights, and obtaining the model weights of the second layer sub-model to obtain a second set of model weights includes: Obtain Y questionnaire results within a historical time period, wherein each questionnaire result includes evaluation data of the developer on the M development stages, and Y is a positive integer; Extracting Y groups of evaluation results from the Y questionnaire results, and constructing a factor loading matrix based on the Y groups of evaluation results, wherein the matrix elements in the factor loading matrix are used to represent the data obtained after each evaluation result is converted; The first set of model weights and the second set of model weights are determined based on the factor loading matrix.
3. The method according to claim 2, characterized in that Determining the first set of model weights and the second set of model weights according to the factor loading matrix includes: Determine M matrix elements according to the factor load matrix, perform normalization processing on each matrix element to obtain M normalized element data, and use the M normalized element data to form the first group of model weights; Extracting matrix coefficients of the M matrix elements from the factor loading matrix to obtain M groups of matrix coefficients; For a column in the factor loading matrix, performing absolute value calculation on the column to obtain a set of absolute value elements, and extracting the element with the largest value and the element with the smallest value from the absolute value elements to obtain the first element and the second element; Calculate the ratio of the first element associated with each column to the second element associated with each column to obtain M first preset parameters, and perform calculation based on the M first preset parameters to obtain M second preset parameters; A judgment matrix is constructed using the M second preset parameters, and the second set of model weights is determined according to the judgment matrix.
4. The method according to claim 3, characterized in that The M second preset parameters are obtained by calculating according to the M first preset parameters, including: For a column in the factor loading matrix, calculating a ratio of the second element to a first preset parameter associated with the column to obtain a first ratio; Calculating a ratio of a matrix coefficient of the column association to the first ratio to obtain a second ratio; The sum of the second ratio and a first preset constant is calculated to obtain a second preset parameter associated with the column.
5. The method according to claim 3, characterized in that: Determining the second group of model weights according to the judgment matrix includes: Calculate the product of each row of elements in the judgment matrix to obtain K element products, where K is a positive integer; Obtaining the matrix order of the judgment matrix, and performing square root calculation on the product of each element according to the matrix order to obtain K square root values; The K square root values are normalized to obtain K normalized square root data, and the K normalized square root data constitute the second set of model weights.
6. The method according to claim 1, characterized in that Calculating the quality score of the quality metric model according to the first set of model weights and the second set of model weights includes: Obtain the expected values of quality indicators at each development stage to obtain M groups of expected values of quality indicators; Calculate the mean of each quality indicator expected value in each group of quality indicator expected values to obtain the expected average value of M groups of quality indicators; For a piece of quality indicator data, calculating a difference between the quality indicator data and an expected average value of a quality indicator associated with the quality indicator data to obtain a first difference; Calculate the product of the second group of model weights associated with each quality indicator data and the first difference associated with each quality indicator data to obtain K first products, and calculate the sum of the K first products to obtain a first result; The product of the first result and the first group of model weights is calculated to obtain M second products, the sum of the M second products is calculated to obtain a second result, and the quality score is determined according to the second result.
7. The method according to claim 1, characterized in that Determining the verification result of the software to be tested based on the quality score includes: Obtain the expected values of quality indicators at each development stage to obtain M groups of expected values of quality indicators; Extract the quality indicator data with the smallest value from the M groups of quality indicator data to obtain a first indicator value, and extract the quality indicator expected value with the largest value from the M groups of quality indicator expected values to obtain a second indicator value; Calculate the difference between the first index value and the second index value to obtain a second difference; Calculating a difference between the quality score and the second difference to obtain a third difference, and calculating a difference between a second preset constant and the second difference to obtain a fourth difference; A ratio of the third difference to the fourth difference is calculated to obtain a verification score. When the verification score is less than a score threshold, a verification result indicating that the verification failed is generated. When the verification score is greater than or equal to the score threshold, a verification result indicating that the verification passed is generated.
8. A software quality verification device, characterized in that: include: The collecting unit is used to collect the quality data of the software to be tested in M development stages to obtain M groups of process quality data, where M is a positive integer; A first acquisition unit is used to acquire a quality indicator list, calculate each group of process quality data according to the quality indicator list to obtain M groups of quality indicator data, and construct a quality measurement model according to the M groups of quality indicator data, wherein the quality measurement model includes a first layer sub-model and a second layer sub-model, the first layer sub-model represents the M development stages, and the second layer sub-model includes the process quality data under the M development stages; A second acquisition unit is used to acquire the model weights of the first-layer sub-model to obtain a first group of model weights, and to acquire the model weights of the second-layer sub-model to obtain a second group of model weights, and to calculate a quality score of the quality measurement model based on the first group of model weights and the second group of model weights, and to determine the verification result of the software to be tested based on the quality score.
9. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the software quality verification method described in any one of claims 1 to 7 is implemented.
10. An electronic device, characterized in that: It includes one or more processors and a memory, wherein the memory is used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the software quality verification method described in any one of claims 1 to 7.
Citation Information
Cited By
Software evaluation and migration method, electronic equipment, storage medium and program product
CN120523512A