Software testing method, equipment, storage medium and program product
By building a quality prediction model, predicting the quality level of the software to be tested based on its characteristic data, and rationally allocating testing resources according to the prediction results, the problem of low accuracy of software testing resource allocation in the existing technology is solved, and the controllability of the testing progress is improved. sex.
Patent Information
- Application Number
- CN202211686134.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-27
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2042-12-27
AI Technical Summary
In the prior art, the allocation accuracy of software testing resources is low, and there are often shortages or excess human resources, making it difficult to effectively allocate testing resources and improve the controllability of software testing progress.
By obtaining the characteristic data of the software to be tested, including development cycle, development team, number of business requirements and development mode, a quality prediction model is constructed to predict the software quality level, and allocate testing resources reasonably based on the prediction results.
It improves the rationality of the deployment of software testing resources and the controllability of testing progress, avoids the strain or excess of human resources, and ensures the effectiveness of software testing.
Smart Images

Figure CN115964288B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of software testing technology, and in particular, to a software testing method, device, storage medium, and program product. Background Art
[0002] With the development of software technology, the software update cycle is getting shorter and shorter, and software testing resources (such as human resources) are limited. Faced with the increasing testing workload, it is crucial to effectively allocate testing resources and improve the controllability of software testing progress.
[0003] In related technologies, managers can allocate human resources based on personal experience.
[0004] However, in the process of realizing this application, the inventors found that there are at least the following problems in the prior art: the above allocation method has low accuracy and often leads to shortage or surplus of human resources. Summary of the invention
[0005] The embodiments of the present application provide a software testing method, device, storage medium and program product to improve the rationality of test resource allocation and the controllability of software testing.
[0006] In a first aspect, an embodiment of the present application provides a software testing method, comprising:
[0007] Acquire characteristic data of the software to be tested; the characteristic data includes at least one of the development cycle, development team, number of business requirements, and development mode of the software to be tested;
[0008] Inputting the characteristic data into a quality prediction model to obtain the quality level of the software to be tested;
[0009] The test resources required by the software to be tested are determined according to the quality level, so as to test the software to be tested according to the test resources required by the software to be tested.
[0010] In one possible design, the method further includes:
[0011] Acquire characteristic data of a plurality of historical software; the historical software is software that has completed software testing;
[0012] Constructing a sample set from the characteristic data of the plurality of historical software;
[0013] Based on the sample set, a multivariate logistic regression model is trained to obtain a quality prediction model.
[0014] In a possible design, the step of obtaining characteristic data of multiple historical software includes:
[0015] Get raw data from multiple historical software;
[0016] Cleaning the original data to obtain cleaned data;
[0017] The cleaned data is subjected to data feature quantification and normalization to obtain feature data of multiple historical software.
[0018] In a possible design, training a multivariate logistic regression model based on the sample set to obtain a quality prediction model includes:
[0019] Dividing the sample set into a first number of training sets and a second number of test sets;
[0020] Inputting the training set into the multivariate logistic regression model to obtain multiple sets of solutions for the parameters to be determined of the multivariate logistic regression model through training;
[0021] The multiple groups of solutions are verified and screened according to the second number of test sets to obtain an optimal solution, and the quality prediction model is determined according to the optimal solution.
[0022] In a possible design, verifying and screening the multiple groups of solutions according to the second number of test sets to obtain an optimal solution, and determining the quality prediction model according to the optimal solution includes:
[0023] constructing a second number of candidate models according to the plurality of groups of solutions;
[0024] Verifying the generalization capabilities of the second number of candidate models one by one through the second number of test sets, and obtaining generalization capability values corresponding to the second number of candidate models respectively;
[0025] The candidate model with the highest generalization ability value among the second number of candidate models is determined as the quality prediction model.
[0026] In one possible design, the method further includes:
[0027] Determining the actual quality level of the software to be tested according to the test results of the software to be tested;
[0028] Based on the actual quality level and characteristic data of the software to be tested, the parameters of the quality prediction model are updated to obtain a new quality prediction model.
[0029] In a second aspect, an embodiment of the present application provides a software testing device, including:
[0030] An acquisition module, used to acquire characteristic data of the software to be tested; the characteristic data includes at least one of the development cycle, development team, number of business requirements, and development mode of the software to be tested;
[0031] An input module, used for inputting the characteristic data into a quality prediction model to obtain the quality level of the software to be tested;
[0032] The determination module is used to determine the test resources required for the software to be tested according to the quality level.
[0033] In a third aspect, an embodiment of the present application provides a software testing device, including: at least one processor and a memory;
[0034] The memory stores computer-executable instructions;
[0035] The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the method described in the first aspect and various possible designs of the first aspect.
[0036] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the method described in the first aspect and various possible designs of the first aspect are implemented.
[0037] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program. When the computer program is executed by a processor, it implements the method described in the first aspect and various possible designs of the first aspect.
[0038] The software testing method, device, storage medium and program product provided by the present embodiment include obtaining characteristic data of the software to be tested, the characteristic data include at least one of the development cycle, development team, number of business requirements and development mode of the software to be tested, inputting the characteristic data into a quality prediction model, obtaining the quality grade of the software to be tested, and determining the test resources required for the software to be tested according to the quality grade, so as to test the software to be tested according to the test resources required for the software to be tested. The software testing method provided by the embodiment of the present application predicts the quality grade of the software to be tested according to the characteristic data such as the development cycle, development team, number of business requirements and development mode of the software to be tested based on the constructed quality prediction model, and accurately and reasonably allocates test resources to the software to be tested according to the predicted quality grade, and then tests the software based on the allocated test resources, thereby improving the controllability of the software testing progress. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0040] Figure 1 A schematic diagram of an application scenario of the software testing method provided in an embodiment of the present application;
[0041] Figure 2 Schematic diagram of the software testing method provided in the embodiment of the present application Figure 1 ;
[0042] Figure 3 A flowchart of the training process of the quality prediction model provided in the embodiment of the present application;
[0043] Figure 4 A schematic diagram of the principle of the training and testing process of the quality prediction model provided in the embodiment of the present application;
[0044] Figure 5 Schematic diagram of the software testing method provided in the embodiment of the present application Figure 2 ;
[0045] Figure 6 A schematic diagram of the structure of a software testing device provided in an embodiment of the present application;
[0046] Figure 7 A schematic diagram of the hardware structure of the software testing device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0047] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0048] With the rapid development of software technology and the rapid iteration of software, the stability and reliability of software quality have become particularly important. Software testing, as a key link in ensuring software quality, aims to find as many defects in the software as possible in a short period of time with as little manpower and material resources as possible, so as to repair the software. The software update cycle is getting shorter and shorter, and the human resources for software testing are limited. In the face of the increasing testing workload, how to effectively allocate human resources and improve the controllability of the progress of software testing is crucial.
[0049] In the related art, managers can allocate human resources based on personal experience. However, the above allocation method is less accurate and often results in shortage or surplus of human resources.
[0050] In order to solve the above technical problems, the inventors of the present application have found that in different software tests, the key factor affecting the accuracy of human resources is the need to accurately know the software quality of the software to be tested (such as defect density). The testing workload of high-quality software to be tested will be relatively low. The inventors also found that the factors affecting software quality include version development cycle, project team name, number of business requirements, development model, etc. Therefore, a quality prediction model can be trained (exemplarily, the relevant data of historical software that has completed software testing can be sorted out to obtain a quality prediction model based on the data training). The model can be used to predict the software quality of the software to be tested based on the characteristic data of the software to be tested (version development cycle, project team name, number of business requirements, development model, etc.), and then the human resources of the software to be tested can be deployed based on the predicted software quality. Based on this, an embodiment of the present application provides a software testing method, which predicts the quality level of the software to be tested based on the constructed quality prediction model, according to the characteristic data such as the development cycle, development team, number of business requirements, development model, etc. of the software to be tested, and accurately and reasonably allocates test resources to the software to be tested according to the predicted quality level, and then tests the software based on the allocated test resources, thereby improving the controllability of the software testing progress.
[0051] Figure 1 Schematic diagram of application scenarios of the software testing method provided in the embodiment of the present application. Figure 1 As shown, the client of the software testing platform is installed in the terminal device 101. The terminal device 101 can be a computer, a tablet computer, a mobile phone or other devices.
[0052] In the specific implementation process, the terminal device 101 can log in to the client of the software testing platform in response to the user's touch operation, and input the characteristic data of the software to be tested into the quality prediction model of the background through the interactive interface, predict the quality level of the software to be tested, and determine the test resources required for the software to be tested according to the quality level based on the correspondence between the test resources and the software quality level, so as to test the software to be tested according to the test resources required for the software to be tested. The software testing method provided in the embodiment of the present application predicts the quality level of the software to be tested according to the characteristic data such as the development cycle, development team, number of business requirements, and development mode of the software to be tested based on the constructed quality prediction model, and accurately and reasonably allocates test resources to the software to be tested according to the predicted quality level, and then tests the software based on the allocated test resources, thereby improving the controllability of the software testing progress.
[0053] It should be noted that Figure 1 The scenario diagram shown is only an example. The software testing method and scenario described in the embodiment of the present application are intended to more clearly illustrate the technical solution of the embodiment of the present application, and do not constitute a limitation on the technical solution provided in the embodiment of the present application. Ordinary technicians in this field can know that with the evolution of the system and the emergence of new business scenarios, the technical solution provided in the embodiment of the present application is also applicable to similar technical problems.
[0054] The technical solution of the present application is described in detail with specific embodiments below. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.
[0055] Figure 2 Schematic diagram of the software testing method provided in the embodiment of the present application Figure 1 .like Figure 2 As shown, the method includes:
[0056] 201. Obtain feature data of the software to be tested; the feature data includes at least one of the development cycle, development team, number of business requirements, and development model of the software to be tested.
[0057] The execution subject of this embodiment can be Figure 1 The terminal device 101 is shown.
[0058] Among them, the development cycle refers to the length of time from the start of the project to the completion of development, delivery and testing. Usually, the development cycle is positively correlated with the software quality level, that is, the longer the development cycle, the higher the software quality level. The development team refers to the team composed of all developers of the software to be tested. Different development teams have different work habits and work concepts, so the quality level of software developed by different development teams is usually different. The number of business requirements refers to the number of business requirements included in the software to be tested. Usually, the code development workload of different business requirements is basically the same, that is, compared with the number of lines of code, the number of business requirements can more accurately represent the development workload of the software to be tested. The development model can include agile development model, waterfall development model, etc. The waterfall development model is suitable for projects with very clear software requirements and no frequent changes, and the agile development model is suitable for projects with unclear requirements, innovative or market-oriented projects. Generally, the quality level of the software to be tested using the waterfall development model will be higher.
[0059] In this embodiment, the characteristic data may adopt at least one of the development cycle, development team, number of business requirements, and development mode. The specific characteristic factors to be adopted may be determined during the training process according to the test results of the quality prediction model obtained through training. For example, if underfitting occurs when only one or two characteristic factors are adopted, the characteristic factors may be increased. If four characteristic factors are adopted at the same time, the development cycle, development team, number of business requirements, and development mode may be overfitted, and the characteristic factors may be reduced.
[0060] 202. Input the characteristic data into a quality prediction model to obtain the quality grade of the software to be tested.
[0061] 203. Determine the test resources required by the software to be tested according to the quality level, so as to test the software to be tested according to the test resources required by the software to be tested.
[0062] Specifically, the quality level can be divided into multiple quality levels, such as levels 1-5. The higher the level, the better the quality and the lower the defect density. The correspondence between different quality levels and test resources can be preset. For example, the test resources required for level 5 are n test resources for each requirement, and the test resources required for level 4 are 1.5n test resources for each requirement. Therefore, after predicting the quality level, the amount of test resources required for the software to be tested can be determined based on the correspondence between the quality level and the test resources. Then, the software to be tested can be tested based on the allocated test resources. Reasonable allocation of test resources can ensure the smooth progress of the testing work and avoid manpower shortage or surplus.
[0063] The software testing method provided in this embodiment predicts the quality level of the software to be tested based on the constructed quality prediction model according to characteristic data such as the development cycle, development team, number of business requirements, and development model of the software to be tested, and accurately and reasonably allocates test resources to the software to be tested according to the predicted quality level, and then tests the software based on the allocated test resources, thereby improving the controllability of the software testing progress.
[0064] Figure 3 The following is a flow chart of the training process of the quality prediction model provided in the embodiment of the present application. Figure 3 As shown, the method includes:
[0065] 301. Obtain feature data of a plurality of historical software; the historical software is software that has completed software testing.
[0066] Specifically, the feature data, development cycle, development team, number of business requirements, development model, etc. of the software that has completed software testing and has been launched can be sorted out, and a sample set can be established based on these data to obtain a quality prediction model based on the sample set training.
[0067] In some embodiments, since different feature data of historical software may come from different systems (for example, the business demand quantity may come from the demand management system, and the development cycle may come from the software development management system), the data formats are various and cannot be processed uniformly, so the different feature data of historical software may be pre-processed by cleaning, quantification, etc. The acquisition of feature data of multiple historical software may include: acquiring original data of multiple historical software; cleaning the original data to obtain cleaned data; quantifying and normalizing data features of the cleaned data to obtain feature data of multiple historical software.
[0068] Specifically, after obtaining the original data of the historical software, the erroneous or duplicated data can be cleaned. After obtaining the cleaned data, the feature quantification of the cleaned data refers to converting non-numerical attribute data into numerical attribute data. For example, the development team in the feature data can be represented by different numerical values. Team A can be represented by 001, and Team B can be represented by 002. Normalizing the cleaned data refers to dimensionless processing of the data and converting data of different dimensions to the same dimension, including converting data of different formats into the same format.
[0069] 302. Construct a sample set using the feature data of the plurality of historical software.
[0070] Specifically, for each historical software, its characteristic data is sorted and marked with an actual software quality level, wherein the actual software quality level can be determined based on the software test results. For example, the defect density of the software can be determined based on the software test results, and the defect density is used as an indicator of software quality, and different software quality levels are divided based on the defect density.
[0071] 303. Based on the sample set, a multivariate logistic regression model is trained to obtain a quality prediction model.
[0072] Specifically, after the sample set is constructed, the samples in the sample set can be input into a multivariate logistic regression model, the multivariate logistic regression model is trained, a corresponding relationship between feature data and software quality levels is established, and a quality prediction model is obtained.
[0073] Exemplarily, it is assumed that different factors in the characteristic data are represented as independent variables {x1, x2..., xi} (i≥2) and there is a certain relationship between the dependent variable software quality index y, and the expression is as follows:
[0074] y=f(x i ) (1)
[0075] In this embodiment, a quality prediction model can be obtained by training using machine learning algorithms such as a binary logistic regression model and a multivariate logistic regression model.
[0076] Take the binary logistic regression model as an example.
[0077] First, the expression for the linear boundary is:
[0078]
[0079] The fitting function of the logistic regression algorithm, that is, the expression of the sigmond function is:
[0080]
[0081] Expression (3) represents the probability of the classification result being 1. Therefore, for an input point x, the probabilities of the classification result being category 1 and category 0 are respectively expressed as follows:
[0082] P(y=1|x;e)=h θ (x)
[0083] P(y=0|x;θ)=1-h θ (x) (4)
[0085] For the sample set, feature data x = {x1, x2..., xm}, corresponding classification data y = {y1, y2..., ym}. Taking the maximum likelihood function and taking the logarithm of expression (4), we can get the loss function of the following logistic regression model:
[0086]
[0087] Subsequently, based on the loss function of expression (5), the gradient descent method can be used to solve e that can make the loss function the maximum value. Of course, the negative number of expression (5) can be taken to obtain a new loss function, that is, to solve the new loss function to the minimum value e.
[0088] Based on the above binary logistic regression model, the multivariate logistic regression model can be defined as a model containing k-1 binary logistic regression models. For input x, the probability of the classification result being each category (each software quality level) is as follows:
[0089]
[0090]
[0091]
[0092] Among them, k is the number of categories, that is, the number of software quality levels.
[0093] For expression (6), the weight w of the multivariate logistic regression model is a matrix, and the number of rows in the matrix is related to the number of categories. Through maximum likelihood estimation, the loss function can be established as follows:
[0094]
[0095] Then, the gradient descent algorithm can be used to solve the weight value w that can minimize the loss function of expression (7).
[0096] In some embodiments, in order to ensure the generalization ability of the quality prediction model, that is, the adaptability to fresh samples. The samples in the sample set can be divided into a certain proportion of training sets and test sets, and the model is obtained by training the training set, and then the generalization ability of the trained model is tested by the test set. Specifically, the multivariate logistic regression model is trained based on the sample set to obtain the quality prediction model, which may include: dividing the sample set into a first number of training sets and a second number of test sets; inputting the training set into the multivariate logistic regression model, and training to obtain multiple groups of solutions for the parameters to be determined of the multivariate logistic regression model; verifying and screening the multiple groups of solutions according to the second number of test sets to obtain the optimal solution, and determining the quality prediction model according to the optimal solution.
[0097] The verifying and screening the multiple groups of solutions according to the second number of test sets to obtain the optimal solution, and determining the quality prediction model according to the optimal solution may include: constructing a second number of candidate models according to the multiple groups of solutions; verifying the generalization capabilities of the second number of candidate models one by one through the second number of test sets to obtain the generalization capability values corresponding to the second number of candidate models; and determining the candidate model with the highest generalization capability value among the second number of candidate models as the quality prediction model.
[0098] For example, Figure 4 As shown, assuming that there are 1200 samples in the sample set, half of the 1200 samples, that is, 600 samples, can be added to the training set, and the remaining 600 samples can be divided into 3 test sets, a, b and c, each with 200 samples.
[0099] Three groups of solutions can be obtained by training the samples in the training set. Each group of solutions can obtain a model to be tested. Specifically, 600 samples can be divided into three training sets, and each training set can obtain a group of solutions. In addition, in order to ensure the number of samples in the training set, 500 samples can be randomly selected from the 600 samples, trained to obtain the first group of solutions, and then 500 samples can be randomly selected to obtain the second group of solutions, and then 500 samples can be randomly selected to obtain the third group of solutions. There is an intersection between the 500 samples randomly selected each time.
[0100] After obtaining three models to be tested, model A, model B and model C, the generalization ability of model A can be tested using test set a, the generalization ability of model B can be tested using test set b, and the generalization ability of model C can be tested using test set c. Taking model A and test set a as an example, the error between the predicted value and the actual value of the software quality level obtained after the samples in test set a are input into model A can be calculated, and the error can be determined as the generalization ability of model A.
[0101] After obtaining the generalization capabilities of models A, B, and C, we can compare and obtain the model with the highest generalization ability, that is, the model with the strongest adaptability to fresh samples, and determine this model as the final quality prediction model, thereby ensuring the accuracy of the quality prediction model.
[0102] In some embodiments, if the generalization ability of the multiple models to be tested obtained through training cannot meet expectations, the following measures can be taken to improve the generalization ability of the models obtained through training. For underfitting, features can be added and regularization parameters can be reduced. For overfitting, the data in the sample set can be re-cleaned, the data that causes overfitting can be deleted, and the number of samples can be increased. Regularization methods such as L0 regularization, L1 regularization, and L2 regularization can also be used.
[0103] The software testing method provided in this embodiment obtains a quality prediction model by training a multivariate logistic regression model, and can predict multiple quality levels, thereby improving the flexibility of test resource allocation.
[0104] Figure 5 Schematic diagram of the software testing method provided in the embodiment of the present application Figure 2 .like Figure 5 As shown, based on the above embodiment, for example Figure 2 On the basis of the embodiment shown, in this embodiment, in order to improve the accuracy of the quality prediction model, the quality prediction model can be updated according to the actual quality level of the software to be tested after the current software to be tested is tested. The method includes:
[0105] 501. Obtain characteristic data of the software to be tested; the characteristic data includes at least one of the development cycle, development team, number of business requirements, and development model of the software to be tested.
[0106] 502. Input the characteristic data into a quality prediction model to obtain the quality grade of the software to be tested.
[0107] 503. Determine the test resources required by the software to be tested according to the quality level, so as to test the software to be tested according to the test resources required by the software to be tested.
[0108] Steps 501 to 504 in the embodiment of the present application are similar to steps 201 to 203 in the above embodiment, and are not described again here.
[0109] 504. Determine the actual quality level of the software to be tested according to the test result of the software to be tested.
[0110] 505. Based on the actual quality level and characteristic data of the software to be tested, update the parameters of the quality prediction model to obtain a new quality prediction model.
[0111] Specifically, in order to improve the accuracy of the quality prediction model, the recently tested software to be tested can be added to the sample set, and the current quality prediction model can be trained to obtain a new quality prediction model. The quality level of the software can then be predicted based on the new quality prediction model.
[0112] The software testing method provided in this embodiment can improve the accuracy of the quality prediction model by continuously updating the quality prediction model, thereby ensuring the rationality of resource allocation for software testing.
[0113] Figure 6 This is a schematic diagram of the structure of the software testing device provided in the embodiment of the present application. Figure 6 As shown, the software testing device 60 includes: an acquisition module 601 , an input module 602 and a determination module 603 .
[0114] The acquisition module 601 is used to acquire characteristic data of the software to be tested; the characteristic data includes at least one of the development cycle, development team, number of business requirements, and development mode of the software to be tested.
[0115] The input module 602 is used to input the characteristic data into the quality prediction model to obtain the quality level of the software to be tested.
[0116] The determination module 603 is used to determine the test resources required by the software to be tested according to the quality level.
[0117] The software testing equipment provided in the embodiment of the present application predicts the quality level of the software to be tested based on the constructed quality prediction model according to characteristic data such as the development cycle, development team, number of business requirements, and development model of the software to be tested, and accurately and reasonably allocates test resources to the software to be tested according to the predicted quality level, and then tests the software based on the allocated test resources, thereby improving the controllability of the software testing progress.
[0118] The software testing device provided in the embodiment of the present application can be used to execute the above-mentioned method embodiment, and its implementation principle and technical effect are similar, so this embodiment will not be repeated here.
[0119] Figure 7 A schematic diagram of the hardware structure of a software testing device provided in an embodiment of the present application. The device may be a computer, a message sending and receiving device, a tablet device, a medical device, etc.
[0120] The device 70 may include one or more of the following components: a processing component 701 , a memory 702 , a power component 703 , a multimedia component 704 , an audio component 705 , an input / output (I / O) interface 706 , a sensor component 707 , and a communication component 708 .
[0121] The processing component 701 generally controls the overall operation of the device 70, such as operations associated with display, phone calls, data communications, camera operations, and recording operations. The processing component 701 may include one or more processors 709 to execute instructions to complete all or part of the steps of the above-mentioned method. In addition, the processing component 701 may include one or more modules to facilitate the interaction between the processing component 701 and other components. For example, the processing component 701 may include a multimedia module to facilitate the interaction between the multimedia component 704 and the processing component 701.
[0122] The memory 702 is configured to store various types of data to support operations on the device 70. Examples of such data include instructions for any application or method operating on the device 70, contact data, phone book data, messages, pictures, videos, etc. The memory 702 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 memory, flash memory, magnetic disk or optical disk.
[0123] The power supply component 703 provides power to the various components of the device 70. The power supply component 703 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device 70.
[0124] The multimedia component 704 includes a screen that provides an output interface between the device 70 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 704 includes a front camera and / or a rear camera. When the device 70 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera may receive external multimedia data. Each front camera and the rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
[0125] The audio component 705 is configured to output and / or input audio signals. For example, the audio component 705 includes a microphone (MIC), and when the device 70 is in an operating mode, such as a call mode, a recording mode, and a speech recognition mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in the memory 702 or sent via the communication component 708. In some embodiments, the audio component 705 also includes a speaker for outputting audio signals.
[0126] I / O interface 706 provides an interface between processing component 701 and peripheral interface modules, which may be keyboards, click wheels, buttons, etc. These buttons may include but are not limited to: home button, volume button, start button, and lock button.
[0127] The sensor assembly 707 includes one or more sensors for providing various aspects of status assessment for the device 70. For example, the sensor assembly 707 can detect the open / closed state of the device 70, the relative positioning of components, such as the display and keypad of the device 70, and the sensor assembly 707 can also detect the position change of the device 70 or a component of the device 70, the presence or absence of user contact with the device 70, the orientation or acceleration / deceleration of the device 70, and the temperature change of the device 70. The sensor assembly 707 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor assembly 707 may also include an optical sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 707 may also include an accelerometer, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
[0128] The communication component 708 is configured to facilitate wired or wireless communication between the device 70 and other devices. The device 70 can access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component 708 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 708 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.
[0129] In an exemplary embodiment, the device 70 may be implemented by 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, microcontrollers, microprocessors, or other electronic components to perform the above methods.
[0130] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 702 including instructions, and the instructions can be executed by a processor 709 of the device 70 to perform the above method. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.
[0131] The computer-readable storage medium mentioned above 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 memory, flash memory, magnetic disk or optical disk. The readable storage medium can be any available medium that can be accessed by a general or special-purpose computer.
[0132] An exemplary readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can be located in an application specific integrated circuit (Application Specific Integrated Circuits, referred to as: ASIC). Of course, the processor and the readable storage medium can also exist in the device as discrete components.
[0133] Those skilled in the art can understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.
[0134] An embodiment of the present application also provides a computer program product, including a computer program, which, when executed by a processor, implements the software testing method performed by the above software testing device.
[0135] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A software testing method, characterized in that: include: Acquire characteristic data of the software to be tested; the characteristic data includes at least one of the development cycle, development team, number of business requirements, and development mode of the software to be tested; Inputting the characteristic data into a quality prediction model to obtain a quality grade of the software to be tested, wherein the quality grade is used to indicate the quality of the software to be tested, and each software to be tested corresponds to a quality grade; Determine the test resources required for the software to be tested according to the quality level and the preset correspondence between different quality levels and test resources, so as to test the software to be tested according to the test resources required for the software to be tested; wherein the test resources are human resources; Acquire characteristic data of a plurality of historical software; the historical software is software that has completed software testing; Constructing a sample set from the characteristic data of the plurality of historical software; Dividing the sample set into a first number of training sets and a second number of test sets; For each training set: inputting the training set into a multivariate logistic regression model, and training to obtain a set of solutions for the parameters to be determined of the multivariate logistic regression model; Constructing a second number of candidate models according to the multiple groups of solutions corresponding to the training sets; The generalization capabilities of the second number of candidate models are verified one-to-one through the second number of test sets to obtain the generalization capability values corresponding to the second number of candidate models respectively; and the candidate model with the highest generalization capability value among the second number of candidate models is determined as the quality prediction model.
2. The method according to claim 1, characterized in that The obtaining of characteristic data of multiple historical software includes: Get raw data from multiple historical software; Cleaning the original data to obtain cleaned data; The cleaned data is subjected to data feature quantification and normalization to obtain feature data of multiple historical software.
3. The method according to any one of claims 1 to 2, characterized in that: The method further comprises: Determining the actual quality level of the software to be tested according to the test results of the software to be tested; Based on the actual quality level and characteristic data of the software to be tested, the parameters of the quality prediction model are updated to obtain a new quality prediction model.
4. A software testing device, characterized in that: include: An acquisition module, used to acquire characteristic data of the software to be tested; the characteristic data includes at least one of the development cycle, development team, number of business requirements, and development mode of the software to be tested; An input module, used to input the characteristic data into a quality prediction model to obtain a quality grade of the software to be tested; the quality grade is used to indicate the quality of the software to be tested, and each software to be tested corresponds to a quality grade; A determination module, used to determine the test resources required for the software to be tested according to the quality level and the preset correspondence between different quality levels and test resources; wherein the test resources are human resources; A construction module is used to obtain feature data of multiple historical software; the historical software is software that has completed software testing; construct a sample set with the feature data of the multiple historical software; divide the sample set into a first number of training sets and a second number of test sets; for each training set: input the training set into a multivariate logistic regression model, and train to obtain a set of solutions for the parameters to be determined of the multivariate logistic regression model; construct a second number of candidate models based on the multiple sets of solutions corresponding to each training set; verify the generalization capabilities of the second number of candidate models one by one through the second number of test sets, and obtain the generalization capability values corresponding to the second number of candidate models; determine the candidate model with the highest generalization capability value among the second number of candidate models as the quality prediction model.
5. A software testing device, characterized in that: include: at least one processor and memory; The memory stores computer-executable instructions; The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor performs the software testing method according to any one of claims 1 to 3.
6. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, and when the processor executes the computer-executable instructions, the software testing method according to any one of claims 1 to 3 is implemented.
7. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the software testing method according to any one of claims 1 to 3 is implemented.
Citation Information
Patent Citations
Dispatching method and device of testing resources and electronic equipment
CN107391363A
Software quality evaluation method and device and server
CN112783762A
Method, device and equipment for predicting defrosting performance of vehicle and storage medium
CN114819449A