Test method and electronic device

By using dynamic scheduling and predictive execution time, the resource utilization of the robotic arm and server is optimized, solving the problem of low robotic arm utilization and achieving more efficient testing.

CN120892276BActive Publication Date: 2025-12-12INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511410071.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-29
Publication Date
2025-12-12
Estimated Expiration
2045-09-29

AI Technical Summary

Technical Problem

In existing technologies, the utilization rate of robotic arms is low, static scheduling strategies lead to low resource utilization, frequent interruptions and resets of robotic arms generate unaccounted overhead, resulting in system efficiency loss and prolonged server latency.

Method used

By employing a dynamic scheduling strategy, convolutional neural networks and long short-term memory networks are used to predict the execution time of test cases. Combined with the resource status of the robotic arm and the server, the execution order of test cases is optimized, including parallel execution and timely interruption operations, thereby improving resource utilization.

Benefits of technology

This improved the resource utilization of the robotic arm and server, reduced the waiting time of the robotic arm, lowered the average server latency, and improved testing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120892276B_ABST
    Figure CN120892276B_ABST
Patent Text Reader

Abstract

The application provides a test method and an electronic device, which can be applied to the field of artificial intelligence technology. The test method comprises the following steps: in the case that a first intelligent case is included in a plurality of to-be-executed test cases, there is an idle first server and an unoccupied mechanical arm, the first server and the mechanical arm are controlled to execute a first sub-case in the first intelligent case, and the execution time of the first intelligent case is greater than a first preset time length; in the case that the execution of the first sub-case is completed, in the case that the consumption time of the reset operation executed by the mechanical arm is greater than or equal to the execution time of the automation case, there is an idle second server, and there are the automation case and a second intelligent case in the plurality of to-be-executed test cases, the second server is controlled to execute the automation case, and the mechanical arm is controlled to execute the second intelligent case, and the execution time of the automation case and the second intelligent case is respectively less than a second preset time length, and the second preset time length is less than the first preset time length.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of artificial intelligence, and more particularly to a test method and an electronic device. BACKGROUND

[0002] With the rapid development of cloud computing, the testing demand of server clusters has surged, which promotes the evolution of intelligent testing platforms. As a hardware operation unit in the testing process, the mechanical arm has developed from executing simple instructions in the early stage to being able to complete complex testing tasks in cooperation with multiple servers in the server cluster today.

[0003] For example, the mechanical arm is responsible for physical operations such as hard disk plugging and component replacement, while the server executes automated test scripts. Related technologies use static scheduling strategies (such as first-come-first-served) that may cause the mechanical arm to be occupied by a test script for a long time, and the 0.5-2 seconds of overhead not counted will be generated when the mechanical arm is urgently stopped and reset. Frequent interruptions will cause fragmented waiting of the mechanical arm, resulting in low utilization of the mechanical arm. SUMMARY

[0004] In view of the above problems, the present application provides a test method and an electronic device.

[0005] According to a first aspect of the present application, a test method is provided, comprising: in the case that a first intelligent case is included in a plurality of to-be-executed test cases, there is an idle first server and an unoccupied mechanical arm, controlling the mechanical arm and the first server to execute a first sub-case in the first intelligent case, the attribute information of the first intelligent case being occupying server resources, occupying mechanical arm resources, and the execution time being greater than a first preset time length; in the case that the first sub-case is executed, in response to the consumption time length of the reset operation of the mechanical arm being greater than or equal to the execution time length of the automated case, there being an idle second server, and there being an automated case and a second intelligent case in the plurality of to-be-executed test cases, controlling the second server to execute the automated case, and controlling the mechanical arm to execute the second intelligent case, the attribute information of the automated case being occupying server resources and the execution time being less than a second preset time length, the attribute information of the second intelligent case being occupying mechanical arm resources and the execution time being less than the second preset time length, and the second preset time length being less than the first preset time length.

[0006] The second aspect of the present application provides a test device, comprising: a first control module, configured to control a robot arm and a first server to execute a first sub-use case in a first intelligent use case in a case where the first intelligent use case is included in a plurality of to-be-executed test cases, and the first server is idle and the robot arm is unoccupied, attribute information of the first intelligent use case being that a server resource is occupied, a robot arm resource is occupied, and an execution duration is greater than a first preset duration; and a second control module, configured to control a second server to execute an automation use case and control the robot arm to execute a second intelligent use case in a case where the first sub-use case is executed completely, and a consumption duration of the robot arm performing a reset operation is greater than or equal to an execution duration of the automation use case, the second server is idle, and the plurality of to-be-executed test cases include the automation use case and the second intelligent use case, attribute information of the automation use case being that a server resource is occupied and an execution duration is less than a second preset duration, attribute information of the second intelligent use case being that a robot arm resource is occupied and an execution duration is less than the second preset duration, and the second preset duration being less than the first preset duration.

[0007] The third aspect of the present application 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 method.

[0008] The fourth aspect of the present application further provides a computer-readable storage medium having stored thereon a computer program or instructions, wherein the computer program or instructions, when executed by a processor, implement the steps of the method.

[0009] The fifth aspect of the present application further provides a computer program product comprising a computer program or instructions, wherein the computer program or instructions, when executed by a processor, implement the steps of the method.

[0010] According to the embodiments of the present application, it is determined whether there is a first intelligent use case including attribute information of occupying a server resource, occupying a robot arm resource, and having an execution duration greater than a first preset duration in the plurality of to-be-executed test cases, and if the first intelligent use case exists, the first intelligent use case is executed first, on the one hand, a test request is responded quickly, and on the other hand, the first intelligent use case is started to be executed, which can prevent all automation use cases from being started to be executed, occupying most of the server resources, and causing multiple intelligent use cases to be in a long-time waiting state due to the shortage of robot arm resources. In a case where the consumption duration is greater than or equal to the execution duration of the automation use case, the current operation of the robot arm is interrupted, and the automation use case which only occupies the server resource and has a relatively short execution duration can be executed. Meanwhile, in order to prevent the first intelligent use case from occupying for a long time, the second intelligent use case which only occupies the robot arm resource and has a relatively short execution duration is executed in parallel with the automation use case, and the resource utilization rate of the server and the robot arm is improved. BRIEF DESCRIPTION OF DRAWINGS

[0011] The above and other objects, features and advantages of the present application will become more apparent from the following description when taken in conjunction with the accompanying drawings, in which:

[0012] Figure 1 A scenario diagram showing the application of the test method according to an embodiment of the present application is shown.

[0013] Figure 2 A flowchart showing the test method according to an embodiment of the present application is shown.

[0014] Figure 3 A flowchart showing the test method according to another embodiment of the present application is shown.

[0015] Figure 4 A schematic diagram showing the test system according to an embodiment of the present application is shown.

[0016] Figure 5 A flowchart showing the test method according to yet another embodiment of the present application is shown.

[0017] Figure 6 A block diagram showing the structure of the test apparatus according to an embodiment of the present application is shown.

[0018] Figure 7 A block diagram showing the electronic device suitable for implementing the test method according to an embodiment of the present application is shown. DETAILED DESCRIPTION

