CN111861012A - Test task execution time prediction method and optimal execution node selection method - Google Patents

Test task execution time prediction method and optimal execution node selection method Download PDF

Info

Publication number
CN111861012A
CN111861012A CN202010717167.5A CN202010717167A CN111861012A CN 111861012 A CN111861012 A CN 111861012A CN 202010717167 A CN202010717167 A CN 202010717167A CN 111861012 A CN111861012 A CN 111861012A
Authority
CN
China
Prior art keywords
test
execution time
node
task
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010717167.5A
Other languages
Chinese (zh)
Inventor
赵靖荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orca Data Technology Xian Co Ltd
Original Assignee
Orca Data Technology Xian Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orca Data Technology Xian Co Ltd filed Critical Orca Data Technology Xian Co Ltd
Priority to CN202010717167.5A priority Critical patent/CN111861012A/en
Publication of CN111861012A publication Critical patent/CN111861012A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis

Abstract

The invention discloses a test task execution time prediction method and an optimal execution node selection method, which comprise the following steps: acquiring a job file of a test task; extracting an execution component from the job file, and generating a first execution time of the execution component; extracting a test case from the file, and generating a second execution time according to the test case; according to the first execution time and the second execution time, determining the predicted execution time of the task to be tested on the test node; according to the invention, the polynomial regression algorithm of the machine learning algorithm is applied to the test nodes as the time prediction model, so that each test node of the automatic test framework has the capability of predicting the execution time of the test task, and finally, the test node with the shortest test task operation time is selected for execution.

Description

