Project progress determination method and device, equipment, medium and program product
Project progress prediction is carried out through multiple sub-models based on feature combinations, which solves the problem of failure to consider project differences in the prior art, and achieves more accurate and flexible project progress management.
Patent Information
- Application Number
- CN202510679203.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-26
- Publication Date
- 2025-08-15
AI Technical Summary
The prior art fails to fully consider differences between different projects in project progress management, resulting in low flexibility and accuracy.
Multiple sub-models are used to predict based on their respective feature combinations. By obtaining the test case information of the target project, selecting the applicable sub-model, extracting feature data and calculating the prediction time, and finally determining the project progress.
It improves the accuracy and flexibility of project progress prediction, can better adapt to the characteristics of different test cases, reduce irrelevant information interference, and provide refined project management and resource allocation.
Smart Images

Figure CN120494756A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of artificial intelligence, and more specifically to a project schedule determination method, apparatus, device, medium, and program product. Background Art
[0002] To ensure smooth project progress and on-schedule production, project schedule management is often required. Existing technologies typically use a single model to predict project completion times. This approach applies to all projects and their included cases, without fully considering the differences between projects. This results in limited flexibility and accuracy. Summary of the Invention
[0003] In view of the above problems, the present disclosure provides a project schedule determination method, apparatus, device, medium and program product.
[0004] According to a first aspect of the present disclosure, a project progress determination method is provided, comprising: obtaining information of multiple test cases in a target project; selecting corresponding target sub-models from multiple sub-models in a prediction model based on the test case information, wherein the multiple sub-models are associated with each other, and the multiple sub-models make predictions based on their respective feature combinations, and at least some features in different feature combinations are different; extracting target feature data corresponding to each test case according to the target sub-model; inputting the multiple target feature data into the prediction model to obtain a predicted time result output by the prediction model; wherein the prediction model predicts the time of each test case based on each sub-model, and the predicted time result is determined based on the time of the multiple test cases; and determining the progress information of the target project based on the predicted time result and the current time information of the target project.
[0005] According to an embodiment of the present disclosure, a corresponding target sub-model is selected from multiple sub-models in a prediction model based on test case information, including at least one of the following: matching the test case information with the applicable conditions of multiple sub-models according to predefined rules to determine the target sub-model; wherein the applicable conditions of the sub-model are determined according to the sub-model training process; and calculating the similarity between the test case and the historical case based on the test case information, and determining the sub-model corresponding to the historical project with the highest similarity to the test case as the target model.
[0006] According to an embodiment of the present disclosure, target feature data corresponding to each test case is extracted according to the target sub-model, including: determining the features to be extracted according to the selected target sub-model; obtaining target feature data corresponding to the features to be extracted from the test case; wherein the target feature data is data directly extracted from the test case or data calculated based on multiple data of the test case.
[0007] According to an embodiment of the present disclosure, multiple target feature data are input into a prediction model to obtain a predicted time result output by the prediction model, including: preprocessing the target feature data, and inputting the preprocessed target feature data into a corresponding sub-model; the sub-models predict the time of the test cases based on the input target feature data to obtain the time of each test case; based on the time of each test case predicted by each sub-model, the predicted time result output by the prediction model is determined, wherein the predicted time result output by the prediction model includes the time of each test case and the estimated completion time of the target project.
[0008] According to an embodiment of the present disclosure, the sub-models predict the duration of the test cases based on the input target feature data to obtain the duration of each test case, including: in response to the existence of an association relationship between multiple test cases, the sub-model adjusts the duration of the current test case based on the duration of the test case that has an association relationship with the current test case when predicting the duration of the test case.
[0009] According to an embodiment of the present disclosure, model training is performed on an initial model based on historical data information of multiple historical test cases to obtain a prediction model including multiple sub-models.
[0010] According to an embodiment of the present disclosure, an initial model is trained based on historical data information of multiple historical test cases to obtain a prediction model including multiple sub-models, including: respectively obtaining historical data information of each type of historical test case in the historical test project to obtain multiple initial data sets corresponding to the test case type, wherein the initial data set includes all the features of each of the multiple test cases; for each initial data set, screening target features from all the features, and extracting the target data set from the initial data set according to the target features to obtain multiple target data sets corresponding to the test case type; respectively training the initial model based on the multiple target data sets to obtain a prediction model including multiple sub-models.
[0011] According to an embodiment of the present disclosure, target features are screened from all features, and a target data set is extracted from an initial data set based on the target features, including: performing the following operations for each initial data set: determining the historical time of historical test cases as a target variable, and calculating the feature coefficients of each feature of the historical test cases based on the regularization coefficient, wherein the feature coefficient is used to reflect the degree of influence of the feature on the target variable, and the regularization coefficient is used to constrain the feature coefficient; determining target feature information according to the value of the feature coefficient; extracting the target data set from the initial data set based on the target feature information; wherein the regularization coefficients of different initial data sets are different.
[0012] A second aspect of the present disclosure provides a project progress device, including: a first acquisition module, used to obtain multiple test case information in a target project; a selection module, used to select corresponding target sub-models from multiple sub-models in a prediction model based on the test case information, wherein the multiple sub-models make predictions based on their respective feature combinations, and at least some features in different feature combinations are different; an extraction module, used to extract target feature data corresponding to each test case according to the target sub-model; a second acquisition module, used to input the multiple target feature data into the prediction model to obtain a predicted time result output by the prediction model; wherein the prediction model predicts the time of each test case based on each sub-model, and the predicted time result is determined based on the time of the multiple test cases; a determination module, used to determine the progress information of the target project based on the predicted time result and the current time information of the target project.
[0013] A third aspect of the present disclosure provides an electronic device, comprising: one or more processors; and a memory for storing one or more computer programs, wherein the one or more processors execute the one or more computer programs to implement the steps of the above method.
[0014] The fourth aspect of the present disclosure further provides a computer-readable storage medium having a computer program or instructions stored thereon, which implements the steps of the above method when the computer program or instructions are executed by a processor.
[0015] The fifth aspect of the present disclosure further provides a computer program product, comprising a computer program or instructions, which implement the steps of the above method when executed by a processor. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] The above contents and other objects, features and advantages of the present disclosure will become more apparent through the following description of the embodiments of the present disclosure with reference to the accompanying drawings, in which:
[0017] Figure 1 A diagram schematically illustrates an application scenario of a project progress determination method, apparatus, device, medium, and program product according to an embodiment of the present disclosure;
[0018] Figure 2 A flowchart of a method for determining a project schedule according to an embodiment of the present disclosure is schematically shown;
[0019] Figure 3 Schematically shows a flow chart of selecting a corresponding target sub-model from multiple sub-models in a prediction model based on test case information according to an embodiment of the present disclosure;
[0020] Figure 4A flowchart of extracting target feature data corresponding to each test case according to a target sub-model is schematically shown according to an embodiment of the present disclosure;
[0021] Figure 5 A flowchart schematically illustrates inputting multiple target feature data into a prediction model and obtaining a prediction time result output by the prediction model according to an embodiment of the present disclosure;
[0022] Figure 6 A flowchart schematically illustrates a method of training an initial model based on historical data information of multiple historical test cases to obtain a prediction model including multiple sub-models according to an embodiment of the present disclosure;
[0023] Figure 7 The flowchart of screening target features from all features and extracting a target data set from an initial data set based on the target features according to an embodiment of the present disclosure is schematically shown;
[0024] Figure 8 The following schematically shows a structural block diagram of a device for determining a project schedule according to an embodiment of the present disclosure;
[0025] Figure 9 The block diagram schematically shows an electronic device suitable for implementing the project schedule determination method according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0026] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are merely exemplary and are not intended to limit the scope of the present disclosure. In the detailed description below, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of well-known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.
[0027] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise," "include," etc. used herein indicate the presence of the features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.
[0028] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.
[0029] When expressions such as "at least one of A, B, and C, etc." are used, they should generally be interpreted in accordance with the meaning commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).
[0030] It should be noted that the project progress determination method and device provided in the embodiments of the present disclosure can be used in the field of financial technology technology, and can also be used in any field other than the financial field. The application field of the project progress determination method and device provided in the present disclosure is not limited.
[0031] Figure 1 The application scenario diagram of the project progress determination method, apparatus, device, medium and program product according to the embodiments of the present disclosure is schematically shown.
[0032] like Figure 1 As shown, the application scenario 100 according to this embodiment may include a first terminal device 101, a second terminal device 102, a third terminal device 103, a network 104, and a server 105. The network 104 is used as a medium for providing a communication link between the first terminal device 101, the second terminal device 102, the third terminal device 103, and the server 105. The network 104 may include various connection types, such as wired or wireless communication links or optical fiber cables.
[0033] A user may use a first terminal device 101, a second terminal device 102, or a third terminal device 103 to interact with a server 105 via a network 104 to receive or send messages, etc. Various communication client applications may be installed on the first terminal device 101, the second terminal device 102, or the third terminal device 103, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (for example only).
[0034] The first terminal device 101 , the second terminal device 102 , and the third terminal device 103 may be various electronic devices having display screens and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, desktop computers, and the like.
[0035] The server 105 may be a server that provides various services, such as a background management server (for example only) that supports websites browsed by users using the first terminal device 101, the second terminal device 102, and the third terminal device 103. The background management server may analyze and process received data such as user requests, and feed back processing results (e.g., web pages, information, or data obtained or generated based on user requests) to the terminal devices.
[0036] It should be noted that the project progress determination method provided in the embodiments of the present disclosure can generally be executed by the server 105. Accordingly, the project progress determination apparatus provided in the embodiments of the present disclosure can generally be set in the server 105. The project progress determination method provided in the embodiments of the present disclosure can also be executed by a server or server cluster that is different from the server 105 and can communicate with the first terminal device 101, the second terminal device 102, the third terminal device 103 and / or the server 105. Accordingly, the project progress determination apparatus provided in the embodiments of the present disclosure can also be set in a server or server cluster that is different from the server 105 and can communicate with the first terminal device 101, the second terminal device 102, the third terminal device 103 and / or the server 105.
[0037] It should be understood that Figure 1 The number of terminal devices, networks and servers in the embodiment is merely illustrative. Any number of terminal devices, networks and servers may be provided as required.
[0038] The following will be based on Figure 1 The scene described by Figures 2 to 7 A method for determining a project schedule in a disclosed embodiment is described in detail.
[0039] Figure 2 The flowchart of the project progress determination method according to the embodiment of the present disclosure is schematically shown.
[0040] like Figure 2 As shown, the project progress determination of this embodiment includes operations S210 to S250.
[0041] In operation S210 , a plurality of test case information in a target project is obtained.
[0042] In some embodiments, a project is generally composed of multiple test cases, and the progress of each test case directly reflects the development quality and completion status of the project.
[0043] For example, if the target project is a mobile banking transfer service test project, the project may include test cases such as overseas to mainland China transfers, domestic interbank transfers, and domestic cross-bank transfers. The project is considered complete only when all test cases are successfully executed and passed. If a test case lags due to some reason, the progress of the entire project will be hindered.
[0044] Test case information describing each test case in the target project can be exported from the test management platform. The test case information may include, for example, the project to which the test case belongs, the case name, the case type, the scale, etc.
[0045] In operation S220, corresponding target sub-models are selected from multiple sub-models in the prediction model based on the test case information, wherein the multiple sub-models perform predictions based on their respective feature combinations, and at least some features in different feature combinations are different.
[0046] In some embodiments, the prediction model can be a model for predicting the estimated time for each project. The prediction model can include multiple sub-models, which are constructed based on different feature combinations and are used to predict the test time of different test cases to determine the estimated time for each test case. Different test cases have different corresponding processing flows, so when predicting the test time of the test case, the factors affecting the completion time of the test case will also be different. Therefore, it is necessary to select the corresponding sub-model to predict the test case, so as to improve the prediction accuracy.
[0047] Suppose there are three sub-models for predicting test time. Sub-model 1 is built based on the number of applications involved in the transaction and whether a third-party joint debugging test environment is involved. This is suitable for test cases that are sensitive to transaction complexity and external dependencies, as tests involving more applications and third-party joint debugging may require more coordination and debugging time. Sub-model 2 is built based on the presence of new transactions and the risk level. This is suitable for scenarios that consider the impact of transaction innovation and risk on test time. New transactions may require more testing and verification, and high-risk transactions may require more rigorous testing processes.
[0048] For example, if test case A is "joint debugging test of online shopping platform and bank payment system", the number of applications involved in this test case is 2 and it involves joint debugging of online shopping platform and bank payment system, then the target sub-model of test case A should be sub-model 1.
[0049] In some embodiments, sub-models can include, for example, linear models (e.g., linear regression models, logistic regression models), tree models (e.g., decision tree models, random forest models), neural network models, and the like. During training, an appropriate model can be selected based on the characteristics of the training dataset. For example, if a linear relationship exists between features and the target variable and there are no multiple linear relationships between features, a linear model can be selected; if there is a certain degree of interaction between features, a tree model can be selected. The sub-models within the same prediction model can be the same or different, and those skilled in the art can select them based on actual circumstances. This is not a limitation here.
[0050] In operation S230 , target feature data corresponding to each test case is extracted according to the target sub-model.
[0051] In some embodiments, different sub-models correspond to different feature combinations. After determining the target sub-model for predicting the time usage of the test case, the required feature data is extracted from the test case according to the target sub-model.
[0052] Continuing with Test Case A as an example, since its target sub-model is suitable for test cases sensitive to transaction complexity and external dependencies, the characteristic data extracted from this test case may include the number of interface types, data transmission direction, and the stability of the online shopping platform. The greater the number of interface types, the more scenario data the test case needs to cover, and the number of scenarios required will affect testing time. For example, the payment request interface is responsible for transmitting user payment information, and the refund interface handles refunds. Data transmission directions can include unidirectional and bidirectional. Compared to unidirectional transmission, bidirectional transmission requires significantly more test steps and complexity, which also affects test case duration. The stability of the online shopping platform is directly related to the progress of continuous debugging testing. If the bank's payment system is unstable and frequently experiences failures or anomalies, the testing process will require more time waiting for system recovery, troubleshooting, and retesting.
[0053] In operation S240, multiple target feature data are input into the prediction model to obtain the predicted time result output by the prediction model; wherein the prediction model predicts the time of each test case based on each sub-model, and the predicted time result is determined based on the time of multiple test cases.
[0054] In some embodiments, the extracted target feature data is preprocessed to ensure that the data format meets the input requirements of the sub-model. For example, character-based features for one-way transmission and two-way transmission are converted to numerical features (e.g., "one-way transmission" is converted to 0, and "two-way transmission" is converted to 1). The preprocessed target feature data is input into the corresponding sub-model. The sub-model processes the input data according to its internal algorithms and parameters to obtain a test time prediction value for each test case. Based on the test time prediction value for each test case, the target project's test time prediction result is determined.
[0055] In operation S250 , progress information of the target project is determined based on the predicted duration result and current duration information of the target project.
[0056] Obtain the actual time taken for completed test cases in the target project, as well as the time taken for ongoing test cases, from the test management tool or project progress tracking system. Calculate the ratio of completed test cases to the total number of test cases. For ongoing test cases, calculate the average remaining time based on the predicted time and the elapsed time. Determine the progress of the project to be tested, such as "As of now, the test project is 50% complete, and the remaining test cases are expected to take an average of 2 days to complete."
[0057] In some embodiments, by comparing the number of days currently used for testing, test cases that exceed the predicted time and the set threshold will be marked with a "lag" label, and the remaining cases will be marked with a "normal" label. For test cases marked with a "lag" label, a prompt message will be sent to relevant personnel to remind them that the progress of the test case requires timely attention and processing.
[0058] The project progress determination method provided by the embodiment of the present disclosure can effectively improve the accuracy of the prediction of the test case time by splitting the target project into fine-grained test cases and predicting the expected completion time of each test case based on different sub-models and feature data. Different sub-models are constructed based on different feature combinations, which can better adapt to the characteristics of different test cases and more accurately capture the key factors affecting the test time, thereby improving the accuracy of the prediction. Each sub-model focuses on different features, and the targeted extraction of feature data of the test case avoids the interference of irrelevant information, allowing the model to focus on factors that have a substantial impact on the test time.
[0059] Figure 3 A flowchart of selecting a corresponding target sub-model from multiple sub-models in a prediction model based on test case information according to an embodiment of the present disclosure is schematically shown.
[0060] like Figure 3 As shown, the embodiment of selecting a corresponding target sub-model from multiple sub-models in the prediction model based on the test case information includes operations S310 to S320.
[0061] In operation S310, the test case information is matched with the applicable conditions of multiple sub-models according to predefined rules to determine the target sub-model; wherein the applicable conditions of the sub-model are determined according to the sub-model training process.
[0062] In some embodiments, the applicable conditions of the sub-model are determined based on the training process of the sub-model. During the training process, the training data can be divided into multiple subsets according to the business scenario or data characteristics, and each subset can be used to train the corresponding sub-model. For example, in a bank transfer system, the data set can be divided into an overseas to domestic transfer business data set and a domestic inter-bank transfer data set based on the business type. Correspondingly, the sub-models trained based on the different business type data sets can also be divided into: Sub-model 1 for predicting overseas to domestic transfer test cases, and Sub-model 2 for predicting domestic inter-bank transfer test cases. After the sub-model training is completed, the applicable conditions of each sub-model can be marked based on the training data characteristics or model capabilities of the sub-model.
[0063] In operation S320 , the similarity between the test case and the historical case is calculated based on the test case information, and the sub-model corresponding to the historical item with the highest similarity to the test case is determined as the target model.
[0064] In some embodiments, the target sub-model can also be selected based on the similarity between the current test case information and historical test cases. For example, the features of the current test case and historical test items can be represented as vectors, and similarity can be calculated using an appropriate similarity metric. The sub-model corresponding to the historical test case with the highest similarity can be selected as the target model.
[0065] The present disclosure can achieve flexible matching between test cases and sub-models in a variety of ways, so that each test case can be predicted based on the most suitable sub-model, thereby effectively improving the accuracy of test case time prediction.
[0066] Figure 4 The flowchart of extracting target feature data corresponding to each test case according to the target sub-model according to an embodiment of the present disclosure is schematically shown.
[0067] like Figure 4 As shown, the step of extracting target feature data corresponding to each test case according to the target sub-model in this embodiment includes operations S410 to S420.
[0068] In operation S410 , features to be extracted are determined according to the selected target sub-model.
[0069] In operation S420 , target feature data corresponding to the feature to be extracted is acquired from the test case; wherein the target feature data is data directly extracted from the test case or data calculated based on multiple data of the test case.
[0070] In some embodiments, different sub-models predict test case time based on different feature combinations. After determining the target sub-model, the features to be extracted can be determined based on the feature combination of the target sub-model, and the target feature data corresponding to the features to be extracted can be obtained from the current test case.
[0071] In some embodiments, target feature data is filtered out from the original feature data of the test case based on the determined features to be extracted.
[0072] For example, required feature data can be directly extracted from the test case, such as the test case type. However, some features that cannot be directly obtained can be calculated using multiple data points. For example, the elapsed time of a test case can be calculated by subtracting the test case start time from the current time.
[0073] Test cases may include numerous features, but not all of them are useful for the usage time prediction task. By selecting the most relevant features from the numerous test case features, we can avoid interference from irrelevant or redundant information during model prediction, effectively improving prediction accuracy. Furthermore, reducing the number of features can effectively reduce the computational complexity of the model and improve its efficiency.
[0074] Figure 5 The flowchart schematically shows a method of inputting multiple target feature data into a prediction model and obtaining a prediction time result output by the prediction model according to an embodiment of the present disclosure.
[0075] like Figure 5 As shown, in this embodiment, the steps of inputting a plurality of target feature data into the prediction model and obtaining the prediction time result output by the prediction model include operations S510 to S530.
[0076] In operation S510 , target feature data is preprocessed, and the preprocessed target feature data is input into a corresponding sub-model.
[0077] In some embodiments, after the target feature data is extracted, the target feature data can be
[0078] Perform data cleaning and data format conversion. Data cleaning can include, for example, removing duplicate values, detecting and handling outliers, and handling missing values. The cleaned data is then transformed according to the sub-model's requirements. For example, the cleaned model can be standardized (scaling the data to a distribution with a mean of 0 and a variance of 1) or normalized (scaling the data to the range [0, 1]) to eliminate the influence of different dimensions between features. For categorical features, encoding (such as one-hot encoding or label encoding) is performed to convert them into numerical form for model processing.
[0079] In operation S520 , the sub-models predict the duration of the test cases based on the input target feature data to obtain the duration of each test case.
[0080] In some embodiments, the preprocessed feature data is fed into each corresponding sub-model. Based on the input target feature data, each sub-model uses its internal learning mechanism and algorithm to predict the test case's duration. Each sub-model can independently perform calculations and reasoning, outputting its own prediction for the test case's duration.
[0081] Exemplarily, for multiple sub-models, each sub-model can process a test case separately. For example, sub-model 1 processes test case A and sub-model 2 processes test case B. It is also possible for multiple sub-models to process the same case simultaneously. For example, sub-model 1 and sub-model 2 process test case A simultaneously, where sub-model 1 and sub-model 2 predict the test time of test case A based on different dimensions respectively, and the predicted duration of test case 1 is determined by integrating the prediction results of sub-model 1 and sub-model 2.
[0082] In operation S530, based on the time used for each test case predicted by each sub-model, the predicted time result output by the prediction model is determined, where the predicted time result output by the prediction model includes the time used for each test case and the estimated completion time of the target project.
[0083] In some embodiments, the time used results of each test case predicted by each sub-model are collected, and the estimated completion time of the test project is determined according to the execution relationship between each test case and the time used result of each test case.
[0084] In a test project, there may be test cases that are executed in parallel and test cases that are executed serially. For example, the test cases can be divided into a parallel test case group and a serial test case sequence according to the execution dependency graph, the completion time of the parallel test case group and the completion time of the serial test case sequence are calculated respectively, and then the completion time of the test project is jointly calculated according to the completion time of the parallel test case group and the serial test case sequence. Among them, the execution dependency graph can reflect the association relationship between each test case in the test project. For example, only when test case A is tested and completed can test case B be started.
[0085] Exemplarily, for the parallel test case group, its completion time can be the maximum value of the predicted time used for all test cases in the group. For example, there are 3 parallel test cases in the parallel test case group, and their predicted time used are t1, t2, and t3 respectively, then the completion time T of this group
[0087] = max(t1, t2, t3). In addition, if there is a competition relationship between parallel resources (such as multiple test cases using the same test server simultaneously), the predicted time used can be appropriately adjusted. For example, according to historical data or experience, a resource competition coefficient k (0 < k ≤ 1) is assigned to each parallel test case, and the adjusted predicted time used is ti′ = ti / k, and then the completion time of this group is calculated according to the maximum value method.
[0086] For the serial test case sequence, its completion time can be the sum of the predicted time used for all test cases.
[0087] The estimated completion time of the target project can be the sum of the completion time of the parallel test case group and the completion time of the serial test case sequence.
[0088] The disclosed embodiment uses multiple sub-models to predict test cases. On the one hand, it can fully utilize the advantages of different models to make up for the limitations of a single model, thereby improving the accuracy of the prediction of test case time and test project time. On the other hand, splitting the test project into multiple more fine-grained test case times can help to carry out more refined project management and resource allocation, and provide more comprehensive prediction information. Determining the total test time of the test project based on the estimated test time of each test case can effectively improve the accuracy of the test project time prediction.
[0089] In some embodiments, operation S520 may further include operation S5201, in response to the existence of an association relationship between multiple test cases, when the sub-model predicts the duration of the test case, it adjusts the duration of the current test case based on the duration of the test case that has an association relationship with the current test case.
[0090] In some embodiments, some test cases may have associated interactions. For the currently predicted test case C, the execution dependency graph is searched for a set of associated test cases. The predicted durations (if the case has already been predicted) or actual durations (if the case has already been executed) of these associated test cases are obtained. The duration information of the associated test cases is then incorporated into the predicted duration of the current test case, adjusting the predicted duration of the current test case based on the duration information of the associated test cases.
[0091] The test project progress determination method according to the embodiment of the present disclosure may further include: operation S250, performing model training on the initial model based on historical data information of multiple historical test projects to obtain a prediction model including multiple sub-models.
[0092] Figure 6 The flowchart schematically shows a method of training an initial model based on historical data information of multiple historical test cases to obtain a prediction model including multiple sub-models according to an embodiment of the present disclosure.
[0093] like Figure 6 As shown, this embodiment performs model training on an initial model based on historical data information of multiple historical test cases to obtain a prediction model including multiple sub-models, including operations S610 to S630.
[0094] In operation S610 , historical data information of each type of historical test case in the historical test project is obtained respectively to obtain a plurality of initial data sets corresponding to the test case types, wherein the initial data sets include all features of each of the plurality of test cases.
[0095] In some embodiments, multiple historical test projects can be retrieved from a historical database and categorized based on test objectives, test objects, and test methods. Within each historical test project, test case types are further subdivided. For example, web application test projects can be categorized into functional test cases (e.g., user login, data query), performance test cases (e.g., concurrent user testing, response time testing), and compatibility test cases (e.g., browser compatibility testing). Relevant raw data for each type of historical test case is collected through multiple channels and cleaned to remove duplicate, erroneous, or incomplete data records. Data is then consolidated into multiple initial datasets based on test case type. Each initial dataset corresponds to a test case type and contains all the features of multiple test cases within that type. For example, an initial dataset for the "Domestic Mobile Banking Transfer Limit Self-Service Adjustment" test case might include features such as the test case name, case author, test case start date, test case completion date, transaction channel, tester level, whether a new transaction was added, required end-of-day batch size, whether a third-party joint debugging test environment was involved, whether a branch-specific transaction was involved, and the number of applications involved in the transaction.
[0096] In operation S620 , for each initial data set, target features are screened from all features, and target data sets are extracted from the initial data set according to the target features to obtain a plurality of target data sets corresponding to the project types.
[0097] In some embodiments, feature importance analysis is performed on all features in each initial dataset to analyze the correlation between each feature in the initial dataset and key indicators such as test case execution time and defect rate. For example, the correlation coefficient between each feature and the test case execution time is calculated. The larger the absolute value of the correlation coefficient, the stronger the correlation between the feature and the execution time.
[0098] Based on the results of feature importance analysis, target features are determined for each data set, and corresponding data is extracted from the initial data set to form a target data set. Each target data set only contains the target features and key indicators (such as time, defect rate, etc.) of the corresponding test case type, removing irrelevant or redundant features to improve data quality and model training efficiency. For example, the target features of the "Domestic Mobile Banking Transfer Limit Self-Service Adjustment" test case may include test execution time, whether new transactions are added, the required end-of-day batch size, whether a third-party joint debugging test environment is involved, whether it is a branch-specific transaction, and the number of applications involved in the transaction.
[0099] In operation S630 , the initial model is trained based on the multiple target data sets to obtain a prediction model including multiple sub-models.
[0100] In some embodiments, a suitable initial model is selected based on the characteristics of the target dataset and the prediction requirements. Each target dataset is divided into a training set and a test set. The initial model is trained using the training set, and the model parameters are adjusted and optimized using the test set.
[0101] For example, taking the random forest regression model as the initial model, the important parameters of this model include the number of trees, the maximum number of features, the maximum tree depth, and the minimum number of node samples. 70% of the target dataset is used as the training set, and 30% of the target dataset is used as the test set. The model parameters are tuned by plotting a learning curve. The parameter is the number of trees, and the horizontal axis is set to the parameter value range of (10, 60, 5). The vertical axis has the mean absolute error (MAE) value (|case prediction execution time - case actual execution time|). The minimum MAE value and its corresponding value for the "number of trees" parameter are output as the optimal parameter.
[0102] After training is complete, multiple sub-models are integrated to form a prediction model that includes multiple sub-models. In practice, the corresponding sub-model is selected for prediction based on the test case type. For example, when a duration prediction is required for a functional test case, the sub-model corresponding to the functional test case is called for prediction.
[0103] The disclosed embodiments categorize historical test data by test case and construct a target dataset and train sub-models for each type. This allows each sub-model to focus on learning the characteristics and patterns of a specific test case type, better capturing the differences between different test cases and improving prediction accuracy. Furthermore, when constructing the dataset, target feature filtering is employed to remove irrelevant or redundant features, helping to reduce model noise, improve the model's generalization capabilities, and further enhance prediction accuracy.
[0104] Figure 7 The flowchart of screening target features from all features and extracting a target data set from an initial data set based on the target features according to an embodiment of the present disclosure is schematically shown.
[0105] like Figure 7 As shown, the embodiment of the present invention selects target features from all features and extracts the target data set from the initial data set according to the target features, including operations S710 to S730. Figure 7 Operations S710 to S730 are shown.
[0106] In operation S710, the historical time of the historical test case is determined as the target variable, and the feature coefficient of each feature of the historical test case is calculated based on the regularization coefficient, wherein the regularization coefficient is used to constrain the feature coefficient, and the feature coefficient is used to reflect the degree of influence of the feature on the target variable.
[0107] In some embodiments, the feature coefficient is used to represent the degree of influence of the feature on the target variable. Different types of features may have different calculation functions for their feature coefficients. For example, for a numerical feature and a numerical target variable, the correlation coefficient between the two can be calculated based on the Pearson correlation coefficient. For categorical features, a chi-square test can be used to measure the degree of association between the feature and the target variable. The present disclosure superimposes a regularization coefficient on the calculation function and jointly determines the feature coefficient of each feature based on the calculation function and the regularization coefficient.
[0108] The regularization coefficient constrains the calculated feature coefficients. It applies a "compression pressure" to each feature's coefficient. When the regularization coefficient is large, this "pressure" forces some feature coefficients to decrease. For features with a smaller impact on the target variable, their coefficients are more likely to be compressed to zero. A feature with a coefficient of 0 is considered ineffective at influencing the target variable, while a feature with a non-zero coefficient is considered the target feature.
[0109] In some embodiments, the regularization coefficient can be obtained by training the Lasso model with an initial data set. The Lasso model is trained by inputting the initial data set into the Lasso model. During the training process, the Lasso algorithm automatically adjusts the size of the regularization coefficient according to the characteristics of the initial data set itself, for example, by using a grid search algorithm to traverse different regularization parameter λ values to find the optimal regularization parameter. λ controls the complexity of the model and the strength of feature selection. The larger λ is, the stronger the penalty for feature coefficients, and more feature coefficients will be compressed to 0, thereby selecting fewer features; the smaller λ is, the weaker the penalty for feature coefficients, and the model will retain more features. The Lasso model is trained using initial data sets of different types of test cases, and different regularization coefficients are obtained, thereby achieving automatic screening of target features of different types of test cases.
[0110] In operation S720, target feature information is determined according to the value of the feature coefficient.
[0111] In some embodiments, features that have less impact on the target variable will be more easily compressed to 0 after the regularization coefficient is calculated. Therefore, the target feature information can be directly determined based on the value of the feature coefficient. The target feature information is the feature whose feature coefficient is not 0.
[0112] In operation S730 , a target data set is extracted from the initial data set based on the target feature information.
[0113] In some embodiments, based on the selected target feature information, columns corresponding to these target features are filtered from the initial dataset. This filtered data constitutes the target dataset. This target dataset, serving as input for subsequent model training, contains only feature data and target variable data that have a significant impact on predicting the target variable, removing irrelevant or redundant features, thereby improving the efficiency of subsequent model training and the accuracy of predictions.
[0114] The target data also needs to retain the target variable (historical time) column. For example, if the target feature information includes the number of lines of code, the amount of test data, and the number of years of tester experience, then these three columns of data and the historical time column should be filtered out from the initial dataset.
[0115] The disclosed embodiment determines target features based on the regularization coefficient, enabling automatic screening of important features, reducing manual intervention, and improving the accuracy of target feature screening. Compared to the traditional method of first calculating the correlation coefficient and then screening features based on a preset number of features, the disclosed method, which calculates the correlation coefficient based on the regularization coefficient, can automatically screen features based on the characteristics of the data itself, avoiding the subjectivity and uncertainty of manual screening.
[0116] Based on the above project progress determination method, the present disclosure also provides a project progress determination device. Figure 8 The device is described in detail.
[0117] Figure 8 The following schematically shows a structural block diagram of a device for determining a project schedule according to an embodiment of the present disclosure.
[0118] like Figure 8 As shown, the project progress determination device 800 of this embodiment includes a first acquisition module 810 , a selection module 820 , an extraction module 830 , a second acquisition module 840 and a determination module 850 .
[0119] The first acquisition module 810 is used to acquire a plurality of test case information in the target project. In one embodiment, the first acquisition module 810 can be used to perform the operation S210 described above, which will not be described in detail here.
[0120] Selection module 820 is configured to select a corresponding target sub-model from multiple sub-models in the prediction model based on the test case information, wherein the multiple sub-models each perform predictions based on their own feature combinations, where at least some features differ between different feature combinations. In one embodiment, selection module 820 may be configured to perform operation S220 described above, and will not be further described here.
[0121] The extraction module 830 is used to extract target feature data corresponding to each test case according to the target sub-model. In one embodiment, the extraction module 830 can be used to perform the operation S230 described above, which will not be repeated here.
[0122] Second acquisition module 840 is configured to input multiple target feature data into the prediction model and obtain a predicted duration result output by the prediction model. The prediction model predicts the duration of each test case based on each sub-model, and the predicted duration result is determined based on the durations of multiple test cases. In one embodiment, second acquisition module 840 can be configured to perform operation S240 described above and will not be further described here.
[0123] The determination module 850 is used to determine the progress information of the target project to be measured based on the predicted time result and the current time information of the target project. In one embodiment, the determination module 850 can be used to perform the operation S250 described above, which will not be repeated here.
[0124] According to embodiments of the present disclosure, any multiple of the first acquisition module 810, selection module 820, extraction module 830, second acquisition module 840, and determination module 850 may be combined into a single module, or any one of these modules may be split into multiple modules. Alternatively, at least part of the functionality of one or more of these modules may be combined with at least part of the functionality of other modules and implemented in a single module. According to embodiments of the present disclosure, at least one of the first acquisition module 810, selection module 820, extraction module 830, second acquisition module 840, and determination module 850 may be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application-specific integrated circuit (ASIC), or may be implemented in hardware or firmware through any other reasonable means of circuit integration or packaging, or may be implemented in any one of software, hardware, and firmware, or any appropriate combination of any of these. Alternatively, at least one of the first acquisition module 810 , the selection module 820 , the extraction module 830 , the second acquisition module 840 and the determination module 850 may be at least partially implemented as a computer program module, which may perform corresponding functions when executed.
[0125] Figure 9 The block diagram schematically shows an electronic device suitable for implementing the project schedule determination method according to an embodiment of the present disclosure.
[0126] like Figure 9As shown, the electronic device 900 according to an embodiment of the present disclosure includes a processor 901, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 902 or a program loaded from a storage unit 908 into a random access memory (RAM) 903. The processor 901 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or a related chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 901 may also include onboard memory for caching purposes. The processor 901 may include a single processing unit or multiple processing units for performing different actions of the method flow according to the embodiment of the present disclosure.
[0127] Various programs and data required for the operation of the electronic device 900 are stored in the RAM 903. The processor 901, the ROM 902, and the RAM 903 are connected to each other via a bus 904. The processor 901 executes the various operations of the method flow according to the embodiment of the present disclosure by executing the programs in the ROM 902 and / or the RAM 903. It should be noted that the programs may also be stored in one or more memories other than the ROM 902 and the RAM 903. The processor 901 may also execute the various operations of the method flow according to the embodiment of the present disclosure by executing the programs stored in the one or more memories.
[0128] According to an embodiment of the present disclosure, electronic device 900 may further include an input / output (I / O) interface 905, which is also connected to bus 904. Electronic device 900 may also include one or more of the following components connected to I / O interface 905: an input section 906 including a keyboard, mouse, etc.; an output section 907 including devices such as a cathode ray tube (CRT), liquid crystal display (LCD), and speakers; a storage section 908 including a hard disk; and a communication section 909 including a network interface card such as a LAN card or modem. Communication section 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to I / O interface 905 as needed. Removable media 911, such as a magnetic disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed in drive 910 as needed, so that computer programs read from the removable media can be installed into storage section 908 as needed.
[0129] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments, or may exist independently and not be incorporated into the device / apparatus / system. The computer-readable storage medium carries one or more programs, and when executed, implements the method according to the embodiments of the present disclosure.
[0130] According to an embodiment of the present disclosure, a computer-readable storage medium may be a non-volatile computer-readable storage medium, and may include, for example, but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. For example, according to an embodiment of the present disclosure, a computer-readable storage medium may include the ROM 902 and / or RAM 903 described above, and / or one or more memories other than ROM 902 and RAM 903.
[0131] The embodiments of the present disclosure also include a computer program product, which includes a computer program containing program code for executing the method shown in the flowchart. When the computer program product is executed in a computer system, the program code is used to enable the computer system to implement the project schedule determination method provided by the embodiments of the present disclosure.
[0132] The computer program executes the above functions defined in the system / device of the embodiment of the present disclosure when the processor 901 executes the computer program. According to the embodiment of the present disclosure, the system, device, module, unit, etc. described above can be implemented by a computer program module.
[0133] In one embodiment, the computer program may be stored on a tangible storage medium such as an optical storage device or a magnetic storage device. In another embodiment, the computer program may be transmitted and distributed in the form of a signal on a network medium, downloaded and installed via the communication portion 909, and / or installed from a removable medium 911. The program code contained in the computer program may be transmitted using any appropriate network medium, including but not limited to wireless, wired, or any suitable combination thereof.
[0134] In such an embodiment, the computer program can be downloaded and installed from a network via the communication section 909, and / or installed from a removable medium 911. When the computer program is executed by the processor 901, the above-described functions defined in the system of the embodiment of the present disclosure are performed. According to the embodiment of the present disclosure, the systems, devices, means, modules, units, etc. described above can be implemented by computer program modules.
[0135] According to an embodiment of the present disclosure, the program code for executing the computer program provided by the embodiment of the present disclosure can be written in any combination of one or more programming languages. Specifically, these computer programs can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include, but are not limited to, languages such as Java, C++, Python, "C" or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, using an Internet service provider to connect via the Internet).
[0136] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the above-mentioned module, program segment, or a part of code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0137] Those skilled in the art will appreciate that the features described in the various embodiments of the present disclosure may be combined and / or coupled in various ways, even if such combinations or couplings are not explicitly described in the present disclosure. In particular, the features described in the various embodiments of the present disclosure may be combined and / or coupled in various ways without departing from the spirit and teachings of the present disclosure. All such combinations and / or couplings fall within the scope of the present disclosure.
[0138] The above describes the embodiments of the present disclosure. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although each embodiment has been described separately above, this does not mean that the measures in each embodiment cannot be advantageously used in combination. Without departing from the scope of the present disclosure, those skilled in the art may make various substitutions and modifications, which should all fall within the scope of the present disclosure.
Claims
1. A method for determining a project schedule, characterized in that: The method comprises: Get multiple test case information in the target project; Selecting corresponding target sub-models from a plurality of sub-models in the prediction model based on the test case information, respectively, wherein the plurality of sub-models perform predictions based on respective feature combinations, and at least some features in the different feature combinations are different; Extract target feature data corresponding to each test case according to the target sub-model; Inputting the plurality of target feature data into the prediction model to obtain a predicted time result output by the prediction model; wherein the prediction model predicts the time of each test case based on each sub-model, and the predicted time result is determined based on the time of the plurality of test cases; The progress information of the target project is determined based on the predicted time result and the current time information of the target project.
2. The project progress determination method according to claim 1, characterized in that: The selecting a corresponding target sub-model from a plurality of sub-models in the prediction model based on the test case information respectively includes at least one of the following: Matching the test case information with the applicable conditions of the multiple sub-models according to predefined rules to determine a target sub-model; wherein the applicable conditions of the sub-model are determined according to the sub-model training process; The similarity between the test case and the historical case is calculated based on the test case information, and the sub-model corresponding to the historical item with the highest similarity to the test case is determined as the target model.
3. The project progress determination method according to claim 1, characterized in that: The extracting target feature data corresponding to each test case according to the target sub-model includes: Determine the features to be extracted based on the selected target sub-model; Target feature data corresponding to the feature to be extracted is obtained from the test case; wherein the target feature data is data directly extracted from the test case or data calculated based on multiple data of the test case.
4. The project progress determination method according to claim 1, characterized in that: Inputting the plurality of target feature data into the prediction model and obtaining a prediction time result output by the prediction model includes: Preprocessing the target feature data and inputting the preprocessed target feature data into the corresponding sub-model; The sub-models predict the duration of the test cases based on the input target feature data to obtain the duration of each test case; Based on the time taken for each test case predicted by each sub-model, the predicted time result output by the prediction model is determined, wherein the predicted time result output by the prediction model includes the time taken for each test case and the estimated completion time of the target project.
5. The project progress determination method according to claim 4, characterized in that: The sub-models predict the time of the test cases based on the input target feature data to obtain the time of each test case, including: In response to the association relationship between the multiple test cases, when predicting the duration of the test case, the sub-model adjusts the duration of the current test case based on the duration of the test case associated with the current test case.
6. The project schedule determination method according to claim 1, further comprising: The initial model is trained based on historical data information of multiple historical test cases to obtain a prediction model including multiple sub-models.
7. The project progress determination method according to claim 6, wherein the initial model is trained based on historical data information of multiple historical test cases to obtain a prediction model including multiple sub-models, including: Respectively acquiring historical data information of each type of historical test case in the historical test project to obtain a plurality of initial data sets corresponding to the test case type, wherein the initial data sets include all features of each of the plurality of test cases; For each initial data set, screening target features from all the features, and extracting target data sets from the initial data set according to the target features, to obtain multiple target data sets corresponding to the test case type; The initial model is trained based on the multiple target data sets respectively to obtain a prediction model including multiple sub-models.
8. The project progress determination method according to claim 7, wherein said screening target features from all features and extracting a target data set from the initial data set according to the target features comprises: For each initial dataset, perform the following operations: Determine the historical duration of the historical test case as a target variable, and calculate a feature coefficient for each feature of the historical test case based on a regularization coefficient, wherein the feature coefficient is used to reflect the degree of influence of the feature on the target variable, and the regularization coefficient is used to constrain the feature coefficient; Determining target feature information according to the value of the feature coefficient; extracting a target data set from the initial data set based on the target feature information; Among them, the regularization coefficients of different initial data sets are different.
9. A device for determining project progress, characterized in that: The device comprises: The first acquisition module is used to obtain multiple test case information in the target project; a selection module, configured to select a corresponding target sub-model from a plurality of sub-models in the prediction model based on the test case information, wherein the plurality of sub-models perform predictions based on respective feature combinations, and at least some features in the different feature combinations are different; An extraction module, configured to extract target feature data corresponding to each test case according to the target sub-model; a second acquisition module, configured to input the plurality of target feature data into the prediction model and obtain a predicted time result output by the prediction model; wherein the prediction model predicts the time of each test case based on each sub-model, and the predicted time result is determined based on the times of the plurality of test cases; A determination module is used to determine the progress information of the target project based on the predicted time result and the current time information of the target project.
10. An electronic device comprising: one or more processors; a memory for storing one or more computer programs, It is characterized in that the one or more processors execute the one or more computer programs to implement the steps of the method according to any one of claims 1 to 8.
11. A computer-readable storage medium having a computer program or instruction stored thereon, characterized in that: When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.
12. A computer program product comprising a computer program or instructions, characterized in that When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.