[0019] Hereinafter, embodiments of the present application will be described with reference to the accompanying drawings. It is to be understood, however, that the description is merely exemplary of the present application, and is not intended to limit the scope of the present application. Throughout the specification, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the present application. It will be apparent, however, to one skilled in the art that the present application can be practiced without these specific details. In other instances, well-known structures and techniques have not been shown in detail in order not to obscure the understanding of this application.

[0020] The terms used herein are merely used to describe specific embodiments, and are not intended to limit the present application. The terms "include" and "have" and the like used herein indicate the presence of the described features, steps, operations, and / or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.

[0021] All terms used herein, including technical and scientific terms, have the same meanings as those generally understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having meanings consistent with the context of the present description, and should not be interpreted in an idealized or excessively formal manner.

[0022] In the case of using expressions such as "at least one of A, B, and C", it is generally intended to mean "A, B, and / or C", unless explicitly stated otherwise (e.g., "at least one of A, B, and C" is typically interpreted to mean "A, B, and / or C" and not "only A, B, and C").

[0023] With the rapid development of cloud computing and edge computing, the testing demand of server clusters has surged, driving the evolution of intelligent testing platforms. As a hardware operating unit in the testing process, the robot arm has evolved from executing simple instructions in the early days to now being able to coordinate multiple servers in the server cluster to complete complex testing tasks.

[0024] For example, a multi-experimental bench parallel architecture is adopted, in which the robot arm is responsible for physical operations such as hard disk insertion and removal, component replacement, etc., while the server executes automated test scripts. However, the related art has the following problems: Static scheduling strategies (such as first-come-first-served) are difficult to adapt to the dynamic characteristics of testing tasks, resulting in low resource utilization. The execution time prediction relies on historical average values and fails to combine variables such as machine model and hard disk location, with an error rate as high as 30-40%, causing short task delays and long task blockages. The robot arm's interrupt mechanism lacks a quantitative model, and the robot arm's emergency stop and reset generates 0.5-2 seconds of unaccounted overhead, and frequent interruptions can cause fragmentation of the robot arm's waiting, with a system efficiency loss of up to 22% in actual measurements. These defects result in a robot arm utilization rate of less than 60% and an average server time consumption of more than 35%.

[0025] Therefore, embodiments of the present application provide a testing method, comprising: in the case that a first intelligent test case is included in a plurality of to-be-executed test cases, there is an idle first server and an unoccupied robot arm, controlling the robot arm and the first server to execute a first sub-test case in the first intelligent test case, the attribute information of the first intelligent test case being occupying server resources, occupying robot arm resources, and the execution time being greater than a first preset time length; in the case that the first sub-test case is executed, in response to the consumption time length of the robot arm executing a reset operation being greater than or equal to the execution time of an automated test case, there being an idle second server, and there being an automated test case and a second intelligent test case in the plurality of to-be-executed test cases, controlling a second server to execute the automated test case, and controlling the robot arm to execute the second intelligent test case, the attribute information of the automated test case being occupying server resources and the execution time being less than a second preset time length, the attribute information of the second intelligent test case being occupying robot arm resources and the execution time being less than the second preset time length, the second preset time length being less than the first preset time length.

[0026] Figure 1An application scenario diagram of a test method according to an embodiment of the present application is shown.

[0027] As shown in Figure 1 , an application scenario 100 according to this embodiment can include a first server 101, a second server 102, a third server 103, and a robot arm 104.

[0028] A control end of the first server 101, the second server 102, the third server 103, and the robot arm 104 receives a request of a test task, and the control end is configured to classify test cases in the test task according to attribute information of the test cases, and assign the test cases to idle servers in the first server 101, the second server 102, and the third server 103 and / or the robot arm 104 according to types of the test cases.

[0029] The first server 101, the second server 102, and the third server 103 can be respectively configured to execute scripts in the test cases. The first server 101, the second server 102, and the third server 103 can be respectively arranged on different experimental benches. The test cases can occupy server resources and / or robot arm resources. Execution durations of each test case can be different due to different test contents. For example, an intelligent test case needs the robot arm 104 to execute different test instructions in multiple stages, and the execution duration of the intelligent test case can be relatively long. For example, an automatic test case only needs to occupy server resources, and has fewer test stages, and the execution duration of the automatic test case can be relatively short.

[0030] The robot arm 104 can poll servers on multiple experimental benches. For example, the robot arm 104 corresponds to the first server 101, the second server 102, and the third server 103 on three experimental benches. For example, after the control end controls the robot arm 104 to complete a current intelligent test case of the first server 101, the control end controls the robot arm 104 to continue to execute a to-be-executed intelligent test case of the third server 103. Meanwhile, the control end controls the second server 102 to execute a to-be-executed automatic test case which only occupies server resources.

[0031] It should be understood that Figure 1 the number of servers and robot arms in the above description is only illustrative. The number of robot arms is less than the number of servers. In this scenario, the resources of the robot arms are less than the resources of the servers.

[0032] Figure 2 A flowchart of a test method according to an embodiment of the present application is shown.

[0033] As shown in Figure 2 , the test method of this embodiment includes operations S210-S220.

[0034] In operation S210, in a case where the first intelligent case is included in the plurality of test cases to be executed, and there is an idle first server and an unoccupied robot arm, the robot arm and the first server are controlled to execute a first sub-case in the first intelligent case.

[0035] According to an embodiment of the present application, the attribute information of the first intelligent case is that the server resource is occupied, the robot arm resource is occupied, and the execution duration is greater than a first preset duration.

[0036] According to an embodiment of the present application, the occupation of the server resource can be the occupation of the memory, the operation resource, the operation server database, the login interface of the server, etc. of the server.

[0037] According to an embodiment of the present application, the robot arm resource can be the occupation of the running shaft (such as joint motor, servo system) resource, sensor resource, etc. For example, the test of directly driving the robot arm to perform an operation action needs to occupy the motion shaft resource.

[0038] According to an embodiment of the present application, the attribute information can also include whether the test case to be executed can be interrupted during the execution process. For example, after a stage test of the test case to be executed is executed, the robot arm is reset, and the robot arm is controlled to continue to execute the next stage test, then the test case to be executed can be interrupted after the robot arm is reset.

[0039] According to an embodiment of the present application, the first intelligent case can be the test case with the longest execution duration in the plurality of test cases. For example, in a case where the current task amount of the robot arm is less than a preset task amount, it is determined that the robot arm is in an unoccupied (idle) state. In a case where there is an idle first server and an unoccupied robot arm, the first intelligent case can be executed first, on one hand, to quickly respond to the test request of the test task. On the other hand, starting to execute the first intelligent case can prevent starting to execute all the automation cases, occupying most of the server resources, and causing multiple intelligent cases to be in a long waiting state due to the shortage of robot arm resources.

[0040] According to an embodiment of the present application, the first sub-case can be divided according to the reset operation of the robot arm in the execution of the first intelligent case. For example, in the process of the first intelligent case, the robot arm needs to switch 3 action groups in total, and has 3 reset operations. The first intelligent case can include a first sub-case, a second sub-case, and a third sub-case.

[0041] In operation S220, in a case where the first sub-case is executed, in response to the consumption duration of the reset operation of the robot arm being greater than or equal to the execution duration of the automation case, there being an idle second server, and there being an automation case and a second intelligent case in the plurality of test cases to be executed, the second server is controlled to execute the automation case, and the robot arm is controlled to execute the second intelligent case.