Test task execution time prediction method and optimal execution node selection method
Technical Field
The invention belongs to the technical field of automatic testing, and particularly relates to a test task execution time prediction method and an optimal execution node selection method.
Background
The automated testing generally refers to the automation of software testing, in which a system or an application program is run under a preset condition, and a running result is evaluated, and the preset condition includes a normal condition and an abnormal condition. Automated testing frameworks have been widely used in software testing and provide efficient quality assurance for software products. The earlier test results are obtained, the earlier a developer can discover and solve problems.
When a control node in an automated testing framework receives a testing request sent by a client, how to select a testing node to execute the test is two typical modes at present, wherein the first mode adopts a circulating mode, and all the testing nodes are called in sequence; another way is for the user to specify the test node to use in the request.
The two modes have a common disadvantage that the control node only distributes test tasks to each test node, and the test tasks are difficult to test by selecting the most suitable test node from all the test nodes, so that the completion time of the test tasks is too long, and the time for finding and repairing the software product problems is influenced.
Disclosure of Invention
The invention aims to provide a test task execution time prediction method and an optimal execution node selection method, which are used for reasonably distributing test nodes for test tasks by predicting the predicted execution time of the test tasks on the test nodes.
The invention adopts the following technical scheme: a method for predicting test task execution time in an automatic test is characterized in that the method is applied to a test node in an automatic test framework and comprises the following steps:
acquiring a job file of a test task;
extracting an execution component from the job file, and generating a first execution time of the execution component; wherein the execution component is composed of a plurality of execution steps with fixed execution time;
extracting a test case from the operation file, and generating a second execution time according to the test case; the second execution time is the execution time of the test case in the job file on the test node;
and determining the predicted execution time of the task to be tested on the test node according to the first execution time and the second execution time.
Further, after determining the predicted execution time of the task to be tested on the test node, the method further includes:
and accumulating the predicted execution time and the existing execution task completion time of the test node to generate the predicted completion time of the task to be tested on the test node.
Further, generating the second execution time according to the test case includes:
extracting a plurality of scale parameters of each test case to be executed;
generating the predicted execution time of each test case to be executed on the test node based on the trained time prediction model by taking a plurality of scale parameters of each test case to be executed as input values;
and accumulating the predicted execution time of all the to-be-tested execution cases in the to-be-executed task to obtain a second execution time.
Further, the trained time prediction model is a machine learning-based polynomial regression algorithm estimation model, which specifically comprises:
Y=a+b1*X1+b2*X2+...+bn*Xn,
y is the predicted execution time of the test case on the test node, X1, X2, … and Xn are scale parameters of the test case, a, b1, b2, … and bn are coefficients in a time prediction model, and the test case is obtained through training of a plurality of known data sets.
The other technical scheme of the invention is as follows: a test task execution time prediction device in an automated test is applied to a test node in an automated test framework and comprises the following components:
the first acquisition module is used for acquiring a job file of the test task;
the first generation module is used for extracting the execution component from the job file and generating first execution time of the execution component; wherein the execution component is composed of a plurality of execution steps with fixed execution time;
the second generation module is used for extracting the test case from the operation file and generating second execution time according to the test case; the second execution time is the execution time of the test case in the job file on the test node;
and the first determining module is used for determining the execution time of the task to be tested on the testing node according to the first execution time and the second execution time.
The other technical scheme of the invention is as follows: a device for predicting the execution time of a test task in an automatic test comprises a memory, a processor and a computer program which is stored in the memory and can run on the processor, wherein when the processor executes the computer program, the method for predicting the execution time of the test task in the automatic test in any one of the technical schemes of the method is realized.
The other technical scheme of the invention is as follows: a method for selecting an optimal execution node in an automatic test is applied to a control node in an automatic test framework, and specifically comprises the following steps:
acquiring a job file of a task to be tested;
sending the operation file to each test node; the job file is used for the test node to predict the predicted execution time of the task to be tested on the test node;
receiving the return information of each test node; the return information comprises the predicted execution time of the task to be tested on the corresponding test node;
determining the predicted completion time of the task to be tested on the test node according to the predicted execution time;
and selecting the test node corresponding to the earliest predicted completion time as the optimal execution node of the task to be tested.
Further, the step of predicting the predicted execution time of the task to be tested on the test node by the test node comprises the following steps:
acquiring a job file of a test task;
extracting an execution component from the job file, and generating a first execution time of the execution component; wherein the execution component is composed of a plurality of execution steps with fixed execution time;
extracting a test case from the operation file, and generating a second execution time according to the test case; the second execution time is the execution time of the test case in the job file on the test node;
and determining the predicted execution time of the task to be tested on the test node according to the first execution time and the second execution time.
Further, determining the predicted completion time of the task to be tested on the test node according to the predicted execution time includes:
and accumulating the predicted execution time and the existing execution task completion time of the test node to generate the predicted completion time of the task to be tested on the test node.
The other technical scheme of the invention is as follows: an execution node selection device in an automated test is applied to a control node in an automated test framework, and specifically comprises:
the second acquisition module is used for acquiring the job file of the task to be tested;
the sending module is used for sending the job file to each test node; the job file is used for the test node to predict the predicted execution time of the task to be tested on the test node;
the receiving module is used for receiving the return information of each test node; the return information comprises the predicted execution time of the task to be tested on the corresponding test node;
the second determining module is used for determining the predicted completion time of the task to be tested on the testing node according to the predicted execution time;
and the selection module is used for selecting the test node corresponding to the earliest predicted completion time as the optimal execution node of the task to be tested.
The invention has the beneficial effects that: according to the method, the machine learning algorithm polynomial regression algorithm is applied to the test nodes to serve as the time prediction model, so that each test node of the automatic test framework has the capability of predicting the execution time of the test task, the test node with the shortest test task operation time is finally selected to execute the task, and after the test nodes execute the test task, the time prediction model is updated by using actual information as a training set, the precision of the time prediction model is higher and higher, and the precision of the test nodes in predicting the execution time of the test task is improved.
Drawings
FIG. 1 is a schematic diagram of a typical automated test framework workflow of the prior art;
FIG. 2 is a flowchart illustrating a method for predicting test task execution time during an automated test according to an embodiment of the invention;
FIG. 3 is a block diagram of an apparatus for predicting test task execution time in an automated test according to an embodiment of the present invention;
FIG. 4 is a schematic diagram illustrating an apparatus for predicting test task execution time in an automated test according to an embodiment of the present invention;
FIG. 5 is a flowchart of a method for selecting an optimal execution node in an automated test according to an embodiment of the present invention;
FIG. 6 is a block diagram illustrating an exemplary embodiment of an apparatus for selecting an optimal execution node in an automated test;
FIG. 7 is a flowchart illustrating predicted execution time of a test task according to an embodiment of the present invention.
Detailed Description
The present invention will be described in detail below with reference to the accompanying drawings and specific embodiments.
The automated testing framework is a framework applied to automated testing. By definition of the framework, the automated testing framework either provides a reusable base automated testing module, such as: selenium, watir, etc., which mainly provide the most basic automated testing functions, such as opening a program, simulating a mouse and a keyboard to click or operate a tested object, and finally verifying the properties of the tested object to judge the correctness of the program. Or architectural modules that can provide automated test execution and management functions, such as: the PhoenixFramework, robot, STAF and the like do not provide basic automated test support, are only used for organizing, managing and executing independent automated test cases, count test results after the test is completed, and return the test results to the client.
As shown in fig. 1, in the conventional automated testing framework, there are a control node and a plurality of testing nodes. The control node is the center of the test framework and is responsible for receiving test requests sent from a plurality of clients and informing the corresponding clients of the final test result after the test task is finished.
The real test task is run on the test nodes, and each test node has different configurations and performance conditions, such as different CPU models, different memory sizes, different performance parameter settings, and the like. At present, after a control node receives a test request, the control node does not have the capability of finding a test node which can enable the task to be completed more quickly from a plurality of test nodes. Thus, it is unreasonable to choose the logic of the test nodes to perform the test tasks, which are likely to be distributed to a test node that requires more time to complete.
Through the analysis of the implementation mode of selecting the test node for the test task by the current control node, the reason that the task cannot be reasonably distributed can be clearly understood, and the control node cannot select an optimal test node to enable the test task to be completed as early as possible because the control node does not know the idle time point of each test node and the time required by the test task to be executed on each test node.
Therefore, according to the existing automated testing framework, the current implementation has the following disadvantages:
1. without a job scheduler, jobs are distributed randomly to test nodes for execution in an unreasonable manner.
2. Resources are wasted, including waste of time, labor, and hardware.
3. The time to find a test task problem is delayed, thereby affecting bug fix time.
The test case (TestCase) refers to the description of a test task for a specific software product, and embodies test schemes, methods, techniques and strategies. The contents of the test object, the test environment, the input data, the test steps, the expected results, the test scripts and the like are included, and finally, a document is formed. Simply considered, a test case is a set of test inputs, execution conditions, and expected results tailored for a particular purpose to verify whether a particular software requirement is met.
The invention provides a method for realizing intelligent distribution of test tasks by utilizing machine learning in an automatic test framework to better support automatic software integration test.
The invention can train each test node according to the real automatic test case execution historical data set with different parameters and different configurations in the test task by using a machine learning algorithm. In this way, each test node may learn step by step to predict the time required for each test case in a new test task to execute on. The time required for the task currently executing on the node is then added to predict the completion time of the new task on it. When a new test task is sent to the control node, it will send a message to each test node asking each test node for the predicted completion time of the new task, and then select the test node that needs the shortest time to execute the task.
An embodiment of the present invention discloses a method for predicting test task execution time in an automated test, which is applied to a test node in an automated test framework, as shown in fig. 1, and includes the following steps:
s110, acquiring a job file of the test task;
s120, extracting an execution component from the job file, and generating a first execution time of the execution component; wherein the execution component is composed of a plurality of execution steps with fixed execution time;
s130, extracting a test case from the job file, and generating a second execution time according to the test case; the second execution time is the execution time of the test case in the job file on the test node;
and S140, determining the predicted execution time of the task to be tested on the test node according to the first execution time and the second execution time.
According to the method, the machine learning algorithm polynomial regression algorithm is applied to the test nodes to serve as the time prediction model, so that each test node of the automatic test framework has the capability of predicting the execution time of the test task, the test node with the shortest test task operation time is finally selected to execute the task, and after the test nodes execute the test task, the time prediction model is updated by using actual information as a training set, the precision of the time prediction model is higher and higher, and the precision of the test nodes in predicting the execution time of the test task is improved.
For the execution component, in the end-to-end test, one task may include operating system installation, product installation, third-party software installation and execution of multiple test cases, and the execution component is composed of execution steps of operating system installation, product installation, third-party software installation and the like, and time can be calculated in advance.
The following procedural principle framework exposes one possible test task description file (i.e., job file). The first three items generally have fixed execution times (i.e., execution steps), so when these items are included in the test task, these preset times can be directly added.
Figure BDA0002598629140000081
Figure BDA0002598629140000091
More specifically, after determining the predicted execution time of the task to be tested on the test node, the method further includes:
and accumulating the predicted execution time and the existing execution task completion time of the test node to generate the predicted completion time of the task to be tested on the test node.
By combining the deadline of the current task on the test node and the predicted execution time of the task to be tested, the completion time of each test node for executing the test task can be accurately estimated, and the predicted execution times of the test nodes can be compared more intuitively and accurately.
In this embodiment, generating the second execution time according to the test case includes:
extracting a plurality of scale parameters of each test case to be executed; and generating the predicted execution time of the test case to be executed on the test node based on the trained time prediction model by taking the scale parameters of each test case to be executed as input values.
In this embodiment, since the execution predicted execution time of the test case is related to the scale parameters, such as the number of file systems to be created, the size of each file system, the size of the space to be written in the file system, and the like, the predicted execution time of the test case on the node can be accurately estimated only by extracting a plurality of scale parameters of the test case.
In the embodiment of the invention, only the parameters related to the size need to be considered when predicting the execution time of the automation use case according to the parameters. For example: there is an automated test case named "create _ file system _ and _ write _ data", whose execution can be described simply as creating multiple file systems and then writing data on them. Among these, the following parameters may be the parameters related to the scale:
"NumOfFs" is used to specify the number of file systems to be created.
"SizeOfFs" is used to specify the size of each file system.
"DataPercentage" is used to specify the size of the space in the file system where data is to be written.
In addition, in this embodiment, the trained time prediction model is a machine learning-based polynomial regression algorithm estimation model, which specifically includes:
Y=a+b1*X1+b2*X2+...+bn*Xn,
y is the predicted execution time of the test case on the test node, X1, X2, … and Xn are scale parameters of the test case, a, b1, b2, … and bn are coefficients in a time prediction model, and the test case is obtained through training of a plurality of known data sets.
Polynomial regression is one of the machine learning algorithms, whose main objective is to find the relationship between several independent predictor variables and one dependent or standard variable by learning. For example, the real estate agent can use the algorithm to obtain a prediction model for predicting the house price according to the area (in square meters) of each set of houses, the number of bedrooms, the average income of the communities where the real estate agent is located, which is obtained according to census data, and the judgment conditions such as subjective evaluation on the attraction of the houses. The goal of embodiments of the present invention is to perform an algorithm, such as a stochastic gradient descent, to obtain the regression coefficients a, b1, b2, …, bn on a training set of real experimental data. In practical application, in the model, input data X1, X2, …, Xn are a set of parameters related to the size of the test case, and output data is the execution time required by the test task on the test node.
The training set to be used by the algorithm can be constructed as follows: for each valid value of a parameter, if a number, it can be used directly. Otherwise, it needs to be converted to a numerical value for ease of implementation. For example, the effective values of the parameter "configuration scale" are small, medium, and big, and are represented by 1, 2, and 3, respectively, so that the training set is shown in the following table:
Figure BDA0002598629140000111
each time the test node receives a query message with a job file from the control node, it will parse the job file. For components with relatively fixed execution times, it will use a preset time, for automated test cases, it will cycle through the list of cases and use the regression coefficients a, b1, b2, …, bn from the existing training set and bring in the new parameter values in the test case to predict the time required for each test case. And adding all the time values to obtain the sum of the time required by the test task on a certain test node.
The following pseudo code shows how the gradient descent method is used in a polynomial regression algorithm to calculate the coefficients for an automated test case from historical data in the training set.
Figure BDA0002598629140000112
Figure BDA0002598629140000121
As shown in FIG. 7, a specific workflow on a test node is shown. When a test node receives a message (namely a job file) from a control node, the task file is analyzed, whether the test task needs to install an operating system is judged firstly, if the operating system needs to be installed, preset information in the test node is called, and the time needed for installing the operating system is extracted. If the operating system does not need to be installed, sequentially judging whether the product to be tested needs to be installed or not and whether the third-party software product needs to be installed or not, and in the same way, when the product needs to be installed, extracting the time corresponding to installation and adding the time into the sum of the time for executing the task, and if the time is not needed, continuously executing the following steps.
And after the fixed execution step is detected to be required to be installed or not, the test cases are judged, the execution time of each test case is predicted based on a machine learning algorithm and added to the time sum of the executed tasks, after all the test cases are calculated, the time sum of the executed tasks is packaged and sent to the control node, and then the control node can judge which test node is more reasonably allocated to the current task to be tested according to the received predicted time of each test node.
The embodiment provides that a polynomial regression algorithm is utilized to realize automatic intelligent distribution of a test task among a plurality of test nodes in an automatic test framework, so that the test task is completed most quickly. The whole learning process does not need manual intervention of a user; and along with the execution of the test task, the test node can continuously learn, and the prediction precision is improved. Software integration testing is better supported by assigning testing tasks to run out most quickly.
The embodiment provides the following main advantages that intelligent allocation of test tasks is realized by machine learning in an automatic test framework to better support software integration test:
1. and distributing the task to the most appropriate test node so as to complete the task as soon as possible.
2. Time is saved. The user does not need to wait for unnecessary additional time.
3. No manual action is required in predicting time because the test node can learn constantly through each task and become more and more accurate.
Another embodiment of the present invention is an apparatus for predicting test task execution time in an automated test, applied to a test node in an automated test framework, as shown in fig. 3, including:
a first obtaining module 210, configured to obtain a job file of a test task; a first generation module 220, configured to extract an execution component from the job file, and generate a first execution time of the execution component; wherein the execution component is composed of a plurality of execution steps with fixed execution time; the second generating module 230 is configured to extract a test case from the document and generate a second execution time according to the test case; the second execution time is the execution time of the test case in the job file on the test node; the first determining module 240 is configured to determine an execution time of the task to be tested on the testing node according to the first execution time and the second execution time.
It should be noted that, because the contents of information interaction, execution process, and the like between the modules are based on the same concept as the method embodiment of the present invention, specific functions and technical effects thereof may be referred to specifically in the method embodiment section, and are not described herein again.
It will be clear to those skilled in the art that, for convenience and simplicity of description, the foregoing division of the functional modules is merely illustrated, and in practical applications, the above function distribution may be performed by different functional modules according to needs, that is, the internal structure of the apparatus is divided into different functional modules to perform all or part of the above described functions. Each functional module in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units are integrated in one unit, and the integrated unit may be implemented in a form of hardware, or in a form of software functional unit. In addition, specific names of the functional modules are only used for distinguishing one functional module from another, and are not used for limiting the protection scope of the application. The specific working process of the modules in the apparatus may refer to the corresponding process in the foregoing method embodiment, and is not described herein again.
Another embodiment of the present invention further discloses an apparatus 3 for predicting the execution time of the test task in the automatic test, which includes a memory 31, a processor 32, and a computer program 33 stored in the memory 31 and capable of running on the processor 32, wherein the processor 32 executes the computer program 33 to implement any one of the embodiments of the method for predicting the execution time of the test task in the automatic test.
The invention also discloses an embodiment, which is a method for selecting the optimal execution node in the automatic test, and is applied to the control node in the automatic test framework, as shown in fig. 5, the method specifically comprises the following steps:
s410, acquiring a job file of a task to be tested; s420, sending the job file to each test node; the job file is used for the test node to predict the predicted execution time of the task to be tested on the test node; s430, receiving the return information of each test node; the return information comprises the predicted execution time of the task to be tested on the corresponding test node; s440, determining the predicted completion time of the task to be tested on the test node according to the predicted execution time; s450, selecting the test node corresponding to the earliest predicted completion time as the optimal execution node of the task to be tested.
As a possible implementation manner, the predicting, by the test node, the predicted execution time of the task to be tested on the test node includes:
acquiring a job file of a test task; extracting an execution component from the job file, and generating a first execution time of the execution component; wherein the execution component is composed of a plurality of execution steps with fixed execution time; extracting a test case from the file, and generating a second execution time according to the test case; the second execution time is the execution time of the test case in the job file on the test node; and determining the predicted execution time of the task to be tested on the test node according to the first execution time and the second execution time.
Specifically, determining the predicted completion time of the task to be tested on the test node according to the predicted execution time includes:
and accumulating the execution time and the existing execution task completion time of the test node to generate the predicted completion time of the task to be tested on the test node.
The control node obtains the predicted completion time point of the test task from each test node, and then selects the test node which can complete the task most quickly to operate; and accumulating the predicted time to the busy time value of the selected test node. Once the task is completed, the real execution time of the use case can be added into a training set, and each coefficient in the polynomial is continuously corrected by real data to improve the prediction precision, so that the test node becomes more intelligent and accurate.
Another embodiment of the present invention further discloses an optimal execution node selection apparatus in an automated test, which is applied to a control node in an automated test framework, and as shown in fig. 6, the apparatus specifically includes:
a second obtaining module 510, obtaining a job file of a task to be tested; a sending module 520, configured to send the job file to each test node; the job file is used for the test node to predict the predicted execution time of the task to be tested on the test node; a receiving module 530, configured to receive return information of each test node; the return information comprises the predicted execution time of the task to be tested on the corresponding test node; a second determining module 540, configured to determine, according to the predicted execution time, a predicted completion time of the task to be tested on the test node; and a selecting module 550, configured to select a test node corresponding to the earliest predicted completion time as an optimal execution node of the task to be tested.

