A method, apparatus, device, and readable storage medium for evaluating the quality of software.
By employing the analytic hierarchy process (AHP) and a multi-factor fusion-based quality assessment method, and combining quantitative and qualitative data, weights are calculated for the tested system. This solves the problem of the inability to comprehensively evaluate system quality in existing technologies, and achieves a more scientific and objective quality assessment.
Patent Information
- Application Number
- CN202111483080.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-07
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2041-12-07
AI Technical Summary
Existing quality access control systems fail to comprehensively consider the real-time business status of the modules under test, and the selection of test sets is influenced by subjective factors, making it impossible to objectively assess the overall quality of the system under test.
The Analytic Hierarchy Process (AHP) is used to integrate multiple factors, combining quantitative results, subjective judgments, and objective data of the tested system to calculate the weights of functional modules. The modules are scored by test pass rate and code coverage, and expert importance comparison is used to score them. The quality score is calculated by weighted summation of module access volume and transaction volume.
It enables scientific and comprehensive quality assessment of the tested system, and can adjust the analysis weights in real time to take into account the importance of business operations, thereby improving the objectivity and scientific nature of the assessment.
Smart Images

Figure CN114218077B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of information technology software testing technology, and more specifically, to software quality evaluation methods, apparatus, equipment, and readable storage media. Background Technology
[0002] Quality access control systems are typically used in conjunction with R&D pipelines. Existing technologies use metrics such as test pass rate and code coverage to determine whether to proceed to the next stage of R&D. However, current quality access control systems often use metrics that are simply combinations of scattered quantitative or qualitative data, requiring the tested system to meet all conditions to pass. These systems fail to consider the real-time business status of the module under test; the selection of test sets is influenced by subjective factors; and the current system lacks the ability to comprehensively consider these scattered and independent metrics to objectively evaluate the overall quality of the tested system. These are all problems that current systems have not solved. Summary of the Invention
[0003] The purpose of this invention is to provide a method, apparatus, device, and readable storage medium for evaluating software quality, thereby improving the aforementioned problems. To achieve the above objective, the technical solution adopted by this invention is as follows:
[0004] Existing technologies do not consider the real-time business status of the module under test, and the selection of test sets is affected by subjective factors. Furthermore, the scattered and independent indicators cannot be comprehensively considered and objectively evaluated to assess the overall quality of the system under test.
[0005] This invention integrates multiple factors to establish a scientific quality analysis method and system for the tested system. The system comprehensively considers quantitative results, subjective judgments, and objective data from all testing methods to calculate weights for functional modules. Finally, a quality score is calculated to control the R&D process. The method uses the analytic hierarchy process (AHP) because it is a multi-criteria decision-making method for quantitative analysis of qualitative problems, which aligns with the decision-making characteristics of quality gate control. The quality score calculated by this invention considers more factors and has a more scientific calculation process than traditional methods.
[0006] Firstly, this application provides a method for evaluating the quality of software, including:
[0007] Obtain scenario information for the software to be evaluated, including end-to-end test scenarios, interface test scenarios, and performance test scenarios;
[0008] Based on the scenario information, the software to be evaluated is divided into at least one primary module, and each primary module includes at least one secondary module; the secondary modules can be further decomposed into sub-modules. The module division method is based on business and testing scenarios. The primary modules include business modules, code modules, and performance modules, and the secondary modules include retail business modules, wealth management business modules, overseas financial modules, loan modules, and city service modules, etc.
[0009] Each of the secondary modules is scored based on its pass rate and code coverage, and the score information for each secondary module is obtained respectively.
[0010] Based on the score information of each of the secondary modules, the score information of each of the primary modules is calculated, and the score information of the software to be evaluated is calculated based on the score information of each of the primary modules.
[0011] Optionally, each of the first-level modules includes at least one second-level module, and each second-level module includes at least one sub-module, including:
[0012] Obtain the test set corresponding to each submodule, the test set including unit test code, manual test cases, interface automation scripts and UI automation test scripts;
[0013] Based on the test set corresponding to each leaf module, and each test set corresponding to one leaf module, the test score of the test set is calculated through data analysis.
[0014] Optionally, the step of scoring each leaf module using quality index data to obtain score information for each leaf module includes:
[0015] Send a first command, which is to send the test results of the leaf module to experts for importance comparison and scoring; obtain all the importance comparison and scoring results;
[0016] The importance comparison score is multiplied by the preset weight corresponding to each expert to obtain the final evaluation result of each expert; the final evaluation result of each expert is multiplied by the test score of the test set to obtain the score information of each leaf module.
[0017] Optionally, calculating the score information of each parent module based on the score information of each sub-module includes:
[0018] Obtain the business data of the sub-modules, including module access volume and module transaction volume; calculate the score information of each sub-module by weighted summation based on the business data of the sub-modules; calculate the score information of each parent module by weighted summation based on the score information of each sub-module.
[0019] Secondly, this application also provides a software quality evaluation device, including: an acquisition module, a division module, a scoring module, and a calculation module;
[0020] Acquisition module: used to acquire scenario information of the software to be evaluated, including end-to-end test scenarios, interface test scenarios, and performance test scenarios;
[0021] Module segmentation: This is used to divide the software to be evaluated into at least one primary module based on the scenario information. Each primary module includes at least one secondary module; secondary modules can be further decomposed into sub-modules. The module segmentation method is based on business requirements and test scenarios.
[0022] Scoring module: Used to score each of the secondary modules based on test pass rate and code coverage, and obtain the score information for each secondary module respectively;
[0023] Calculation module: used to calculate the score information of each primary module based on the score information of each secondary module, and to calculate the score information of the software to be evaluated based on the score information of each primary module.
[0024] Optionally, the module division also includes:
[0025] First acquisition unit: used to acquire the test set corresponding to each leaf module, the test set including unit test code, manual test cases, interface automation scripts and UI automation test scripts;
[0026] First calculation unit: used to calculate the test score of the test set based on the test set corresponding to each leaf module through data analysis.
[0027] Optionally, the scoring module also includes:
[0028] First sending unit: used to send a first command, the first command being to send the test results of the secondary module to experts for importance comparison and scoring;
[0029] The second acquisition unit is used to acquire all the importance comparison scoring results;
[0030] The second calculation unit is used to multiply the importance comparison score by the preset weight corresponding to each expert to obtain the final evaluation result of each expert.
[0031] The third calculation unit is used to multiply the final evaluation result of each expert with the test score of the test set to obtain the score information of each secondary module.
[0032] Optionally, the computing module also includes:
[0033] The third acquisition unit is used to acquire the business data of the secondary module, including module access volume and module transaction volume.
[0034] The fourth calculation unit is used to calculate the score information of each of the secondary modules by weighted summation based on the business data of the secondary modules.
[0035] The fifth calculation unit is used to calculate the score information of each primary module by weighted summation based on the score information of each secondary module.
[0036] Thirdly, this application also provides a software quality evaluation device, comprising:
[0037] Memory, used to store computer programs;
[0038] A processor, used to implement the software quality evaluation method when executing the computer program.
[0039] Fourthly, this application also provides a readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the above-described software-based quality evaluation method.
[0040] The beneficial effects of this invention are as follows:
[0041] This invention assigns weights to each module based on expert judgment, and combines operational data and full test set pass rate data to establish a scientific analysis system for quality access control. Furthermore, the system considers the importance of business operations and adjusts the analysis weights using operational data, achieving real-time adjustment of test quality access control values based on business needs. The Analytic Hierarchy Process (AHP) is used because it is a multi-criteria decision-making method for quantitative analysis of qualitative problems, which aligns with the decision-making characteristics of quality access control. The quality score calculated by this invention considers more comprehensive factors and has a more scientific calculation process than traditional methods.
[0042] Other features and advantages of the invention will be set forth in the following description, and will be apparent in part from the description, or may be learned by practicing embodiments of the invention. The objects and other advantages of the invention may be realized and obtained by means of the structures particularly pointed out in the written description, claims, and drawings. Attached Figure Description
[0043] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of the present invention and should not be regarded as a limitation on the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0044] Figure 1 This is a schematic diagram of the software quality evaluation method described in this embodiment of the invention;
[0045] Figure 2 This is a schematic diagram of the software quality evaluation device described in an embodiment of the present invention;
[0046] Figure 3 This is a schematic diagram of the software quality evaluation device described in an embodiment of the present invention.
[0047] Figure 4 This is a schematic diagram illustrating the process of calculating the quality score of the tested system for software quality evaluation in an embodiment of the present invention.
[0048] 1. Acquisition Module; 2. Division Module; 21. First Calculation Unit; 211. First Sending Subunit; 212. Second Acquisition Subunit; 213. Second Calculation Subunit; 214. Third Calculation Subunit; 22. First Acquisition Unit; 3. Scoring Module; 31. First Sending Unit; 32. Second Acquisition Unit; 33. Second Calculation Unit; 34. Third Calculation Unit; 35. Fourth Acquisition Unit; 36. Sixth Calculation Unit; 37. Seventh Calculation Unit; 4. Calculation Module; 41. Third Acquisition Unit; 42. Fourth Calculation Unit; 43. Fifth Calculation Unit; 44. First Update Unit; 45. Eighth Calculation Unit; 801. Processor; 802. Memory; 803. Multimedia Component; 804. Input / Output (I / O) Interface; 805. Communication Component. Detailed Implementation
[0049] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. The components of the embodiments of the present invention described and shown in the accompanying drawings can generally be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present invention provided in the accompanying drawings is not intended to limit the scope of the claimed invention, but merely to illustrate selected embodiments of the invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without inventive effort are within the scope of protection of the present invention.
[0050] It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. Furthermore, in the description of this invention, terms such as "first," "second," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0051] Example 1:
[0052] This embodiment provides a method for evaluating the quality of software.
[0053] See Figure 1 The figure shows that the method includes steps S100, S200, S300 and S400.
[0054] S100. Obtain scenario information for the software to be evaluated, including end-to-end test scenarios, interface test scenarios, and performance test scenarios.
[0055] S200. Based on the scenario information, the software to be evaluated is divided into at least one primary module, and each primary module includes at least one secondary module. The primary module includes a business module, a code module, and a performance module, and the secondary module includes a business module, a code module, and a performance module. The secondary modules include a retail business module, a wealth management business module, an overseas financial module, a loan module, and a city service module.
[0056] Understandably, in this step, the software to be evaluated is divided into several primary modules. Each primary module can be further divided into smaller modules, forming a top-down tree-like hierarchical structure. The bottom layer of this structure consists of leaf modules, which are the smallest units of testing. Each test subset corresponds to a leaf module, which is the sufficient test set for that leaf module.
[0057] It should be noted that the rules for dividing modules need to be determined based on the test type, for example:
[0058] End-to-end testing scenario: Modules are divided according to business functions (retail business module, wealth management business module), and the leaf modules corresponding to the test set are the smallest business modules to be tested.
[0059] Interface testing scenario: The modules are divided according to the system's code modules (mobile H5 page module, web server module, mobile front-end module, file server module), and the leaf modules corresponding to the test set are the smallest systems that provide interfaces to the outside world.
[0060] Performance testing scenario: The modules are divided according to the system's performance standards (response time module, throughput module, resource utilization module, concurrent user number module), and the leaf modules corresponding to the test set are the smallest sub-indicators of performance testing.
[0061] Step S200 further includes step S210:
[0062] S210. Obtain the test set corresponding to each leaf module. The test set includes unit test code, manual test cases, interface automation scripts and UI automation test scripts.
[0063] Based on the test set corresponding to each leaf module, the test score of the test set is calculated through data analysis.
[0064] S210 also includes:
[0065] S211. Send the first command, which is to send the test results of the leaf module to the experts for importance comparison and scoring.
[0066] Obtain all the importance comparison scoring results.
[0067] Multiply the importance comparison scoring results by the preset weights corresponding to each expert to obtain the final evaluation results of each expert.
[0068] Multiply the final evaluation results of each expert by the test scores of the test set to obtain the score information of each leaf module.
[0069] In this embodiment, the scores of the leaf modules are affected by test result data such as the test scenario pass rate and sub-module code coverage rate. Which data to use should be determined by the testers using professional knowledge.
[0070] S300. Score each leaf module based on the test pass rate and code coverage rate, and respectively obtain the score information of each secondary module, including:
[0071] Obtain the number of test cases that passed the test, the total number of test cases, the number of lines of code, and the total number of lines of code in the tested system.
[0072] Calculate the test scenario pass rate based on the number of test cases that passed the test and the total number of test cases.
[0073] Calculate the code coverage rate based on the number of lines of code and the total number of lines of code in the tested system.
[0074] It can be understood that in this step, the data used for the evaluation of the leaf modules can be different for each enterprise, depending on the quality requirements and whether the results can be digitized. Enterprises can automatically obtain data through the tool platform.
[0075] The importance comparison and scoring of the test results are judged by expert experience. (The test set is a manual scoring of the leaf modules). Finally, the leaf modules are scored, and the score 0 ≤ k ,
[0076] ≤ 1; The value range of q ij (0 < i, j < n) is 1, 3, 5, 7, which respectively represent that result S i is equally important, more important, very important, and extremely important than result S j . The scoring results of the test set for sub-module i are as follows, where l i (0 ≤ l i ≤ 1) is a quantitative representation of the test results, such as the test pass rate, code coverage rate, etc.
[0076]
[0077] In the formula, k i The score for submodule k is represented by l. i (0≤l i ≤1) represents the score of the test result in the test set, s i This indicates the weight of the test results.
[0078] S400: Based on the score information of each sub-module, calculate the score information of each parent module, and calculate the score information of the software to be evaluated based on the score information of each first-level module.
[0079] Understandably, this step also includes S410 and S420:
[0080] Among them, S410 obtains the business data of the sub-module, including the module access volume and the module transaction volume;
[0081] Based on the business data of the sub-modules, the weight information of each sub-module is calculated by weighted summation;
[0082] The score of each parent module is calculated by weighted summation based on the score information of each submodule.
[0083] S520: Based on the score information of each module, the business information of each module is normalized to obtain the normalized score information.
[0084] The updated module's score information is the normalized score information;
[0085] The score of the software to be evaluated is calculated based on the score information.
[0086] It should be noted that when calculating the weights of other modules, the weights of each module are calculated from bottom to top according to the hierarchical structure of the system under test. Assume the names of the second-level modules are M1, M2...M... m Weight calculation requires consideration of N factors N1, N2...N nThe invention requires that factors be quantifiable so that weights can be adjusted based on operational data to prevent subjective factors from causing weight bias. Therefore, when calculating the score of a module, the importance of factors is determined subjectively by experts. When calculating the scores of subsequent modules, a combination of subjective and objective methods is used; operational data and expert judgment are integrated so that the scoring takes into account the current system operation and focuses on key business aspects. Business data here includes module access volume and module transaction volume. The final weight of each factor also needs to be adjusted using business data because the manual scoring process may be influenced by subjective factors. Factors may differ between different tested systems, but the evaluation factors for each module should remain consistent. After calculating the business data for each factor, the data values are normalized and adjusted using the following formula:
[0087]
[0088] In the formula, a mn Representative module M m In factor N n Normalized business data on x mn Representative module M m In factor N n The original data on Indicates factor N n The sum across all modules;
[0089] Finally, the weight of each module is obtained, and the system score for this test is obtained by combining the weight of each module with the test score.
[0090] Example 2:
[0091] like Figure 2 As shown, this embodiment provides a software quality evaluation device. See [link to relevant documentation]. Figure 2 The device includes:
[0092] Acquisition Module 1: Used to acquire scenario information of the software to be evaluated, including end-to-end test scenarios, interface test scenarios, and performance test scenarios;
[0093] Module 2: This module is used to divide the software to be evaluated into at least one primary module based on the scenario information. Each primary module includes at least one secondary module. The primary modules include a business module, a code module, and a performance module. The secondary modules include a retail business module, a wealth management business module, an overseas financial module, a loan module, and a city service module.
[0094] The partitioning module 2 also includes:
[0095] First Acquisition Unit 22: Used to acquire the test set corresponding to each secondary module. The test set includes unit test code, manual test cases, interface automation scripts and UI automation test scripts.
[0096] First calculation unit 21: used to calculate the test score of the test set based on the test set corresponding to each secondary module through data analysis.
[0097] Scoring Module 3: This module scores each sub-module based on test pass rate and code coverage, and provides a score for each sub-module.
[0098] The scoring module 3 also includes:
[0099] First sending unit 31: used to send a first command, the first command being to send the test results of the secondary module to experts for importance comparison and scoring;
[0100] Second acquisition unit 32: used to acquire all importance comparison scoring results;
[0101] The second calculation unit 33 is used to multiply the importance comparison score result with the preset weight corresponding to each expert to obtain the final evaluation result of each expert.
[0102] The third calculation unit 34 is used to multiply the final evaluation result of each expert with the test score of the test set to obtain the score information of each secondary module.
[0103] Calculation Module 4: Used to calculate the score information of each first-level module based on the score information of each second-level module, and to calculate the score information of the software to be evaluated based on the score information of each first-level module.
[0104] The calculation module 4 also includes:
[0105] The third acquisition unit 41 is used to acquire business data of the secondary module, including module access volume and module transaction volume.
[0106] Fourth calculation unit 42: used to calculate the score information of each secondary module based on the business data of the secondary modules through weighted summation;
[0107] Fifth calculation unit 43: used to calculate the score information of each first-level module by weighted summation based on the score information of each second-level module.
[0108] It should be noted that the specific manner in which each module performs its operation in the apparatus described in the above embodiments has been described in detail in the embodiments of the method, and will not be elaborated here.
[0109] Example 3:
[0110] Corresponding to the above method embodiments, this embodiment also provides a software quality evaluation device. The software quality evaluation device described below and the software quality evaluation method described above can be referred to each other.
[0111] Figure 3 This is a block diagram illustrating a software quality evaluation device 800 according to an exemplary embodiment. For example... Figure 3 As shown, the software quality evaluation device 800 may include: a processor 801 and a memory 802. The software quality evaluation device 800 may also include one or more of a multimedia component 803, an I / O interface 804, and a communication component 805.
[0112] The processor 801 controls the overall operation of the software quality evaluation device 800 to complete all or part of the steps in the aforementioned software quality evaluation method. The memory 802 stores various types of data to support the operation of the software quality evaluation device 800. This data may include, for example, instructions for any application or method operating on the software quality evaluation device 800, and application-related data such as contact data, sent and received messages, images, audio, video, etc. The memory 802 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as Static Random Access Memory (SRAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Erasable Programmable Read-Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read-Only Memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. Multimedia component 803 may include a screen and an audio component. The screen may be, for example, a touchscreen, and the audio component is used to output and / or input audio signals. For example, the audio component may include a microphone for receiving external audio signals. The received audio signals may be further stored in memory 802 or transmitted via communication component 805. The audio component also includes at least one speaker for outputting audio signals. I / O interface 804 provides an interface between processor 801 and other interface modules, such as a keyboard, mouse, buttons, etc. These buttons may be virtual or physical buttons. Communication component 805 is used for wired or wireless communication between the software quality evaluation device 800 and other devices. Wireless communication may include Wi-Fi, Bluetooth, Near Field Communication (NFC), 2G, 3G, or 4G, or a combination of these. Therefore, the corresponding communication component 805 may include a Wi-Fi module, a Bluetooth module, or an NFC module.
[0113] In an exemplary embodiment, the software quality evaluation device 800 may be one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, or, for example, a financial mobile app, to demonstrate the operation of the access control system.
[0114] I. The quality indicator management device calculates the weights of test scoring factors using a microcontroller, microprocessor, or other electronic components, and is used to execute the quality evaluation method of the software described above.
[0115] In another exemplary embodiment, a computer-readable storage medium including program instructions is also provided, which, when executed by a processor, implement the steps of the software quality evaluation method described above. For example, the computer-readable storage medium may be the memory 802 including program instructions described above, which may be executed by the processor 801 of the software quality evaluation device 800 to complete the software quality evaluation method described above.
[0116] Example 4:
[0117] Corresponding to the above method embodiments, this embodiment also provides a readable storage medium. The readable storage medium described below can be referred to in conjunction with the software quality evaluation method described above.
[0118] A readable storage medium storing a computer program, wherein when the computer program is executed by a processor, it implements the steps of the software quality evaluation method described in the above method embodiments.
[0119] Specifically, the readable storage medium can be a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, or any other readable storage medium capable of storing program code.
[0120] Example 5:
[0121] The following example uses a financial mobile app to demonstrate the working process of the access control system through the quality evaluation method of the software of this invention.
[0122] I. Weighting of Testing and Scoring Factors in Quality Indicator Management Device
[0123] After testing, three test metrics will be obtained: case pass rate, scenario coverage rate, and code coverage rate. The weights of these metrics will be determined through expert review, and the calculation data is shown in Table 6. The device calculated a weight of 0.48 for case pass rate, 0.41 for scenario coverage rate, and 0.11 for code coverage rate.
[0124] II. Application Module Management Device Calculates the Weights of Each Module
[0125] 1. Apply first-level module weights
[0126] Factors influencing the primary modules include the average number of requests over the past three months and the average amount involved over the past three months. First, expert scoring determined the weights of these two factors to be 0.25 and 0.75, respectively. The normalized business data is shown in Table 9. The weight of the loan module is calculated as 0.25*0.76 + 0.75*0.3 = 0.42, and the weight of the payment and transfer module is 0.25*...
[0127] 0.24 + 0.75 * 0.70 = 0.59
[0128] 2. Calculation of weights for secondary modules
[0129] The loan module includes functional slots 1 and 2, while the payment and transfer module includes functional slots 3, 4, 5, and 6. Factors influencing the functional slots include exposure and clicks over the past three months. Following the same calculation method as module weights, the influencing factors are first scored, then normalized business data is obtained, and finally, the functional slot weight is calculated.
[0130] III. Test Results, Module Scoring, and System Under Test: After the module scoring test is completed, the quality access control system will use the product of the test score and the function weight as the score of the higher-level module node. Then, the product of the module score and the module weight will be used as the quality score of the system under test. The calculation process is as follows: Figure 4 As shown.
[0131] IV. Determining whether the test passes
[0132] Users can set a quality score threshold for access control. If the current app access control score is set to 0.7 or higher, then the quality score for this test of the financial function is 0.74, which is greater than 0.7, indicating successful execution and automatic execution of subsequent tasks. Otherwise, if the access control score is set to 0.75 or higher, the test is considered a failure, and the pipeline execution will stop.
[0133] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
[0134] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A method for evaluating the quality of software, characterized in that, include: Obtain scenario information for the software to be evaluated, including end-to-end test scenarios, interface test scenarios, and performance test scenarios; Based on the scenario information, the software to be evaluated is divided into at least one primary module, and each primary module includes at least one secondary module. The primary module includes a business module, a code module, and a performance module. The secondary modules include a retail business module, a wealth management business module, an overseas financial module, a loan module, and a city service module. The modules form a top-down tree-like hierarchical structure, with the leaf modules at the bottom layer being the smallest unit of testing. Each test subset corresponds to one leaf module. Each leaf module is scored based on its pass rate and code coverage, and the score information for each leaf module is obtained. Based on the score information of each of the secondary modules, the score information of each of the primary modules is calculated, and the score information of the software to be evaluated is calculated based on the score information of each of the primary modules. The process involves calculating the score information of each primary module based on the score information of each secondary module, and then calculating the score information of the software to be evaluated based on the score information of each primary module. Obtain the business data of the secondary module, including module access volume and module transaction volume; Based on the business data of the secondary modules, the score information of each secondary module is calculated by weighted summation; based on the score information of each secondary module, the score information of each primary module is calculated by weighted summation. Based on the score information of each module, the business information of each module is normalized to obtain the normalized score information. The updated module's score information is the normalized score information; The score of the software to be evaluated is calculated based on the score information. The method further includes: When calculating module weights, the weight of each module is calculated from bottom to top according to the hierarchical structure of the system under test. The weights are adjusted based on operational data and expert judgment to obtain the weight of each module. The score information of the software under evaluation is obtained through the weight and score information of each module.
2. The software quality evaluation method according to claim 1, characterized in that, Each of the first-level modules includes at least one second-level module, including: Obtain the test set corresponding to each of the secondary modules, wherein the test set includes unit test code, manual test cases, interface automation scripts and UI automation test scripts; The test score for each test set is calculated through data analysis based on the test set corresponding to each secondary module.
3. The software quality evaluation method according to claim 2, characterized in that, The step of calculating the test score of the test set based on the test set corresponding to each secondary module through data analysis includes: Send a first command, which is to send the test results of the secondary module to experts for importance comparison and scoring; Obtain all the aforementioned importance comparison scores; The importance comparison score is multiplied by the preset weight for each expert to obtain the final evaluation result for each expert. The final evaluation result of each expert is multiplied by the test score of the test set to obtain the score information of each secondary module.
4. A software quality evaluation device, characterized in that, include: Acquisition module: used to acquire scenario information of the software to be evaluated, including end-to-end test scenarios, interface test scenarios, and performance test scenarios; The segmentation module is used to divide the software to be evaluated into at least one primary module based on the scenario information. Each primary module includes at least one secondary module. The primary modules include a business module, a code module, and a performance module. The secondary modules include a retail business module, a wealth management business module, an overseas financial module, a loan module, and a city service module. The modules form a top-down tree-like hierarchical structure, with the leaf modules at the bottom layer being the smallest unit of testing. Each test subset corresponds to one leaf module. Scoring module: Used to score each leaf module based on test pass rate and code coverage, and obtain the score information of each leaf module respectively; Calculation module: used to calculate the score information of each primary module based on the score information of each secondary module, and to calculate the score information of the software to be evaluated based on the score information of each primary module; The computing module also includes: The third acquisition unit is used to acquire the business data of the secondary module, including module access volume and module transaction volume. The fourth calculation unit is used to calculate the score information of each of the secondary modules by weighted summation based on the business data of the secondary modules. The fifth calculation unit is used to calculate the score information of each primary module by weighted summation based on the score information of each secondary module. The computing module also includes: Based on the score information of each module, the business information of each module is normalized to obtain the normalized score information; the score information of the module is updated to the normalized score information; the score information of the software to be evaluated is calculated based on the score information. The device further includes: When calculating module weights, the weight of each module is calculated from bottom to top according to the hierarchical structure of the system under test. The weights are adjusted based on operational data and expert judgment to obtain the weight of each module. The score information of the software under evaluation is obtained through the weight and score information of each module.
5. The software quality evaluation device according to claim 4, characterized in that, The partitioning module also includes: First acquisition unit: used to acquire the test set corresponding to each of the secondary modules, the test set including unit test code, manual cases, interface automation scripts and UI automation test scripts; First calculation unit: used to calculate the test score of the test set based on the test set corresponding to each of the secondary modules through data analysis.
6. The software quality evaluation device according to claim 4, characterized in that, The scoring module also includes: First sending unit: used to send a first command, the first command being to send the test results of the secondary module to experts for importance comparison and scoring; The second acquisition unit is used to acquire all the importance comparison scoring results; The second calculation unit is used to multiply the importance comparison score by the preset weight corresponding to each expert to obtain the final evaluation result of each expert. The third calculation unit is used to multiply the final evaluation result of each expert by the test score of the test set to obtain the score information of each secondary module.
7. A software quality evaluation device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the software quality evaluation method as described in any one of claims 1 to 3 when executing the computer program.
8. A readable storage medium, characterized in that: The readable storage medium stores a computer program that, when executed by a processor, implements the steps of the software quality evaluation method as described in any one of claims 1 to 3.
Citation Information
Patent Citations
Method for evaluating software quality based on test data
CN101604288A
Software quality evaluation system and method
CN106502910A