[0042] According to an embodiment of the present application, the attribute information of the automation use case is occupying a server resource and the execution duration is less than a second preset duration, the attribute information of the second intelligent use case is occupying a robot arm resource and the execution duration is less than the second preset duration, and the second preset duration is less than the first preset duration.

[0043] For example, the first preset duration can be 10 seconds, the second preset duration can be 0.5 seconds, and the consumption duration can be 2 seconds. Therefore, during the robot arm resetting process, an automation use case can be executed, and a smart use case with a parallel execution duration of less than 0.5 seconds can be executed. Therefore, within the consumption duration, two test cases can be completed, and the resource utilization rate is increased.

[0044] According to an embodiment of the present application, since the first sub-use case is executed and completed, the robot arm needs to perform a resetting operation, and the resetting can generate a 0.5-2 second unaccounted overhead. In order to reasonably utilize this part of the overhead, the consumption duration of the robot arm performing the resetting operation is compared with the execution duration of the automation use case. If the consumption duration is greater than or equal to the execution duration of the automation use case, the automation use case occupying only a server resource can be executed. At the same time, in order to prevent the first smart use case from occupying for a long time, the second smart use case occupying only a robot arm resource and having a relatively short execution duration can be executed in parallel with the automation use case, and the resource utilization rates of the server and the robot arm are improved.

[0045] According to an embodiment of the present application, it is determined whether a first smart use case including attribute information of occupying a server resource, occupying a robot arm resource, and having an execution duration greater than a first preset duration exists in a plurality of test cases to be executed. If the first smart use case exists, the first smart use case is executed first. On the one hand, the test request is responded quickly. On the other hand, the first smart use case is started to be executed, which can prevent all automation use cases from being executed, occupying most of the server resources, and causing a plurality of smart use cases to be in a long-time waiting state due to the shortage of robot arm resources. When the consumption duration is greater than or equal to the execution duration of the automation use case, the current operation of the robot arm is interrupted, and the automation use case occupying only a server resource and having a relatively short execution duration can be executed. At the same time, in order to prevent the first smart use case from occupying for a long time, the second smart use case occupying only a robot arm resource and having a relatively short execution duration can be executed in parallel with the automation use case, and the resource utilization rates of the server and the robot arm are improved.

[0046] According to an embodiment of the present application, the control of the robot arm and the first server to execute a first sub-use case in the first smart use case includes: controlling the robot arm to configure a first test component for the first server, the first test component being adapted to the first smart use case; and controlling the robot arm and the first server configured with the first test component to execute the first sub-use case in the first smart use case.

[0047] According to an embodiment of the present application, the test component can be a hard disk. For example, the control mechanical arm replaces the hard disk to perform a first intelligent use case for hard disk plug-in test.

[0048] According to an embodiment of the present application, after the first test component is replaced, the first intelligent use case can be performed by the mechanical arm and the first server configured with the first test component.

[0049] According to an embodiment of the present application, after the first test component is replaced, the first intelligent use case can be performed by the mechanical arm and the first server configured with the first test component.

[0050] According to an embodiment of the present application, the control mechanical arm performs a second intelligent use case, including: controlling the mechanical arm to perform the second intelligent use case to obtain test information, the test information being used to instruct the remote server to perform the second intelligent use case according to the test information.

[0051] According to an embodiment of the present application, the attribute information of the second intelligent use case includes that the mechanical arm cannot be interrupted during execution, occupies the mechanical arm, and does not occupy the server.

[0052] According to an embodiment of the present application, the test information can be an image. The second intelligent use case can be to use the mechanical arm to take a picture of the hard disk of the server on the experiment table, and send the image to the remote server. After receiving the image, the remote server executes the second intelligent use case. Therefore, the second intelligent use case does not occupy the server on the experiment table, but occupies the resources of the remote server.

[0053] According to an embodiment of the present application, the second intelligent use case and the operation performed by the mechanical arm in the first intelligent use case are not the same, so the operation in the test is completed by using the automatic control of the mechanical arm, and the execution efficiency of the test use case is improved.

[0054] According to an embodiment of the present application, the above method further includes: in response to the consumption time being less than the execution time of the automated use case or there being no idle server, controlling the mechanical arm and the first server to perform a second sub-use case in the first intelligent use case.

[0055] According to an embodiment of the present application, in the case where the consumption time is less than the execution time of the automated use case, the current operation of the mechanical arm is not interrupted, and the resource utilization rate of the mechanical arm is higher, therefore, the mechanical arm and the first server continue to perform the second sub-use case in the first intelligent use case.

[0056] According to the embodiment of the present application, in the absence of an idle server, it is difficult to execute an automated use case that occupies server resources, and it is also difficult to trigger a second intelligent use case that is executed in parallel, so that the second sub-use case in the first intelligent use case is selected for execution, thereby achieving efficient resource utilization.

[0057] According to the embodiment of the present application, in the case where the consumption time is greater than or equal to the execution time of the automated use case, there is an idle second server, and there are an automated use case and a second intelligent use case in the plurality of test cases to be executed, the automated use case that only occupies server resources can be executed. At the same time, in order to prevent the first intelligent use case from occupying for a long time, the second intelligent use case that only occupies the robot arm resource and has a shorter execution time can be executed in parallel with the automated use case, thereby improving the resource utilization of the server and the robot arm.

[0058] In the case where the consumption time is less than the execution time of the automated use case or there is no idle server, the automated use case that occupies server resources is difficult to execute. If a second intelligent use case with a shorter execution time is switched to execute in the case where the consumption time is also very short, more robot arm resources can be consumed. Therefore, the robot arm and the first server can be controlled to continue to execute the second sub-use case in the first intelligent use case, thereby improving the resource utilization of the server and the robot arm.

[0059] According to the embodiment of the present application, the method further includes: in response to the consumption time being greater than or equal to the execution time of the automated use case, there being no idle server, and there being a second intelligent use case in the plurality of test cases to be executed, controlling the robot arm to execute the second intelligent use case.

[0060] According to the embodiment of the present application, even if the consumption time is greater than the execution time of the automated use case, but there is no idle server, it is difficult to execute the automated use case. A second intelligent use case with a shorter time is executed in a longer consumption time of the reset of the robot arm, thereby achieving high utilization of the robot arm.

[0061] According to the embodiment of the present application, the method further includes: in the case where the first intelligent use case is executed, there is a third intelligent use case in the plurality of test cases to be executed, there is an idle server and an unoccupied robot arm, controlling the robot arm to configure a second test component for the idle third server, the second test component being adapted to the third intelligent use case; controlling the robot arm and the third server configured with the second test component to execute the third intelligent use case; wherein the attribute information of the third intelligent use case is that it occupies server resources, occupies robot arm resources, and has an execution time greater than a second preset time and less than a first preset time.

[0062] According to the embodiment of the present application, after the first intelligent use case is executed, the robot arm is released to set the robot arm to an idle (IDLE) state.

[0063] According to an embodiment of the present application, the execution duration of the third intelligent use case is less than the execution duration of the first intelligent use case, but greater than the execution duration of the automated use case and the execution duration of the second intelligent use case. The attribute information of the automated use case, the first intelligent use case, the second intelligent use case and the third intelligent use case is shown in Table 1.