Claims (10)

1. A method for predicting test task execution time in an automatic test is characterized in that the method is applied to a test node in an automatic test framework and comprises the following steps:
acquiring a job file of the test task;
extracting an execution component from the job file, and generating a first execution time of the execution component; wherein the execution component is comprised of a plurality of execution steps having a fixed execution time;
extracting a test case from the operation file, and generating a second execution time according to the test case; the second execution time is the execution time of the test case in the job file on the test node;
and determining the predicted execution time of the task to be tested on the test node according to the first execution time and the second execution time.
2. The method as claimed in claim 1, wherein the step of determining the predicted execution time of the task to be tested on the test node further comprises:
and accumulating the predicted execution time and the existing execution task completion time of the test node to generate the predicted completion time of the task to be tested on the test node.
3. The method of claim 2, wherein generating a second execution time according to the test case comprises:
extracting a plurality of scale parameters of each test case to be executed;
generating the predicted execution time of each test case to be executed on the test node by taking a plurality of scale parameters of each test case to be executed as input values and based on a trained time prediction model;
and accumulating the predicted execution time of all the to-be-tested execution cases in the to-be-executed task to obtain the second execution time.
4. The method according to claim 1, wherein the trained time prediction model is an estimation model based on a machine learning polynomial regression algorithm, and specifically comprises:
Y=a+b1*X1+b2*X2+...+bn*Xn,
y is the predicted execution time of the test case on the test node, X1, X2, … and Xn are scale parameters of the test case, a, b1, b2, … and bn are coefficients in a time prediction model, and the test case is obtained through training of a plurality of known data sets.
5. The utility model provides a test task execution time prediction device in automated testing which is characterized in that, is applied to the test node in the automated testing frame, includes:
the first acquisition module is used for acquiring the job file of the test task;
the first generation module is used for extracting an execution component from the job file and generating first execution time of the execution component; wherein the execution component is comprised of a plurality of execution steps having a fixed execution time;
the second generation module is used for extracting a test case from the job file and generating second execution time according to the test case; the second execution time is the execution time of the test case in the job file on the test node;
and the first determining module is used for determining the execution time of the task to be tested on the testing node according to the first execution time and the second execution time.
6. An apparatus for predicting execution time of a test task under automatic test, comprising a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the method for predicting execution time of the test task under automatic test according to any one of claims 1 to 4 when executing the computer program.
7. A method for selecting an optimal execution node in an automatic test is characterized by being applied to a control node in an automatic test framework and comprising the following steps:
acquiring a job file of a task to be tested;
sending the job file to each test node; the job file is used for the testing node to predict the predicted execution time of the task to be tested on the testing node;
receiving the return information of each test node; the return information comprises the predicted execution time of the task to be tested on the corresponding testing node;
determining the predicted completion time of the task to be tested on the test node according to the predicted execution time;
and selecting the test node corresponding to the earliest predicted completion time as the optimal execution node of the task to be tested.
8. The method as claimed in claim 7, wherein the step of predicting the predicted execution time of the task to be tested on the test node by the test node comprises:
acquiring a job file of the test task;
extracting an execution component from the job file, and generating a first execution time of the execution component; wherein the execution component is comprised of a plurality of execution steps having a fixed execution time;
extracting a test case from the operation file, and generating a second execution time according to the test case; the second execution time is the execution time of the test case in the job file on the test node;
and determining the predicted execution time of the task to be tested on the test node according to the first execution time and the second execution time.
9. The method as claimed in claim 8, wherein determining the predicted completion time of the task to be tested on the test node according to the predicted execution time comprises:
and accumulating the predicted execution time and the existing execution task completion time of the test node to generate the predicted completion time of the task to be tested on the test node.
10. The utility model provides an optimal execution node selection device in automated testing which characterized in that, is applied to the control node in the automated testing frame, specifically includes:
the second acquisition module is used for acquiring the job file of the task to be tested;
the sending module is used for sending the job file to each test node; the job file is used for the testing node to predict the predicted execution time of the task to be tested on the testing node;
the receiving module is used for receiving the return information of each test node; the return information comprises the predicted execution time of the task to be tested on the corresponding testing node;
the second determining module is used for determining the predicted completion time of the task to be tested on the testing node according to the predicted execution time;
and the selection module is used for selecting the test node corresponding to the earliest predicted completion time as the optimal execution node of the task to be tested.
CN202010717167.5A 2020-07-23 2020-07-23 Test task execution time prediction method and optimal execution node selection method Pending CN111861012A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010717167.5A CN111861012A (en) 2020-07-23 2020-07-23 Test task execution time prediction method and optimal execution node selection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010717167.5A CN111861012A (en) 2020-07-23 2020-07-23 Test task execution time prediction method and optimal execution node selection method

