A software quality evaluation method and system
By establishing a quality evaluation model based on software development process evaluation and test results, and combining multiple evaluation factors to calculate the total software quality score, the problem of software quality evaluation in the existing technology depends on finished product testing, realizing dynamic monitoring of the software development process and The quality measurement of the whole life cycle improves the evaluation efficiency.
Patent Information
- Application Number
- CN202011311518.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-11-20
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2040-11-20
AI Technical Summary
The existing software quality evaluation methods mainly rely on the test results of finished software, and cannot effectively monitor and evaluate the quality factors and mechanisms in the software development process, resulting in large workload and lack of quality measurements throughout the life cycle.
By establishing a quality evaluation model based on software development process evaluation and test results, combining baseline evaluation results, development capability maturity, and the severity of testing problems, the introduction stage and difficulty of discovery, the weight assignment method is used to calculate the total of rapid evaluation of software quality. point.
It realizes rapid evaluation of software quality, incorporates dynamic monitoring of the development process and measurement of the entire life cycle, reduces the evaluation workload, and improves the quality management efficiency of the software development process.
Smart Images

Figure CN112540912B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of software quality assessment, and in particular to a software quality assessment method and system based on process assessment and test results. Background Art
[0002] At present, the quality assessment of software mainly relies on the results of software testing. In the theoretical research of software quality evaluation at home and abroad, there are many models for evaluating software quality based on test results. The ISO 25000 series of standards, GB / T29831 to 29836 series of standards, etc., all adopt the method of providing a software quality measurement indicator system, and then further providing the measurement method and test method of each indicator. According to the requirements of the test method, a large number of targeted software tests are carried out to obtain the test values of each measurement indicator, and then the measurement value of the measurement element is calculated according to the measurement method. Finally, according to the weight of each measurement element, the weighted average is used to obtain the quality measurement value of the corresponding quality sub-characteristic or even the software.
[0003] Existing software quality assessment methods are generally aimed at finished software that has been developed, and require a large amount of comprehensive software testing and complex calculations to obtain the results. The workload of implementing quality assessment is extremely large, and the large amount of original data accumulated during the software development and testing process is not taken into account. There is still a lack of effective research on the factors and mechanisms that affect software quality in the software development process.
[0004] The quality of software is gradually achieved during the software development process. Software quality measurement activities exist throughout the entire software development process and are continuously improved, rather than just a static evaluation after the software development is completed. Therefore, it is an urgent problem to use the monitoring and evaluation of the software development process as part of the software quality evaluation parameters and use the test results of each stage to measure and evaluate the quality of the software throughout its life cycle. Summary of the invention
[0005] The embodiment of the present application provides a software quality evaluation method and system based on process evaluation and test results. The embodiment of the present application establishes a software quality evaluation model based on quality review issues in the software development process and issues in the software testing process to achieve rapid estimation of software quality.
[0006] In a first aspect, an embodiment of the present application provides a software quality evaluation method, comprising:
[0007] Software acquisition step, used to obtain the software to be evaluated;
[0008] The software quality evaluation model establishment step is used to build a software quality evaluation model based on the software development process evaluation and test results;
[0009] The software quality evaluation step is used to quantitatively score the development process evaluation and test results of the software to be evaluated based on the software quality evaluation model, and calculate the total evaluation score of the quality of the software to be identified.
[0010] Through the above steps, the embodiment of the present application combines the software development process evaluation and the test result evaluation to achieve software quality measurement, and the two aspects work together to achieve rapid evaluation of software quality.
[0011] In some embodiments, the software quality evaluation model includes: process evaluation parameters, test result parameters, and weight values corresponding to each parameter in the process evaluation parameters and the test result parameters;
[0012] The process evaluation parameters include at least: the baseline review results of the software project, the maturity of the development capability of the software development unit and the annual review adjustment;
[0013] The test result parameters include at least: the severity level of the software problem, the introduction stage and the difficulty of discovery.
[0014] In some embodiments, the software quality evaluation step further includes:
[0015] The development process evaluation step is used to obtain the baseline review results, development capability maturity and annual review results in the process evaluation parameters, and calculate the baseline review score and maturity score of the software to be evaluated;
[0016] A test result evaluation step, for obtaining weight values corresponding to different severity levels, introduction stages and detection difficulty levels of software problems based on the software quality evaluation model, and calculating the total test result score of the software to be evaluated according to the weight values corresponding to the different severity levels, introduction stages and detection difficulty levels;
[0017] The step of obtaining evaluation results is used to obtain the weight values corresponding to the baseline review score, maturity score and total test result score based on the software quality evaluation model, and calculate the total evaluation score based on the weight values corresponding to the baseline review score, maturity score and total test result score.
[0018] In some embodiments, the development process evaluation step further comprises:
[0019] A baseline review result scoring step is used to calculate the baseline review score based on the baseline review result and taking an average benchmark value of similar software as a reference; the baseline includes at least one of a requirement baseline, a design baseline and a product baseline or any combination thereof;
[0020] The step of scoring the maturity of development capability is used to obtain the weight values corresponding to the different maturity levels according to the software quality evaluation model, and calculate the maturity score according to the weight values corresponding to the maturity levels and the maturity score. Specifically, an evaluation agency obtains a maturity score of the software development capability of the development organization of the software to be evaluated. Optionally, the initial value of the weight can be determined by subjective weighting method and / or objective weighting method. The evaluation agency uses the SCAMPI method (Standard CMMI Appraisal Method for Process Improvement, the full name of which is CMMI standard evaluation method for process improvement, referred to as CMMI evaluation method).
[0021] Considering that in the software development process, the number of opinions and the proportion of changes in the previous quality reviews of the corresponding baseline product are an important reflection of the quality of the software development process. Through the above steps, the embodiment of the present application can effectively review the problems and make modifications based on the review opinions, which is positively helpful in promoting the improvement of software development capabilities.
[0022] In some embodiments, the development process evaluation step further comprises:
[0023] The maturity score adjustment step is used to obtain the weight values corresponding to the different annual review results according to the software quality evaluation model, and calculate the updated maturity score according to the weight values corresponding to the different annual review results.
[0024] In some embodiments, the evaluation result obtaining step uses the following expression to obtain the total evaluation score Q1:
[0025] ,
[0026] in, are used to refer to the baseline review score P JX , maturity score P SCM_1 And the total score of the test results P JF , are the weight values corresponding to the baseline review score, maturity score and total test result score, and meet the requirements .
[0027] In some embodiments, the baseline review result scoring step uses the following expression to obtain the baseline review score:
[0028]
[0029]
[0030] Where n is the review stage in the baseline review results, m i is the number of review opinions in the i-th phase of the baseline review opinions of the software to be evaluated, m i0 is the average benchmark value of the same type of software in the i-th stage.
[0031] In some embodiments, the development capability maturity scoring step uses the following expression to obtain the maturity score P: SCM_1 :
[0032]
[0033] Wherein, A is the maturity score of the development capability of the software development unit to be evaluated, the value range of A is between (6, 8), N0 is the maturity level of the development capability of the software development unit to be evaluated, p0 is the weight coefficient, and the initial value of p0 is determined by subjective weighting method and / or objective weighting method.
[0034] In some embodiments, the maturity score adjustment step uses the total score of the test result obtained by the following expression:
[0035] ,
[0036] In which, suppose that a total of k problems are found in the software to be evaluated during the testing process, P dj_k , P jd_k , P nd_k They are the severity level, introduction stage and reference values of discovery difficulty corresponding to the kth problem respectively.
[0037] In a second aspect, an embodiment of the present application provides a software quality evaluation system, which is used to execute the software quality evaluation method as described in the first aspect above, including:
[0038] A software acquisition module is used to acquire the software to be evaluated;
[0039] Software quality evaluation model building module, used to build a software quality evaluation model based on software development process evaluation and test results;
[0040] The software quality evaluation module is used to quantitatively score the development process evaluation and test results of the software to be evaluated based on the software quality evaluation model, and calculate the total evaluation score of the quality of the software to be identified.
[0041] In some embodiments, the software quality evaluation model includes: process evaluation parameters, test result parameters, and weight values corresponding to each parameter in the process evaluation parameters and the test result parameters;
[0042] The process evaluation parameters include at least: the baseline review results of the software project, the maturity of the development capability of the software development unit and the annual review adjustment;
[0043] The test result parameters include at least: the severity level of the software problem, the introduction stage and the difficulty of discovery.
[0044] In some embodiments, the software quality evaluation module further includes:
[0045] The development process evaluation module is used to obtain the baseline review results, development capability maturity and annual review results in the process evaluation parameters, and calculate the baseline review score and maturity score of the software to be evaluated;
[0046] A test result evaluation module is used to obtain weight values corresponding to different severity levels, introduction stages and detection difficulty levels of software problems based on the software quality evaluation model, and calculate the total test result score of the software to be evaluated according to the weight values corresponding to the different severity levels, introduction stages and detection difficulty levels;
[0047] The evaluation result acquisition module is used to obtain the weight values corresponding to the baseline review score, maturity score and total test result score based on the software quality evaluation model, and calculate the total evaluation score based on the weight values corresponding to the baseline review score, maturity score and total test result score.
[0048] In some embodiments, the development process assessment module further comprises:
[0049] A baseline review result scoring module is used to calculate the baseline review score based on the baseline review result and taking an average benchmark value of similar software as a reference; the baseline includes at least one of a requirement baseline, a design baseline and a product baseline or any combination thereof;
[0050] The development capability maturity scoring module is used to obtain the weight values corresponding to the different maturity levels according to the software quality evaluation model, and calculate the maturity score according to the weight values corresponding to the maturity levels and the maturity score. Specifically, an evaluation agency obtains the software development capability maturity score of the development organization of the software to be evaluated. Optionally, the initial value of the weight can be determined by a subjective weighting method and / or an objective weighting method, and the evaluation agency uses the SCAMPI method for scoring.
[0051] In some embodiments, the development process assessment module further includes:
[0052] The maturity score adjustment module is used to obtain the weight values corresponding to the different annual review results according to the software quality evaluation model, and calculate the updated maturity score according to the weight values corresponding to the different annual review results.
[0053] Through the above modules, the embodiment of the present application combines the software development process evaluation and the test result evaluation to achieve software quality measurement. The two aspects work together to achieve rapid evaluation of software quality.
[0054] Compared with the related art, the software quality evaluation method and system based on process evaluation and test results provided by the embodiment of the present application incorporate the software development process evaluation into the software quality measurement, so that the software quality evaluation includes a comprehensive measurement of both process evaluation and test results. The process evaluation takes into account the results of each review of the software project baseline and the maturity of the development capability of the software development organization and the adjustment of the annual review results. The test results comprehensively measure the severity level, introduction stage and difficulty of discovery of all problems in the development process. The two aspects work together to achieve rapid evaluation of software quality.
[0055] Details of one or more embodiments of the present application are set forth in the following drawings and description to make other features, objects, and advantages of the present application more readily apparent. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0057] Figure 1 is a flowchart of a software quality evaluation method according to an embodiment of the present application;
[0058] Figure 2 It is a schematic diagram of a step-by-step flow chart of a software quality evaluation method according to an embodiment of the present application;
[0059] Figure 3 It is a structural frame of the software quality evaluation system according to an embodiment of the present application;
[0060] Figure 4 It is a schematic diagram of the structure of a software quality evaluation model according to an embodiment of the present application.
[0061] In the figure:
[0062] 1. Software acquisition module; 2. Software quality evaluation model establishment module; 3. Software quality evaluation module;
[0063] 31. Development process evaluation module; 32. Test result evaluation module; 33. Evaluation result acquisition module;
[0064] 311. Baseline review result scoring module; 312. Development capability maturity scoring module;
[0065] 313. Maturity score adjustment module. DETAILED DESCRIPTION
[0066] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application is described and illustrated 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 intended to limit the present application. Based on the embodiments provided in the present application, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application.
[0067] Obviously, the drawings described below are only some examples or embodiments of the present application. For ordinary technicians in this field, the present application can also be applied to other similar scenarios based on these drawings without creative work. In addition, it can also be understood that although the efforts made in this development process may be complicated and lengthy, for ordinary technicians in this field related to the content disclosed in this application, some changes in design, manufacturing or production based on the technical content disclosed in this application are just conventional technical means, and should not be understood as insufficient content disclosed in this application.
[0068] Reference to "embodiments" in this application means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those of ordinary skill in the art that the embodiments described in this application may be combined with other embodiments without conflict.
[0069] Unless otherwise defined, the technical terms or scientific terms involved in this application should be understood by people with ordinary skills in the technical field to which this application belongs. The words "one", "a", "a", "the" and the like involved in this application do not indicate a quantity limitation, and may indicate the singular or plural. The terms "include", "comprise", "have" and any of their variations involved in this application are intended to cover non-exclusive inclusions; for example, a process, method, system, product or device that includes a series of steps or modules (units) is not limited to the listed steps or units, but may also include steps or units that are not listed, or may also include other steps or units inherent to these processes, methods, products or devices. The words "connect", "connected", "coupled" and the like involved in this application are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. The "multiple" involved in this application refers to two or more. "And / or" describes the association relationship of associated objects, indicating that there may be three relationships, for example, "A and / or B" can mean: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the objects before and after are in an "or" relationship. The terms "first", "second", "third", etc. involved in this application are only used to distinguish similar objects and do not represent a specific ordering of the objects.
[0070] This embodiment provides a software quality evaluation method. Figure 1-2 is a flowchart of a software quality evaluation method according to an embodiment of the present application, such as Figure 1-2 As shown, the process includes the following steps:
[0071] Software acquisition step S1, used to acquire the software to be evaluated;
[0072] Software quality evaluation model establishment step S2, for building a software quality evaluation model based on the software development process evaluation and test results; Figure 4 is a schematic diagram of the software quality evaluation model structure according to an embodiment of the present application, referring to Figure 4 As shown, the software quality evaluation model includes: process evaluation parameters, test result parameters and the weight values corresponding to each parameter in the process evaluation parameters and the test result parameters; the process evaluation parameters at least include: the baseline review results of the software project, the development capability maturity of the software development unit and the annual review adjustment; the test result parameters at least include: the severity level of the software problem, the introduction stage and the difficulty of discovery.
[0073] The software quality evaluation step S3 is used to quantitatively score the development process evaluation and test results of the software to be evaluated based on the software quality evaluation model, and calculate the total evaluation score of the software quality to be identified. The expression of the total evaluation score Q1 is as follows:
[0074] , (1)
[0075] in, Used to refer to the baseline review score P JX , maturity score P SCM_1 And the total score of the test results P JF , They are the weights corresponding to the baseline review score, maturity score and total test result score, and meet the .
[0076] Wherein, the software quality evaluation step S3 further includes:
[0077] The development process evaluation step S31 is used to obtain the baseline review results, development capability maturity and annual review results in the process evaluation parameters, and calculate the baseline review score and maturity score of the software to be evaluated. The baseline review score expression is as follows:
[0078]
[0079] (2)
[0080] Where n is the review stage in the baseline review results, m i is the number of review opinions in the i-th phase of the baseline review opinions of the software to be evaluated, m i0 It is the average benchmark value of similar software in the i-th stage.
[0081] The maturity score expression is as follows:
[0082] (3)
[0083] Wherein, A is the maturity score of the development capability of the software development unit to be evaluated, the value range of A is between (6, 8), N0 is the maturity level of the development capability of the software development unit to be evaluated, p0 is the weight coefficient, and the initial value of p0 is determined by subjective weighting method and / or objective weighting method.
[0084] The test result evaluation step S32 is used to obtain the weight values corresponding to the different severity levels, introduction stages and discovery difficulties of the software problems based on the software quality evaluation model, and calculate the total score of the test results of the software to be evaluated according to the weight values corresponding to the different severity levels, introduction stages and discovery difficulties. The expression of the total score of the test results is as follows:
[0085] , (4)
[0086] Among them, suppose that a total of k problems are found in the software to be evaluated during the testing process, P dj_k , Pjd_k , P nd_k They are the severity level, introduction stage and reference values of discovery difficulty corresponding to the kth problem respectively.
[0087] The evaluation result acquisition step S33 is used to obtain the weight values corresponding to the baseline review score, maturity score and total test result score based on the software quality evaluation model, and calculate the total evaluation score based on the weight values corresponding to the baseline review score, maturity score and total test result score.
[0088] Through the above steps, the embodiment of the present application combines the software development process evaluation and the test result evaluation to achieve software quality measurement, and the two aspects work together to achieve rapid evaluation of software quality.
[0089] In some embodiments, the development process evaluation step S31 further includes:
[0090] The baseline review result scoring step S311 is used to calculate the baseline review score based on the baseline review result and take the average baseline value of the same type of software as a reference; the baseline includes at least one of the requirement baseline, design baseline and product baseline or any combination thereof;
[0091] The step S312 of developing capability maturity scoring is used to obtain weight values corresponding to different maturity levels according to the software quality evaluation model, and calculate the maturity score according to the weight values corresponding to the maturity levels and the maturity score. Specifically, the software developing capability maturity score of the developing organization of the software to be evaluated is obtained by an evaluation agency. Optionally, the initial value of the weight can be determined by a subjective weighting method and / or an objective weighting method, and the scoring method of the evaluation agency uses the SCAMPI method.
[0092] The maturity score adjustment step S313 is used to obtain weight values corresponding to different annual review results according to the software quality evaluation model, and calculate the updated maturity score according to the weight values corresponding to the different annual review results.
[0093] The embodiments of the present application are described and illustrated below through preferred embodiments.
[0094] First, the software to be evaluated is obtained in the software obtaining step S1.
[0095] Then, the software quality evaluation model is established in step S2 to build a software quality evaluation model based on process evaluation and test results, such as Figure 4 shown.
[0096] Then, the evaluation result is obtained according to the software quality evaluation step S3. The details are as follows:
[0097] The baseline review score of the software project is obtained through the baseline review result scoring step S311. Specifically, the average baseline value of similar software is used as a reference, and the m software projects proposed in the baseline review of the nth stage are recorded. 10 、m 20 、m 30 …m n0 The actual measured values of the current project are a1, a2, a3… opinions. As shown in the following table:
[0098]
[0099] Substituting the above parameters into formula (2) can calculate the baseline review score , The range is between (0,1). The above formula (2) can be further refined. Taking into account the severity of the opinions raised in the quality review and the relationship between them and the corresponding stages, different weights can be calculated. For example, if a problem in the requirements is found during the design review stage (which should have been raised and modified in the requirements review), its severity should be greater than similar problems found in the requirements review, and its converted deduction weight should also be higher. Based on this, the deformation of the above formula (2) made according to the present application is also within the protection scope of the embodiments of the present application.
[0100] Then, in the development capability maturity scoring step S312, weight values corresponding to different maturity levels are obtained according to the software quality evaluation model, and the maturity score is calculated according to the weight value corresponding to the maturity level and the maturity score.
[0101] Generally, a unit organization with a higher level of software development capability maturity evaluation can develop higher quality software. Therefore, we can obtain the evaluation agency's score of the software development capability maturity of the software development unit to be evaluated, and adjust the score according to its maturity level by setting its weight value. For example, but not limitation, when the scores read in are the same, the score of the unit with maturity level 3 is higher than that of maturity level 2. Optionally, the evaluation agency uses the SCAMPI method to score the software development capability maturity. The evaluated unit provides its own four projects for measurement. According to the relevant quality data of these projects, each practice domain is evaluated and each practice is given a score of S / L / P / NY. The final statistical score adopts the barrel principle, with the short board as the recording point of the capability. If one goal is not achieved, the overall process domain is evaluated as failed; if one process domain is not passed, the evaluation of this level is not passed. Then, through the units of the corresponding level of software development capability maturity, all its practices are counted, and the final score is recorded as A. A is greater than 6 points, and the maximum score can be 8 points. Assume that the software development capability maturity score of a certain unit is A, and the maturity level of the unit is N0.
[0102] Considering that the maturity of software development capability is divided into 5 levels, we set the weight of maturity level 5 to 1.0, and the maturity score remains the original value read in. When the maturity level decreases, the weight also decreases. The weight reduced for each level decrease is recorded as p0. Optionally, the initial value of p0 can be determined by expert scoring method. Expert scoring method is a subjective weighting method. After accumulating a large amount of historical data in the later stage, objective weighting method can also be used to determine its weight value. The initial calculation formula for measuring the impact of the software development capability maturity score of the development unit on software quality is obtained, which is:
[0103]
[0104] , where the value range of A is between (6,8), then The value range of is also between (6,8). After normalization, the above maturity score expression (3) is obtained.
[0105] Maturity score adjustment step S313, considering that after the evaluation agency has reviewed and scored the maturity of the software development capability of the development unit, it will also organize annual supervision of the software development unit every year. The embodiment of the present application adjusts the above formula (3) based on the annual results. In general annual supervision, the evaluation agency will make several annual inspection opinions to the software development unit. The severity level of the annual inspection problem is a very important parameter for evaluating the quality of the development process of the software development unit, which can directly reflect the current (rather than past) software development project process management level of the development unit. Based on this, the specific adjustment mechanism is as follows:
[0106] When there are serious non-conformities in the annual inspection results, it is considered that the unit's software development capabilities are extremely disproportionate to its initial maturity score, and the maturity score is considered to be cleared to zero, that is: .
[0107] If there are no serious non-conformities in the annual inspection results, but there are general non-conformities, it is considered that the unit's software development capabilities are significantly different from its initial maturity score, and the initial maturity score is considered to be halved, that is: .
[0108] If all the items in the annual inspection results are improvement items, it is believed that the unit's software development capabilities are basically consistent with the initial maturity score, but there is still room for improvement. The initial maturity score needs to be deducted to a certain extent, but the final score must be higher than the score for general non-compliance with the annual inspection issues. Specifically, it is necessary to refer to the number of annual review improvement items of the current software development unit and whether there are repetitive problems to make adjustments. The more improvement suggestions are put forward, the lower the score, and the more repetitive problems there are in the improvement suggestions, the lower the score. Let the number of improvement items in the most recent annual review of the software development unit be m, and the average number of annual review improvement items of each software development unit within a year be n. For every improvement item that is more than the average, the weight is reduced by a proportion of p1; among these m improvement items, there are l The improvement items have appeared in the previous annual review of this unit. The deduction weight ratio for each additional repeated issue is p2, and the adjustment of the initial maturity score is:
[0109]
[0110] Among them, the initial values of p1 and p2 can be determined based on expert experience, and can be adjusted based on actual data and evaluation results when historical data is available.
[0111] If there are no improvement suggestions in the annual inspection results, the score will remain .
[0112] The maturity score after the above adjustment is used as the updated maturity score to calculate the total evaluation score.
[0113] Then, in the test result evaluation step S32, the total score of the test result of the software to be evaluated is calculated according to the weight values corresponding to different severity levels, introduction stages and discovery difficulty levels. Specifically, the severity level of software problems is divided into five levels, namely:
[0114] 1) Fatal problems, resulting in complete failure of system / equipment mission, loss of system / equipment safety and security confidentiality, and even endangerment of personal safety;
[0115] 2) Serious problems that may affect / potentially affect the completion of the main functions specified in the design / requirements documents or fail to achieve the functions specified in the design / requirements documents;
[0116] 3) General issues that may adversely / potentially adversely affect the completion of the main functions specified in the design documents, thus leading to functional code problems;
[0117] 4) Minor issues that will not affect the completion of the main functions specified in the design / requirements documents, but will have a minor impact / potential impact on the operation or operation.
[0118] 5) Suggestions for improvement: They have no impact on the completion of the main functions, operation or operation, but can be further improved and optimized in terms of code readability and structure.
[0119] The severity level of the problem found is . When the severity of the problem found decreases by one level (the corresponding value increases), the weight increases by p3.
[0120] The severity level of the software problem is as follows:
[0121]
[0122] In addition, when a software problem is discovered, it is also possible to locate the stage of the life cycle from which the problem was introduced. If the software development process is controlled, only problems introduced in the coding stage should be discovered during software testing and delivery. If problems in the design stage are discovered during testing, such as missing items in the design and not covering requirements, the weight of such problems needs to be increased.
[0123] Assume that the problem discovery stage includes S stages, including solution, requirement, design, coding, and use. The corresponding annotation values in the order of the stages are 1, 2, 3, ..., N. S , the earlier the software problem is introduced (and has not been discovered), the higher the weight of the problem. The weight of the problem introduced in the software coding stage is 1.0, and the corresponding weight increases by p4 for each stage forward in the problem introduction stage. The reference value of the current problem in the software problem introduction stage is:
[0124]
[0125] In addition, discovering software problems requires certain technical means. Assume that the difficulty of discovering problems includes five levels: 1, 2, 3, 4, and 5, indicating that the difficulty of discovering problems gradually increases. If the difficulty of discovering problems increases by one level, the weight increases by p5, and the difficulty level of the discovered problems is , then the reference value of the problem difficulty for the current problem is found to be:
[0126]
[0127] Assume that the software finds k problems in total during the test. The three direction reference values corresponding to the kth problem are , then the total score expression (1) of the current software test result is:
[0128]
[0129]
[0130] in, The initial value can be determined based on expert experience, and can be adjusted later based on actual data and evaluation results when historical data is available. Thus, the specific expression of the total score expression (4) of the above test results is obtained.
[0131] Finally, in the evaluation result acquisition step S33, the above-mentioned project baseline review results, maturity scores and software test results are substituted into formula (1) for weighted average to obtain the final quality evaluation score result.
[0132] It should be noted that the steps shown in the above process or the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here, by way of example and not limitation. Figure 2 The baseline review result scoring step S311 may also be performed after the maturity scoring step S313 is completed, and the order of the various working steps in the embodiment of the present application is also possible and conceivable.
[0133] This embodiment also provides a software quality evaluation system, which is used to implement the above-mentioned embodiments and preferred implementation modes, and will not be repeated hereafter. As used below, the terms "module", "unit", "subunit", etc. can be a combination of software and / or hardware that implements a predetermined function. Although the system described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0134] Figure 3 is a structural block diagram of a software quality evaluation system according to an embodiment of the present application, such as Figure 3 As shown, the system includes:
[0135] Software acquisition module 1, used to acquire the software to be evaluated;
[0136] The software quality evaluation model establishment module 2 is used to construct a software quality evaluation model based on the software development process evaluation and test results, wherein the software quality evaluation model includes: process evaluation parameters, test result parameters and weight values corresponding to each parameter in the process evaluation parameters and the test result parameters; the process evaluation parameters at least include: the baseline review results of the software project, the development capability maturity of the software development unit and the annual review adjustment; the test result parameters at least include: the severity level of the software problem, the introduction stage and the difficulty of discovery;
[0137] The software quality evaluation module 3 is used to quantitatively score the development process evaluation and test results of the software to be evaluated based on the software quality evaluation model, and calculate the total evaluation score of the software quality to be identified. The software quality evaluation module 3 further includes:
[0138] The development process evaluation module 31 is used to obtain the baseline review results, development capability maturity and annual review results in the process evaluation parameters, and calculate the baseline review score and maturity score of the software to be evaluated; the test result evaluation module 32 is used to obtain the weight values corresponding to the different severity levels, introduction stages and detection difficulties of software problems based on the software quality evaluation model, and calculate the total test result score of the software to be evaluated according to the weight values corresponding to the different severity levels, introduction stages and detection difficulties; the evaluation result acquisition module 33 is used to obtain the weight values corresponding to the baseline review score, maturity score and the total test result score based on the software quality evaluation model, and calculate the total evaluation score according to the weight values corresponding to the baseline review score, maturity score and the total test result score.
[0139] Among them, the development process evaluation module 31 further includes:
[0140] The baseline review result scoring module 311 is used to calculate the baseline review score according to the baseline review result and take the average benchmark value of the same type of software as a reference; the baseline includes at least one of the requirement baseline, design baseline and product baseline or any combination thereof;
[0141] The development capability maturity scoring module 312 is used to obtain weight values corresponding to different maturity levels according to the software quality evaluation model, and calculate the maturity score according to the weight values corresponding to the maturity levels and the maturity score. Specifically, the software development capability maturity score of the development organization of the software to be evaluated is obtained by an evaluation agency. Optionally, the initial value of the weight can be determined by a subjective weighting method and / or an objective weighting method, and the evaluation agency uses the SCAMPI method for scoring.
[0142] The maturity score adjustment module 313 is used to obtain weight values corresponding to different annual review results according to the software quality evaluation model, and calculate the updated maturity score according to the weight values corresponding to the different annual review results.
[0143] Through the above modules, the embodiment of the present application combines the software development process evaluation and the test result evaluation to achieve software quality measurement. The two aspects work together to achieve rapid evaluation of software quality.
[0144] It should be noted that the above modules can be functional modules or program modules, and can be implemented by software or hardware. For modules implemented by hardware, the above modules can be located in the same processor; or the above modules can be located in different processors in any combination.
[0145] The technical features of the above-described embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of the technical features in the above-described 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.
[0146] The above-mentioned 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 invention patent. 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 patent of the present application shall be subject to the attached claims.
Claims
1. A software quality evaluation method, It is characterized in that include: Software acquisition step, used to obtain the software to be evaluated; The software quality evaluation model establishment step is used to construct a software quality evaluation model based on the software development process evaluation and test results, and the software quality evaluation model includes: process evaluation parameters, test result parameters and weight values corresponding to each parameter in the process evaluation parameters and test result parameters; The process evaluation parameters include: baseline review results of software projects, maturity of software development capabilities and annual review adjustments of software development units; The test result parameters include: severity level of the software problem, introduction stage and difficulty of discovery; The software quality evaluation step is used to quantitatively score the development process evaluation and test results of the software to be evaluated based on the software quality evaluation model, and calculate the total evaluation score of the quality of the software to be evaluated. The software quality evaluation step further includes: The development process evaluation step is used to obtain the baseline review results, development capability maturity and annual review results in the process evaluation parameters, and calculate the baseline review score and maturity score of the software to be evaluated; The test result evaluation step is used to obtain the weight values corresponding to the different severity levels, introduction stages and discovery difficulties of the software problems based on the software quality evaluation model, and calculate the total score of the test results of the software to be evaluated according to the weight values corresponding to the different severity levels, introduction stages and discovery difficulties. The total score of the test results obtained in the test result evaluation step is obtained by the following expression: , In which, suppose that a total of k problems are found in the software to be evaluated during the testing process, P dj_k , P jd_k , P nd_k are the severity level, introduction stage and reference value of the difficulty of discovery corresponding to the kth problem; The evaluation result acquisition step is used to obtain the weight values corresponding to the baseline review score, maturity score and total test result score based on the software quality evaluation model, and calculate the total evaluation score according to the weight values corresponding to the baseline review score, maturity score and total test result score. The evaluation result acquisition step uses the following expression to obtain the total evaluation score Q 1 : , in, are used to refer to the baseline review score P JX , maturity score P SCM_1 And the total score of the test results P JF , are the weight values corresponding to the baseline review score, maturity score and total test result score, and meet the requirements ; Wherein, the development process evaluation step further includes: The baseline review result scoring step is used to calculate the baseline review score based on the baseline review result and take the average benchmark value of the same type of software as a reference. The baseline review result scoring step uses the following expression to obtain the baseline review score: Where n is the review stage in the baseline review results, m i is the number of review opinions in the i-th phase of the baseline review opinions of the software to be evaluated, m i0 is the average benchmark value of the same type of software in the i-th stage; The development capability maturity scoring step is used to obtain the weight values corresponding to different maturity levels according to the software quality evaluation model, and calculate the maturity score according to the weight values corresponding to the maturity levels and the development capability maturity score of the software development unit to be evaluated. The development capability maturity scoring step uses the following expression to obtain the maturity score P SCM_1 : Where A is the maturity score of the software development unit to be evaluated, and the value range of A is between (6, 8). 0 is the maturity level of the software development unit to be evaluated, p 0 is the weight coefficient, p 0 The initial value of is determined by subjective weighting method and / or objective weighting method; The maturity score adjustment step is used to obtain the weight values corresponding to the different annual review results according to the software quality evaluation model, and calculate the updated maturity score according to the weight values corresponding to the different annual review results.
2. A software quality evaluation system for executing the software quality evaluation method according to claim 1, It is characterized in that include: A software acquisition module is used to acquire the software to be evaluated; Software quality evaluation model building module, used to build a software quality evaluation model based on software development process evaluation and test results; The software quality evaluation module is used to quantitatively score the development process evaluation and test results of the software to be evaluated based on the software quality evaluation model, and calculate the total evaluation score of the quality of the software to be evaluated.
Citation Information
Patent Citations
Software testing quality evaluation method
CN105868888A
Airborne software test quality evaluation method
CN108563563A
A method for evaluating the quality of software development vendor delivery
CN109146402A
Cost-based test quality evaluation method and system
CN109582557A
Software research and development process improvement system and method based on CMMI model
CN110910044A