[0064] Table 1

[0065]

[0066] According to an embodiment of the present application, since the third intelligent use case is not interruptible, and occupies the robot arm resource and the server resource at the same time, after the first intelligent use case (which triggers the processing of a part of the automated use case and the second intelligent use case) is executed, the third intelligent use case is processed, which can reduce the occurrence of the case that the automated use case is quickly tested in the early stage, and at the same time, prevent the case that the first intelligent use case occupies the robot arm for too long, realize dynamic adjustment of the test use case executed by the robot arm, improve the reasonable scheduling of the robot arm and the server, and improve the resource utilization rate.

[0067] Figure 3 A flowchart of a test method according to another embodiment of the present application is shown.

[0068] As shown in Figure 3 Another embodiment of the test method of the embodiment includes operations S310-S380.

[0069] In operation S310, in response to receiving a test request of a plurality of to-be-executed test use cases in a test task, it is determined that the plurality of to-be-executed test use cases include a first intelligent use case, a second intelligent use case and an automated use case, and the execution duration of each of the plurality of to-be-executed test use cases.

[0070] In operation S320, in response to a plurality of idle servers on a plurality of test benches, it is determined whether the robot arm is in an idle state according to the current task amount of the robot arm, if yes, operation S330 is performed; if no, operation S350 is performed.

[0071] In operation S330, the robot arm and the first server are controlled to execute a first sub-use case in the first intelligent use case.

[0072] In operation S340, it is determined whether the consumption duration of the reset operation of the robot arm is greater than or equal to the execution duration of the automated use case. If yes, operation S350 is performed; if no, operation S360 is performed.

[0073] In operation S350, the second server is controlled to execute the automated use case, and the robot arm is controlled to execute the second intelligent use case.

[0074] At operation S360, the robot arm and the first server are controlled to execute a next sub-use case of the first intelligent use case.

[0075] At operation S370, it is determined whether the first intelligent use case is executed completely. If yes, operation S380 is executed; if no, operation S340 is executed.

[0076] At operation S380, the robot arm is controlled to configure the second test component for the idle third server; the robot arm and the third server configured with the second test component are controlled to execute the third intelligent use case.

[0077] According to an embodiment of the present application, the execution duration of each of the first intelligent use case, the second intelligent use case or the third intelligent use case is determined based on the following manner: feature extraction is performed on historical space-related information and historical execution sequence information associated with the intelligent use case respectively to obtain historical space features and historical time sequence features, the historical space-related information includes historical space position information, historical environment information and historical running information of the robot arm in the process of executing the intelligent use case, and the historical execution sequence information includes a plurality of historical execution instructions for controlling the robot arm to execute the intelligent use case; feature fusion is performed on the historical space features and the historical time sequence features to obtain historical spatio-temporal fusion features; a predicted execution duration of the intelligent use case is obtained according to the historical spatio-temporal fusion features; and the predicted execution duration is adjusted by using an adjustment duration of the intelligent use case to obtain an execution duration of the intelligent use case.

[0078] According to an embodiment of the present application, in order to minimize the time consumption of the overall test task, the actual execution duration of each instruction needs to be considered when scheduling the robot arm. However, the actual execution duration of the test use case to be executed is related to a plurality of factors, such as the movement rate of the robot arm, the machine model, the temperature and humidity, the test use case number, the hard disk position (front window / rear window), the actual execution duration of the test use case in the last three times, etc. It is too difficult to predict the actual execution by setting the priority of each parameter automatically, so a self-learning module needs to be introduced to predict the execution duration.

[0079] Before the test use case to be executed actually starts to execute, a predicted value is calculated according to the movement rate of the robot arm, the machine model, the temperature and humidity, the use case number, the hard disk position (front window / rear window), the actual execution duration of the test use case in the last three times, etc. After the actual execution ends, the parameters used in the calculation are adjusted according to the actual duration, so as to achieve the work of prediction, self-learning and gradual optimization, and ensure that the predicted value and the actual value are more and more close.

[0080] According to an embodiment of the present application, the historical space position information can include space relative position information between the robot arm and the test component (hard disk) of the server.

[0081] According to an embodiment of the present application, the historical environment information can be temperature and humidity of an environment where the robot arm is located. The historical operation information can include a movement speed of the robot arm.

[0082] According to an embodiment of the present application, the historical execution sequence information can be a plurality of historical execution instructions of the robot arm arranged in time sequence.

[0083] In combination with current scene characteristics, historical space-time fusion features, hierarchical memory architecture, and adaptive forgetting mechanism are adopted. Factors affecting actual execution time of a to-be-tested use case can be divided into historical space features and historical time features. The historical space features include machine position, robot arm configuration, hard disk position, machine model, environment temperature and humidity, and the like. The historical time features include historical execution time, process, and the like.

[0084] A determination manner of the historical space-time fusion features Φ(x) is shown in the following formula (1):

[0085] Φ(x) = [CNN(xspatial), LSTM(xtemporal)] (1);

[0086] Firstly, a convolutional neural network (CNN) is used to extract historical space features (such as relative position constraints and motion geometry relationship between devices) from historical space-related information xspatial such as machine position and robot arm structure. Then, a long short-term memory network (LSTM) is used to model time sequence of the historical execution sequence information xtemporal, to capture fluctuation patterns of robot arm speed (speed change of the robot arm during execution of the use case, to ensure positioning accuracy, the robot arm is slowed down when approaching the server to ensure stable and reliable execution operation), process dependency (different use cases / processes have different requirements for the robot arm, and memory instructions have higher requirements for robot arm accuracy than hard disks, and require slower speed), and the like. The outputs of the two are spliced into a multi-dimensional joint feature vector, to achieve a feature compression rate of 85%.

[0087] According to an embodiment of the present application, the adjustment time length is determined according to a plurality of historical error time lengths, and the historical error time length represents a difference between a historical predicted execution time and a historical actual execution time of the intelligent use case.

[0088] According to an embodiment of the present application, the execution duration of the intelligent use case is an execution duration corresponding to a current test round, the plurality of historical error durations include a first historical error duration of each of a plurality of first historical test rounds in a first predetermined historical period and a second historical error duration of each of a plurality of second historical test rounds in a second predetermined historical period, and an ending moment of the second predetermined historical period is earlier than a starting moment of the first predetermined historical period.

[0089] According to an embodiment of the present application, the adjustment duration is obtained based on the following manners: obtaining a first adjustment duration according to a target first historical error duration of each of two adjacent target first historical test rounds and a historical error duration distribution value for representing a distribution of the plurality of first historical error durations, the plurality of first historical test rounds including the target first historical test rounds, and the plurality of first historical error durations including the target first historical error duration; obtaining a second adjustment duration according to at least one set of historical error duration pairs determined based on the plurality of second historical error durations, the historical error duration pair including a second historical error duration of each of two adjacent second historical test rounds; and obtaining the adjustment duration according to the first adjustment duration and the second adjustment duration.

[0090] According to an embodiment of the present application, the two adjacent target first historical test rounds are a last test round of the current test round and a last test round of the last test round.