Publications (1)

Publication Number Publication Date
CN111861012A true CN111861012A (en) 2020-10-30

Family

ID=72949540

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010717167.5A Pending CN111861012A (en) 2020-07-23 2020-07-23 Test task execution time prediction method and optimal execution node selection method

Country Status (1)

Country Link
CN (1) CN111861012A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463341A (en) * 2020-12-11 2021-03-09 奇瑞汽车股份有限公司 CAE operation running time prediction method and device based on high performance computing cluster HPC

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831012A (en) * 2011-06-16 2012-12-19 日立(中国)研究开发有限公司 Task scheduling device and task scheduling method in multimode distributive system
JP5374707B2 (en) * 2011-03-02 2013-12-25 兵庫県 Computer software system design support device
CN107239344A (en) * 2017-06-05 2017-10-10 厦门美柚信息科技有限公司 Distributed allocation method and system
CN108664378A (en) * 2018-05-10 2018-10-16 西安电子科技大学 A kind of most short optimization method for executing the time of micro services
CN110297701A (en) * 2019-05-16 2019-10-01 平安科技(深圳)有限公司 Data processing operation dispatching method, device, computer equipment and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5374707B2 (en) * 2011-03-02 2013-12-25 兵庫県 Computer software system design support device
CN102831012A (en) * 2011-06-16 2012-12-19 日立(中国)研究开发有限公司 Task scheduling device and task scheduling method in multimode distributive system
CN107239344A (en) * 2017-06-05 2017-10-10 厦门美柚信息科技有限公司 Distributed allocation method and system
CN108664378A (en) * 2018-05-10 2018-10-16 西安电子科技大学 A kind of most short optimization method for executing the time of micro services
CN110297701A (en) * 2019-05-16 2019-10-01 平安科技(深圳)有限公司 Data processing operation dispatching method, device, computer equipment and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463341A (en) * 2020-12-11 2021-03-09 奇瑞汽车股份有限公司 CAE operation running time prediction method and device based on high performance computing cluster HPC