[0091] The hierarchical memory architecture divides all factors into a short-term memory pool, a long-term database, and a feature fusion layer. The short-term memory pool stores the actual execution results of the last 1000 times of the current use case for quick response to recent changes. The long-term database is used to store historical feature vectors. The feature fusion layer extracts features of instruction-related factors that need to be predicted this time according to the above spatio-temporal feature fusion formula and outputs a prediction result. The hierarchical memory architecture is mainly used to extract features from instruction historical execution duration data, and the more remote the data, the lower the reference value,

[0092] The adaptive forgetting mechanism is used to adaptively delete the most remote historical data that has less impact on subsequent prediction. Data that is too remote and data that occurs abnormally during execution have no reference value.

[0093] Error resonance self-learning is an intelligent evolution of prediction parameters through a double-channel adaptive mechanism driven by errors. The system decomposes the prediction error into a short-term oscillation flow and a long-term knowledge flow. The short-term flow uses a dynamic frequency resonance equation to amplify the impact of sudden abnormalities on parameters in real time, achieving millisecond-level fine tuning. The long-term flow refines experience patterns from stored historical cases through a historical error kernel resonance function to correct system-level deviations of the robot. That is, the error resonance self-learning is an adjustment duration calculated according to the execution duration of the current test round and a plurality of historical error durations, which is used to assist the next prediction to ensure more accurate prediction next time.

[0094] The adjustment duration is shown in the following formulas (2) and (3):

[0095] (2);

[0096] (3)

[0097] wherein, Δθt is the adjustment duration, is the first adjustment duration calculated according to the short-term memory flow (a plurality of first historical error durations). The arctan function is monotonically increasing and the value range is (-2 / π, 2 / π), which can not only reflect that the larger the current error is, the larger the next adjustment amount is, but also can ensure to avoid the situation that the adjustment amount is too large due to the too large current prediction error, thereby affecting the next prediction. λ is a weight, and λ is in the range of [0, 1]. E t is the target first historical error duration of the last test round of the current test round, E t-1 is the target first historical error duration of the last test round of the last test round, and μE is a historical error duration distribution value used to represent the distribution of the plurality of first historical error durations. is the standard deviation of the plurality of first historical error duration distributions.

[0098] β is a mutation sensitivity factor (default 0.5), which prevents the error between the current test round or the last test round from being too large. is used to amplify the continuous error, the larger the exponential is.

[0099] is the second adjustment duration calculated according to the long-term memory flow (a plurality of second historical error durations). ω i is the weight of each error ratio. x i may be K(x i ) is used to map the discrete error ratio to the continuous space, improve the continuity before each error ratio, and better reflect the influence of the accumulated long-term error memory on the overall parameter adjustment amount. The larger the error ratio is, the smaller K is, and the influence of individual sudden failure on the overall adjustment amount is reduced.

[0100] Figure 4 FIG. 1 shows a schematic diagram of a test system according to an embodiment of the present application.

[0101] In order to achieve the purpose of the shortest overall test task execution duration in all experimental tables (the average value of the actual execution duration and the waiting duration of each experimental table is the smallest), as shown in Figure 4The test system shown mainly includes an execution duration prediction module 410 of a test case to be executed, a robot preemption module 420 and a use case execution module 430.

[0102] The execution duration prediction module 410 of the test case to be executed is configured to extract features of historical space-related information associated with the test case to be executed by using a convolutional neural network to obtain historical space features, and extract features of historical execution sequence information associated with the test case to be executed by using a long short-term memory network to obtain historical time sequence features. The historical space features and the historical time sequence features are spliced to obtain historical space-time fusion features. The predicted execution duration of the test case to be executed is obtained according to the historical space-time fusion features; the adjustment duration of the test case to be executed is determined according to the long-term historical error duration and the short-term historical error duration of the test case to be executed (such as the above formula (2) and formula (3)); and the predicted execution duration is adjusted by using the adjustment duration of the test case to be executed to obtain the execution duration of the test case to be executed.

[0103] The robot preemption module 420 is configured to determine whether the robot is in an idle state according to a current task amount of the robot.

[0104] In this scenario, the robot is a scarce resource. In order to prevent the problem that a single server occupies the robot for a long time and other servers can only wait all the time, a robot preemption module is introduced.

[0105] The robot preemption module 420 maintains a state information for each experimental bench. If a server on the experimental bench has no intelligent test case to be executed, the state is COMPLETED (completed); if the robot is preempted, the state is OCCUPIED (occupied); and if the robot is not preempted, the state is WAIT (waiting). The robot preemption module also maintains a state information for the robot. If the robot is running, the state is RUN; and if the robot is idle, the state is IDLE.

[0106] When an experimental bench triggers to preempt the robot, it is checked whether the state of the current robot is IDLE. If yes, the preemption is successful, and the state of the experimental bench is modified according to the following logic.

[0107] After the experimental bench preempts the robot each time, the state is modified from WAIT to OCCUPIED. Meanwhile, after the current experimental bench releases the robot, the state is not immediately modified to WAIT. Instead, it is checked whether there is an experimental bench with the state of WAIT. If not, the robot is continuously occupied. If yes, the state of the robot is modified to IDLE, and other test cases are executed. The robot is waited to be preempted by other experimental benches. After other experimental benches preempt the robot, the state of the robot is modified to OCCUPIED, and the state of the original experimental bench with the state of OCCUPIED is modified to WAIT. In this way, it is ensured that a single experimental bench does not occupy the robot for a long time.

[0108] The use case execution module 430 includes an L3 use case execution submodule 431, an L2 use case execution submodule 432, an L1 use case execution submodule 433, and an A use case execution submodule 434.

[0109] In this scenario, the goal of scheduling is to minimize the total time consumption of all experimental tables, which refers to the time from the start of the test task to the completion of all use case executions on each experimental table, including the actual execution time and the waiting time. To prevent the problem that all servers are waiting for the execution of intelligent use cases after the completion of the execution of all automated use cases, the strategy of parallel execution and timely interruption is adopted.

[0110] The use case execution module 430 stores the test use cases to be executed on each experimental table into a set, and determines which submodule the use case belongs to according to the use case type.

[0111] The test task includes multiple test use cases to be executed, and the robot arm is preempted. If the preemption is successful, the L3 use case with the longest execution time and the permission to be interrupted (the first intelligent use case) is considered for execution. If the preemption fails, the A use case (the automated use case) is executed.

[0112] The L3 use case execution submodule 431 needs to consider when to interrupt and the overhead of interruption, although the L3 use case can be interrupted. The interruption will generate additional overhead of the robot arm, such as movement of the robot arm, reset of the robot arm, and recording of the execution information before the interruption.

[0113] To avoid the exclusive use of the robot arm by the L3 use case for a long time, whether the execution of the L3 use case needs to be interrupted is considered after the execution of one sub-use case of the L3 use case. The interruption is allowed only when the following conditions are met: ① the state of an experimental table is WAIT; and ② the current experimental table has an unexecuted A use case that meets the requirements.

[0114] The overhead of interrupting the L3 use case is measured by time. When the movement speed of the robot arm is v, the overhead of resetting and restarting the execution after the interruption of the L3 use case is the consumption time T. Therefore, in order to save resources, the A use case with a predicted execution time shorter than the consumption time T can be executed after the interruption of the L3 use case and the release of the robot arm.

[0115] The A use case execution submodule 434 is used to determine whether there is an L1 use case (the second intelligent use case) to be executed each time an A use case is triggered for execution. If there is, the robot arm is preempted. After the preemption is successful, the A use case and the L1 use case are executed in parallel. If there is no L1 use case to be executed or the preemption of the robot arm fails, the current A use case is directly executed.

[0116] The L1 use case execution submodule 433 is configured to determine whether there is an A use case to be executed when each L1 use case is triggered to be executed, and if there is, to start to preempt the robot arm, and if the preemption is successful, to execute the A use case and the L1 use case in parallel, and if there is no A use case to be executed or the preemption of the robot arm fails, to directly execute the current L1 use case.

[0117] The L2 use case execution submodule 432 is configured to determine, after each L2 use case is executed, whether the current test task still contains an unexecuted A use case and whether there is a test bench still waiting for the robot arm, and if both are true, to release the robot arm to execute the A use case, and if not, to not release the robot arm and continue to occupy the robot arm to complete the current test task.

[0118] Figure 5 A flowchart of a test method according to yet another embodiment of the application is shown.

[0119] As shown in Figure 5 Another test method of this embodiment includes operations S501-S510.

[0120] In operation S501, a plurality of test use cases to be executed in a new test task are started to be executed, the execution time of each test use case to be executed is predicted, and the corresponding test bench flag is modified to be waiting.

[0121] According to an embodiment of the application, the waiting can be represented by WAIT.

[0122] In operation S502, whether the preemption of the robot arm is successful.

[0123] The preemption of the robot arm is started, and it is checked whether there is a robot arm in an IDLE state, and if there is, the preemption is successful and operation S503 is performed, and if not, the preemption fails and operation S508 is performed.

[0124] In operation S503, whether the plurality of test use cases to be executed contain an unexecuted L3 use case is determined, and if yes, operation S504 is performed, and if not, operation S507 is performed.

[0125] In operation S504, the next sub-use case in the L3 use case is executed.

[0126] In operation S505, whether the L3 use case is interrupted is determined, and if yes, operation S506 is performed, and if not, operation S504 is performed.

[0127] In operation S506, whether the L3 use case is executed is determined, and if yes, operation S507 is performed, and if not, operation S508 is performed.

[0128] It is judged whether the L3 use case is executed completely (the flag of L3 use case execution completion is that all sub use cases contained are executed completely), if it is executed completely, the process is ended, if not, it is judged whether it can be interrupted (the flag of judging whether it can be interrupted is that the state of the experimental table is WAIT and there is unexecuted A use case satisfying the requirement in the current experimental table), if it cannot be interrupted, the L3 is continued to be executed.

[0129] In operation S507, the L2 use case is executed completely.

[0130] If there is unexecuted L2 use case, after it is executed completely, the mechanical arm is released, it is judged whether the current L2 use case is executed completely (the flag of task execution completion is that all sub use cases contained in the current L2 use case are executed completely), if it is executed completely, the process is ended, if not, it is transferred to S508.

[0131] If not, it is judged whether there is unexecuted L1 use case, if not, the mechanical arm is released, it is judged whether the current task is executed completely (the flag of task execution completion is that all use cases contained in the current task are executed completely), if it is executed completely, the process is ended, if not, it is transferred to S508; if there is unexecuted L1 use case, it is judged whether there is unexecuted A use case, when there is A use case, the parallel execution of A use case and L1 use case is triggered, if not, the L1 use case is executed directly, after it is executed completely, it is judged whether the current task is executed completely (the flag of task execution completion is that all use cases contained in the current task are executed completely), if it is executed completely, the process is ended, if not, it is transferred to S508.

[0132] In operation S508, the A use case is triggered to be executed. Then the subsequent operation S502 is executed to judge whether the mechanical arm is successfully preempted. If yes, operation S509 is executed, if not, operation S510 is executed.

[0133] In operation S509, the A use case and the L1 use case are executed in parallel.

[0134] In operation S510, the A use case is executed completely.

[0135] If there is unexecuted L1 use case to start preempting the mechanical arm, when the preemption is successful, the concurrent execution of A and L1 is triggered, when the preemption fails or there is no unexecuted L1 use case, the use case A is executed directly, after it is executed completely, it is judged whether the current task is executed completely (the flag of task execution completion is that all use cases contained in the current task are executed completely), if it is executed completely, the process is ended, if not, it is transferred to S502 to start the loop processing again.

[0136] The multi-dimensional self-learning prediction model and the intelligent decision engine are adopted to accurately capture the task characteristics and resource states, and solve the resource conflict problem of the traditional static scheduling strategy. The dynamic priority adjustment mechanism responds to the task queue changes in real time, and the interruption overhead quantization model is combined to effectively eliminate the fragmented waiting; the robot arm path optimization and the server parallel strategy fully release the hardware potential, so that the automated testing and intelligent operation are seamlessly coordinated. The deep optimization of the whole resource link fundamentally compresses the total time consumption, and changes the robot arm from a passive execution unit to an intelligent decision node.

[0137] The dynamic adaptability of the self-learning prediction module to the execution environment guarantees the foresight and accuracy of the scheduling decision; the task interruption mechanism and the compensation strategy are cooperatively designed to ensure the immediate response of high-priority tasks while avoiding the starvation of long tasks. This intelligent scheduling system greatly reduces the server idle rate and the robot arm idle time, so that various test tasks obtain the optimal resource allocation. The lightweight architecture design provides high feasibility for industrial deployment, marking the leap from mechanical execution to intelligent collaboration in the server testing field.

[0138] According to the characteristics of each use case, the parallel execution of A use case and L1 use case is no longer only sequential execution, which effectively improves the execution efficiency. The long job can be interrupted to avoid long-term occupation of the robot arm by a single experimental table, and the overhead of interruption is controlled. The execution time of each use case is predicted by introducing spatiotemporal feature fusion and other methods, and the actual execution time can be calibrated for the next prediction. Through the predicted time, the scheduling can be more accurate to achieve the purpose of minimizing the overall time consumption.

[0139] Meanwhile, in the scenario where part of the test cases in a test task have sequence requirements, multiple test cases containing barrier protection are regarded as a whole, and multiple test cases in the overall scheduling are regarded as non-interruptible L2 type cases for execution, and the robot arm resources are not released.

[0140] Figure 6 A structural block diagram of a test device according to an embodiment of the present application is shown.

[0141] As shown in Figure 6 The test device 600 of this embodiment includes a first control module 610 and a second control module 620.

[0142] The first control module 610 is configured to control the robot arm and the first server to execute a first sub-use case in the first intelligent use case when the first intelligent use case is included in the plurality of test use cases to be executed, and there is an idle first server and an unoccupied robot arm. In an embodiment, the first control module 610 can be configured to perform the operation S210 described above, and details are not repeated here.

[0143] The second control module 620 is configured to, in a case where the execution of the first sub-use case is completed, control the second server to execute the automation use case and control the robot to execute the second intelligent use case in response to the consumed time length of the reset operation of the robot being greater than or equal to the execution time length of the automation use case, there being an idle second server, and there being the automation use case and the second intelligent use case in the plurality of test use cases to be executed. In an embodiment, the second control module 620 can be configured to perform the operation S220 described above, and details are not described herein again.