Similar Documents

Publication Publication Date Title
Nurmi et al. QBETS: Queue bounds estimation from time series
CN111625331B (en) Task scheduling method, device, platform, server and storage medium
CN110795241B (en) Job scheduling management method, scheduling center and system
CA3090095C (en) Methods and systems to determine and optimize reservoir simulator performance in a cloud computing environment
Sonmez et al. Trace-based evaluation of job runtime and queue wait time predictions in grids
CN102868573B (en) Method and device for Web service load cloud test
CN107908536B (en) Performance evaluation method and system for GPU application in CPU-GPU heterogeneous environment
CN110502366B (en) Case execution method, device, equipment and computer readable storage medium
CN111563014A (en) Interface service performance test method, device, equipment and storage medium
Chen et al. Predicting job completion times using system logs in supercomputing clusters
WO2016155996A1 (en) Production system and method for controlling same
CN113157379A (en) Cluster node resource scheduling method and device
CN114327829A (en) Multi-core real-time task scheduling analysis and simulation system and method
CN109614210B (en) Storm big data energy-saving scheduling method based on energy consumption perception
CN111861012A (en) Test task execution time prediction method and optimal execution node selection method
Kumar et al. Identifying quick starters: towards an integrated framework for efficient predictions of queue waiting times of batch parallel jobs
CN105279065A (en) Method and apparatus for making statistics on test results in cloud test platform
US8340952B2 (en) Power estimation method and device therefor
Klinaku et al. Architecture-based evaluation of scaling policies for cloud applications
Janjic et al. Granularity-aware work-stealing for computationally-uniform Grids
CN109302723B (en) Multi-node real-time radio monitoring control method based on Internet
Hauck et al. Automatic derivation of performance prediction models for load-balancing properties based on goal-oriented measurements
Rao et al. CoSL: A coordinated statistical learning approach to measuring the capacity of multi-tier websites
WO2022046061A1 (en) Generating projected resource consumption levels based on aggregate program source codes
Lee et al. Software reliability prediction for open source software adoption systems based on early lifecycle measurements

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 710000 Room 1202, 12th Floor, Cultural Creation Building, Yaodian Street Office, Qinhan New Town, Xixian New District, Xi'an, Shaanxi

Applicant after: Xi'an Okayun Data Technology Co.,Ltd.

Address before: No.6-2, Changxin Industrial Park, east section of Tiangong 1st Road, banxinzhuang village, ZhouLing street, Qinhan new town, Xixian New District, Xi'an City, Shaanxi Province, 710000

Applicant before: Xi'an Okayun Data Technology Co.,Ltd.

CB02 Change of applicant information