[0144] According to an embodiment of the present application, the first control module 610 comprises a first control submodule and a second control submodule. The first control submodule is configured to control the robot to configure the first server with a first test component, the first test component being adapted to the first intelligent use case. The second control submodule is configured to control the robot and the first server configured with the first test component to execute a first sub-use case in the first intelligent use case.

[0145] According to an embodiment of the present application, the second control module 620 comprises a third control submodule. The third control submodule is configured to control the robot to execute the second intelligent use case to obtain test information, the test information being used to instruct the remote server to execute the second intelligent use case according to the test information.

[0146] According to an embodiment of the present application, the apparatus further comprises a third control module. The third control module is configured to, in response to the consumed time length being less than the execution time length of the automation use case or there being no idle server, control the robot and the first server to execute a second sub-use case in the first intelligent use case.

[0147] According to an embodiment of the present application, the apparatus further comprises a fourth control module. The fourth control module is configured to, in response to the consumed time length being greater than or equal to the execution time length of the automation use case, there being no idle server, and there being the second intelligent use case in the plurality of test use cases to be executed, control the robot to execute the second intelligent use case.

[0148] According to an embodiment of the present application, the apparatus further comprises a fifth control module and a sixth control module. The fifth control module is configured to, in a case where the execution of the first intelligent use case is completed, there being a third intelligent use case in the plurality of test use cases to be executed, there being an idle server and the robot not being occupied, control the robot to configure a third server with a second test component, the second test component being adapted to the third intelligent use case. The sixth control module is configured to control the robot and the third server configured with the second test component to execute the third intelligent use case. The attribute information of the third intelligent use case is that the third intelligent use case occupies server resources, occupies robot resources, and the execution time length is greater than a second preset time length and less than a first preset time length.

[0149] According to an embodiment of the present application, the execution duration of each of the first intelligent use case, the second intelligent use case or the third intelligent use case is determined based on the following manner: feature extraction is performed on historical space-related information and historical execution sequence information associated with the intelligent use case to obtain historical space features and historical time sequence features; the historical space features and the historical time sequence features are fused to obtain historical spatio-temporal fusion features; the historical space-related information includes historical spatial position information, historical environment information and historical running information of the robot arm in the process of executing the intelligent use case, and the historical execution sequence information includes a plurality of historical execution instructions for controlling the robot arm to execute the intelligent use case; a predicted execution duration of the intelligent use case is obtained according to the historical spatio-temporal fusion features; and the predicted execution duration is adjusted by using an adjustment duration of the intelligent use case to obtain an execution duration of the intelligent use case.

[0150] According to an embodiment of the present application, the adjustment duration is determined according to a plurality of historical error durations, and the historical error duration represents a difference between a historical predicted execution duration and a historical actual execution duration of the intelligent use case.

[0151] According to an embodiment of the present application, the execution duration of the intelligent use case is an execution duration corresponding to a current test round, and the plurality of historical error durations includes a first historical error duration of each of a plurality of first historical test rounds in a first predetermined historical period and a second historical error duration of each of a plurality of second historical test rounds in a second predetermined historical period, and an ending time of the second predetermined historical period is earlier than a starting time of the first predetermined historical period.

[0152] According to an embodiment of the present application, the adjustment duration is obtained based on the following manner: a first adjustment duration is obtained according to a target first historical error duration of each of two adjacent target first historical test rounds and a historical error duration distribution value representing a distribution of the plurality of first historical error durations, the plurality of first historical test rounds include the target first historical test rounds, and the plurality of first historical error durations include the target first historical error duration; a second adjustment duration is obtained according to at least one group of historical error duration pairs determined according to the plurality of second historical error durations, the historical error duration pair includes a second historical error duration of each of two adjacent second historical test rounds; and the adjustment duration is obtained according to the first adjustment duration and the second adjustment duration.

[0153] According to an embodiment of the present application, any of the first control module 610 and the second control module 620 can be combined in one module, or any of them can be split into multiple modules. Alternatively, at least part of the functions of one or more of the modules can be combined with at least part of the functions of the other modules, and implemented in one module. According to an embodiment of the present application, at least one of the first control module 610 and the second control module 620 can 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 chip, a system on board, a system on package, an application specific integrated circuit (ASIC), or any other reasonable manner of integrating or packaging a circuit, etc. in hardware or firmware, or implemented in any one of software, hardware and firmware or in a proper combination of any of them. Alternatively, at least one of the first control module 610 and the second control module 620 can be at least partially implemented as a computer program module which, when executed, can perform the corresponding functions.

[0154] Figure 7 A block diagram of an electronic device suitable for implementing the testing method according to an embodiment of the present application is shown.

[0155] As shown in Figure 7 , the electronic device 700 according to an embodiment of the present application includes a processor 701 which can perform various appropriate actions and processes according to a program stored in a read only memory (ROM) 702 or a program loaded from a storage portion 708 into a random access memory (RAM) 703. The processor 701 can 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 701 can also include an on-board memory for cache use. The processor 701 can include a single processing unit or multiple processing units for executing different actions of the method processes according to embodiments of the present application.

[0156] In the RAM 703, various programs and data required for the operation of the electronic device 700 are stored. The processor 701, the ROM 702 and the RAM 703 are connected to each other through a bus 704. The processor 701 performs various operations of the method processes according to embodiments of the present application by executing the programs in the ROM 702 and / or the RAM 703. It is to be noted that the programs can also be stored in one or more memories other than the ROM 702 and the RAM 703. The processor 701 can also perform various operations of the method processes according to embodiments of the present application by executing the programs stored in the one or more memories.

[0157] According to an embodiment of the present application, the electronic device 700 can further include an input / output (I / O) interface 705 that is also connected to the bus 704. The electronic device 700 can further include one or more of the following components connected to the input / output (I / O) interface 705: an input part 706 including a keyboard, a mouse, etc.; an output part 707 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage part 708 including a hard disk, etc.; and a communication part 709 including a network interface card such as a LAN card, a modem, etc. The communication part 709 performs communication processing via a network such as the Internet. A drive 710 is also connected to the input / output (I / O) interface 705 as necessary. A removable medium 711 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc. is mounted on the drive 710 as necessary, so that a computer program read out therefrom is installed in the storage part 708 as necessary.

[0158] The present application also provides a computer readable storage medium, which can be included in the device / apparatus / system described in the above embodiments, or can exist separately without being assembled into the device / apparatus / system. The above computer readable storage medium carries one or more programs, which, when executed, implement the method according to the embodiments of the present application.

[0159] According to an embodiment of the present application, the computer readable storage medium can be a non-volatile computer readable storage medium, which can include, but is not limited to, a portable computer diskette, 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 disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any appropriate combination thereof. In the present application, the computer readable storage medium can be any tangible medium that contains or stores a program that can be used by or in connection with an instruction execution system, apparatus, or device. For example, according to an embodiment of the present application, the computer readable storage medium can include one or more memories such as the ROM 702 and / or the RAM 703 described above and / or one or more memory other than the ROM 702 and the RAM 703.

[0160] The embodiments of the present application also include a computer program product, which includes a computer program containing program codes for executing the method shown in the flow chart. When the computer program product is run in a computer system, the program codes are used to make the computer system implement the test method provided by the embodiments of the present application.

[0161] The above-described functions of the system / apparatus defined in the embodiments of the present application are performed when the computer program is executed by the processor 701. According to the embodiments of the present application, the system, apparatus, module, unit, etc. described above can be implemented by the computer program modules.

[0162] In one embodiment, the computer program can be stored in a tangible storage medium, such as an optical, magnetic, or other memory on a hard disk or solid state drive. In another embodiment, the computer program can be transmitted over a network, using a wireless or wired transmission medium, and downloaded and installed by the communication portion 709, and / or installed from the removable medium 711. The computer program embodied in the computer program code can be transmitted using any appropriate medium, including but not limited to wireless, wired, optical fiber cable, or any suitable combination of the foregoing.

[0163] In such an embodiment, the computer program can be downloaded and installed from the network by the communication portion 709, and / or installed from the removable medium 711. When the computer program is executed by the processor 701, the above-described functions of the system defined in the embodiments of the present application are performed. According to the embodiments of the present application, the system, apparatus, device, module, unit, etc. described above can be implemented by the computer program modules.

[0164] According to the embodiments of the present application, the program code for carrying out the computer program provided by the embodiments of the present application can be written in any combination of one or more programming languages, and specifically, these computer programs can be implemented using a high-level procedural and / or object-oriented programming language, and / or an assembly / machine language. The programming language includes, but is not limited to, such as Java, C++, python, "C" language, 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 the case involving a remote computing device, the remote computing device can be connected to the user computing device through any kind 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, connected to the Internet through an Internet service provider).

[0165] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0166] Those skilled in the art will understand that the features described in the various embodiments of this application can be combined and / or combined in various ways, even if such combinations or combinations are not explicitly described in this application. In particular, the features described in the various embodiments of this application can be combined and / or combined in various ways without departing from the spirit and teachings of this application. All such combinations and / or combinations fall within the scope of this application.

[0167] The embodiments of this application have been described above. However, these embodiments are merely illustrative and not intended to limit the scope of this application. Although various embodiments have been described above, this does not mean that the measures in the various embodiments cannot be used advantageously in combination. Without departing from the scope of this application, those skilled in the art can make various substitutions and modifications, all of which should fall within the scope of this application.

Claims

1. A test method characterized by, The method comprises: In the case that a first intelligent case is included in a plurality of test cases to be executed, and there is an idle first server and an unoccupied mechanical arm, the mechanical arm and the first server are controlled to execute a first sub-case in the first intelligent case, the first intelligent case has attribute information of occupying server resources, occupying mechanical arm resources, and an execution duration greater than a first preset duration, and the first sub-case is divided according to a reset operation of the mechanical arm in the execution of the first intelligent case; In the case that the execution of the first sub-case is completed, and the consumption duration of the reset operation of the mechanical arm is greater than or equal to the execution duration of an automation case and is less than the first preset duration, there is an idle second server, and there are the automation case and a second intelligent case in the plurality of test cases to be executed, the second server is controlled to execute the automation case, and the mechanical arm is controlled to execute the second intelligent case, the automation case has attribute information of occupying server resources, not occupying mechanical arm resources, and an execution duration less than a second preset duration, the second intelligent case has attribute information of uninterrupted execution process, not occupying server resources, occupying mechanical arm resources, and an execution duration less than the second preset duration, and the second preset duration is less than the first preset duration.

2. The method of claim 1, wherein, The control of the mechanical arm and the first server to execute the first sub-case in the first intelligent case comprises: The mechanical arm is controlled to configure a first test component for the first server, the first test component is matched with the first intelligent case; The mechanical arm and the first server configured with the first test component are controlled to execute the first sub-case in the first intelligent case.

3. The method according to claim 1 or 2, characterized in that, The control of the mechanical arm to execute the second intelligent case comprises: The mechanical arm is controlled to execute the second intelligent case to obtain test information, and the test information is used to instruct a remote server to execute the second intelligent case according to the test information.

4. The method according to claim 1 or 2, characterized in that, The method further comprises: In the case that the consumption duration is less than the execution duration of the automation case or there is no idle server, the mechanical arm and the first server are controlled to execute a second sub-case in the first intelligent case.

5. The method according to claim 1 or 2, characterized in that, The method further comprises: In the case that the consumption duration is greater than or equal to the execution duration of the automation case, there is no idle server, and there is the second intelligent case in the plurality of test cases to be executed, the mechanical arm is controlled to execute the second intelligent case.

6. The method of claim 1 or 2, wherein, The method further comprises: In the case that the execution of the first intelligent case is completed, there is a third intelligent case in the plurality of test cases to be executed, there is an idle server and an unoccupied mechanical arm, The mechanical arm is controlled to configure a second test component for the idle third server, the second test component is matched with the third intelligent case; The mechanical arm and the third server configured with the second test component are controlled to execute the third intelligent case. The attribute information of the third intelligent use case is occupying server resources, occupying robot arm resources, and the execution duration is greater than the second preset duration and less than the first preset duration.

7. The method according to claim 1 or 2, characterized in that, The execution duration of each of the first intelligent use case, the second intelligent use case, or the third intelligent use case is determined based on the following manner: Feature extraction is performed on historical space-related information and historical execution sequence information associated with the intelligent use case to obtain historical space features and historical time sequence features. The historical space-related information includes historical space position information, historical environment information, and historical running information of the robot arm during execution of the intelligent use case. The historical execution sequence information includes a plurality of historical execution instructions for controlling the robot arm to execute the intelligent use case. Feature fusion is performed on the historical space features and the historical time sequence features to obtain historical spatio-temporal fusion features. A predicted execution duration of the intelligent use case is obtained based on the historical spatio-temporal fusion features. An execution duration of the intelligent use case is obtained by adjusting the predicted execution duration using an adjustment duration of the intelligent use case.

8. The method of claim 7, wherein, The adjustment duration is determined based on a plurality of historical error durations, which represent the difference between the historical predicted execution duration and the historical actual execution duration of the intelligent use case.

9. The method of claim 8, wherein, The execution duration of the intelligent use case is the execution duration corresponding to the current test round. The plurality of historical error durations include a first historical error duration of each of a plurality of first historical test rounds in a first predetermined historical period and a second historical error duration of each of a plurality of second historical test rounds in a second predetermined historical period. The end time of the second predetermined historical period is earlier than the start time of the first predetermined historical period. The adjustment duration is obtained based on the following manner: A first adjustment duration is obtained based on the target first historical error duration of each of two adjacent target first historical test rounds and a historical error duration distribution value representing the distribution of a plurality of first historical error durations. The plurality of first historical test rounds include the target first historical test rounds, and the plurality of first historical error durations include the target first historical error durations. A second adjustment duration is obtained based on at least one set of historical error duration pairs determined based on a plurality of second historical error durations. The historical error duration pairs include the second historical error duration of each of two adjacent second historical test rounds. The adjustment duration is obtained based on the first adjustment duration and the second adjustment duration.

10. An electronic device, comprising: one or more processors; a memory for storing one or more computer programs, 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-9.

Citation Information

Patent Citations

  • Automatic test method and device, storage medium and electronic equipment

    CN112286806A

  • Robot control device

    US20120259463A1