Performance test method and device, electronic equipment and storage medium

By automating the determination of the function model, the problem of inconsistent performance test results in existing technologies has been solved, resulting in more accurate performance test results.

CN116302864BActive Publication Date: 2026-07-28CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD
Filing Date
2021-12-06
Publication Date
2026-07-28

AI Technical Summary

Technical Problem

In existing technologies, the test results of performance tests do not match the actual performance in real-world work scenarios, resulting in poor performance test results.

Method used

By determining the data sequence corresponding to the tasks of the application system, calculating the coefficient of variation and the average value, and determining the function model based on these parameters, the performance indicators of the application system can be tested automatically without the need for manual setting of the function model.

Benefits of technology

It improves the accuracy and effectiveness of performance testing, and automates and increases the accuracy of performance test results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116302864B_ABST
    Figure CN116302864B_ABST
Patent Text Reader

Abstract

The application discloses a performance test method and device, electronic equipment and a storage medium, wherein the method comprises: determining at least two first data sequences corresponding to a first task; the first task represents an analysis task of a performance index of an application system; in a case where a first parameter is greater than a first set threshold, updating the first data sequence according to a second data sequence corresponding to each first data sequence; each second element is determined based on corresponding two adjacent first elements in the corresponding first data sequence; the first parameter represents a coefficient of variation determined based on a second parameter of each second data sequence in the at least two second data sequences; the second parameter represents an average value of elements in the corresponding second data sequence; in a case where the first parameter is less than or equal to the first set threshold, determining a function model corresponding to the first task based on the number of updates of the first data sequence, and testing the application system corresponding to the first task according to the function model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer testing technology, and in particular to a performance testing method, apparatus, electronic device, and storage medium. Background Technology

[0002] To meet user needs and improve user experience, developers need to conduct performance tests on application systems. In practical applications, testing tools are used to simulate load conditions and test various performance indicators.

[0003] In related technologies, the use of manually defined function models to test performance indicators during application system testing leads to test results that do not match the actual performance in real-world scenarios, resulting in poor performance testing effectiveness. Summary of the Invention

[0004] In view of this, embodiments of this application provide a performance testing method, apparatus, electronic device, and storage medium to at least solve the problem of poor performance testing results in related technologies.

[0005] The technical solution of this application embodiment is implemented as follows:

[0006] This application provides a performance testing method, the method comprising:

[0007] Identify at least two first data sequences corresponding to the first task; the first task represents a task that analyzes the application system regarding set performance indicators;

[0008] When the first parameter is greater than the first set threshold, the corresponding first data sequence is updated according to the second element in the second data sequence corresponding to each first data sequence; wherein, each second element in the second data sequence is determined based on two adjacent first elements in the corresponding first data sequence; the first parameter represents the coefficient of variation determined based on the second parameter of each second data sequence in at least two second data sequences; the second parameter represents the average value of the second element in the corresponding second data sequence;

[0009] If the first parameter is less than or equal to the first set threshold, the function model corresponding to the first task is determined based on the number of updates of the first data sequence, and the application system corresponding to the first task is tested according to the determined function model.

[0010] In the above scheme, before determining at least two first data sequences corresponding to the first task, the method further includes:

[0011] A first task sequence is determined; the first task sequence represents the execution order of at least one task; the at least one task includes the first task.

[0012] In the above scheme, determining the first task sequence includes:

[0013] Based on the first priority of the corresponding configuration container and the second priority of the tasks within the corresponding configuration container, a first task sequence is determined; wherein,

[0014] The tasks in the specified container correspond to the same task type.

[0015] In the above scheme, the task types include analysis tasks and / or data collection tasks.

[0016] In the above scheme, before determining the first task sequence, the method further includes:

[0017] Determine the third priority for each of at least two sets of configuration information; each set of configuration information is used to configure at least one corresponding task.

[0018] Based on the third priority of each set of configuration information, the second priority of the corresponding task is determined.

[0019] In the above scheme, determining the third priority of each of the at least two sets of configuration information includes:

[0020] Load the first operation object corresponding to each of the at least two sets of configuration information in the settings interface;

[0021] In response to a first operation targeting at least one first operation object, a third priority is determined for each of the at least two sets of configuration information; wherein...

[0022] The first operation is used to indicate the order of at least one set of configuration information corresponding to the at least one first operation object.

[0023] In the above scheme, when testing the application system corresponding to the first task based on the determined function model, the method includes:

[0024] If the test data obtained from performing the first task is not within the set range, an alarm message will be output; the set range is calculated based on the determined function model.

[0025] This application embodiment also provides a performance testing apparatus, including:

[0026] A first display unit is configured to display a first list in a designated area; the first list displays at least two first texts; each of the at least two first texts represents the text to be copied corresponding to a copy instruction;

[0027] A paste unit is used to paste second text; the second text is generated based on at least two first texts in the first list.

[0028] This application also provides an electronic device, including: a processor and a memory for storing a computer program capable of running on the processor.

[0029] The processor is used to execute the steps of the above-described performance testing method when running the computer program.

[0030] This application also provides a storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the above-described performance testing method.

[0031] In this embodiment, at least two first data sequences corresponding to a first task are determined; the first task represents a task of analyzing the application system regarding set performance indicators; when a first parameter is greater than a first set threshold, the corresponding first data sequence is updated based on the second element in the second data sequence corresponding to each first data sequence; wherein, each second element in the second data sequence is determined based on two adjacent first elements in the corresponding first data sequence; the first parameter represents the coefficient of variation determined based on the second parameter of each of the at least two second data sequences; the second parameter represents the average value of the second element in the corresponding second data sequence; when the first parameter is less than or equal to the first set threshold, the function model corresponding to the first task is determined based on the number of updates of the first data sequence, and the application system corresponding to the first task is tested based on the determined function model. In the above scheme, the function model is determined based on each element of the data sequence corresponding to the performance indicator analysis task, and the application system corresponding to the task is tested based on the determined function model, eliminating the need for manually setting the function model and improving the accuracy of the performance test results. Attached Figure Description

[0032] Figure 1 A schematic diagram of the performance testing architecture and process provided in the embodiments of this application;

[0033] Figure 2 A schematic diagram illustrating the implementation process of the performance testing method provided in this application embodiment;

[0034] Figure 3 A schematic diagram of a directed graph for task execution provided in an embodiment of this application;

[0035] Figure 4 A flowchart illustrating the function model analysis provided for an application embodiment of this application;

[0036] Figure 5 This is a schematic diagram of the structure of a performance testing device provided in an embodiment of this application;

[0037] Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0038] To meet user needs and improve user experience, developers need to conduct performance testing on application systems. Performance testing plays a crucial role in ensuring the quality of application systems. Application system performance testing includes three aspects: client-side performance testing, network performance testing, and server-side performance testing. By effectively and reasonably combining these three aspects, a comprehensive analysis and prediction of system performance can be achieved. In practical applications, testing tools can be used to simulate load conditions and test various performance indicators.

[0039] In related technologies, the use of manually defined function models to test performance indicators during application system testing leads to test results that do not match the actual performance in real-world scenarios, resulting in poor performance testing effectiveness.

[0040] Based on this, in various embodiments of this application, at least two first data sequences corresponding to a first task are determined; the first task represents a task of analyzing the application system regarding set performance indicators; when the first parameter is greater than a first set threshold, the corresponding first data sequence is updated according to the second element in the second data sequence corresponding to each first data sequence; wherein, each second element in the second data sequence is determined based on two adjacent first elements in the corresponding first data sequence; the first parameter represents the coefficient of variation determined based on the second parameter of each of the at least two second data sequences; the second parameter represents the average value of the second element in the corresponding second data sequence; when the first parameter is less than or equal to the first set threshold, the function model corresponding to the first task is determined based on the number of updates of the first data sequence, and the application system corresponding to the first task is tested according to the determined function model. In the above scheme, the function model is determined based on each element of the data sequence corresponding to the performance indicator analysis task, and the application system corresponding to the task is tested according to the determined function model, without the need for manually setting the function model, thus improving the accuracy of the performance test results.

[0041] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0042] Figure 1 This is a schematic diagram of a performance testing architecture provided in an embodiment of this application. The performance testing architecture includes a configuration center, a task center, an execution module, and a metric model.

[0043] In the configuration center, users can determine at least two sets of configuration information based on the target object under test (e.g., an application system). Each set of configuration information includes at least one configuration piece of information, and each configuration piece of information is used to configure a corresponding task, determining the task type for each task. Configuration information is divided into two types: data collection configuration information and analysis configuration information.

[0044] The task center breaks down the received, orchestrated configuration information into corresponding tasks according to the type of configuration information. Based on the task type of each task, it determines the task sequence of all tasks and generates a directed graph for task execution.

[0045] The execution module includes a data acquisition module, an analysis module, a function model library, and a data source.

[0046] The data acquisition module, based on task configuration information, completes real-time data acquisition and obtains data from the data source. It integrates commonly used performance testing tools such as JMeter, FIO, Sysbench, and Iperf3, thereby automating the entire process from test tool installation, script execution, and test result collection.

[0047] The analysis module, based on the task's configuration information, acquires data and determines the function model from a function model library or based on the data. By setting the expected performance metric values ​​and the function model, it calculates the boundary values ​​of the performance metrics. If the performance metric value exceeds the boundary value, it is determined that the performance metric value is abnormal. In cases of abnormality, the module notifies the user via SMS or email, depending on the severity of the anomaly.

[0048] The function model library stores existing or newly added function models.

[0049] Figure 2 This is a schematic diagram illustrating the implementation process of the performance testing method provided in this application embodiment. This application embodiment provides a performance testing method applied to electronic devices, wherein the electronic devices include, but are not limited to, servers, terminals, and other electronic devices.

[0050] like Figure 2 The performance testing methods shown include:

[0051] Step 201: Determine at least two first data sequences corresponding to the first task.

[0052] The first task represents the task of analyzing the application system regarding the set performance indicators.

[0053] Based on the configuration information of the analysis task with defined performance metrics, data for the defined performance metrics are collected and divided into at least two first data sequences according to defined rules. Here, the data can be divided according to the time sequence of the collected data.

[0054] This includes setting performance metrics, including but not limited to: concurrency, response time, queries per second (QPS), and throughput (TPS).

[0055] Here, the source of the first element in at least two first data sequences corresponding to the first task includes, but is not limited to: user uploads; data determined in the data source; and data collected according to the collection task.

[0056] Step 202: If the first parameter is greater than the first set threshold, update the corresponding first data sequence according to the second element in the second data sequence corresponding to each first data sequence.

[0057] Wherein, each second element in the second data sequence is determined based on two adjacent first elements in the corresponding first data sequence; the first parameter represents the coefficient of variation determined based on the second parameter of each of the at least two second data sequences; the second parameter represents the average value of the second element in the corresponding second data sequence.

[0058] The second element is determined by calculating the values ​​of each pair of adjacent first elements in the first data sequence. Thus, the corresponding second data sequence can be obtained based on each of the at least two first data sequences. The average value of the second elements in the second data sequence is then calculated to obtain the corresponding second parameter. Finally, the coefficient of variation of the second parameter corresponding to the at least two second data sequences is calculated to obtain the first parameter.

[0059] If the second parameter is greater than the first set threshold, the first element of the first data sequence is cleared, and the second element of the second data sequence is used as the first element of the first data sequence to update the first data sequence. The first set threshold can be set to 1.

[0060] Here, the coefficient of variation can be calculated using equation (1):

[0061]

[0062] Where S represents the standard deviation of at least two second parameters. It represents the average of at least two second parameters.

[0063] Specifically, the second element is determined according to the dimension of the collected data using a corresponding method. In some embodiments, when the first element is one-dimensional data, determining the second data sequence corresponding to each first data sequence includes: determining the corresponding second data sequence based on the difference between two adjacent first elements in each first data sequence. When the first element is two-dimensional data, determining the second data sequence corresponding to each first data sequence includes: determining the corresponding second data sequence based on the slope of two adjacent first elements in each first data sequence. When the first element is three-dimensional data, determining the second data sequence corresponding to each first data sequence includes: determining the corresponding second data sequence based on the distance between two adjacent first elements in each first data sequence.

[0064] Step 203: When the first parameter is less than or equal to the first set threshold, determine the function model corresponding to the first task based on the number of updates of the first data sequence, and test the application system corresponding to the first task according to the determined function model. When the second parameter is less than or equal to the first set threshold, determine the function model based on the number of updates of the first data sequence, and determine the undetermined coefficients of the function model based on the collected data of the set performance indicators. Based on the function model with defined coefficients, test the application system corresponding to the first task regarding the set performance indicators.

[0065] For example, if the coefficients of variation of at least two of the second parameters are less than 1 after updating the first data sequence twice, then the function model is a quadratic equation in one variable. The undetermined coefficients are then determined using the substitution method, thus establishing a function model with definite coefficients. Finally, based on the determined function model, the application system corresponding to the first task is tested against specified performance indicators.

[0066] In this embodiment, a function model is determined for each element of the data sequence corresponding to the performance index analysis task, and the application system corresponding to the task is tested according to the determined function model. There is no need to manually set the function model, which overcomes the problem of poor performance test results caused by manually setting the function model, improves the accuracy of test results, and enhances the performance test effect.

[0067] In one embodiment, in step 203, when testing the application system corresponding to the first task according to the determined function model, the method includes:

[0068] If the test data obtained from performing the first task is not within the set range, an alarm message will be output; the set range is calculated based on the determined function model.

[0069] The test data obtained from executing the first task is the performance metric data of the application system. By setting the expected performance metric values, calculating boundary values ​​based on the determined function model, defining the set range, and predicting whether there are any anomalies in the performance metric test data based on the set range, if the test data is found to be outside the set range, it is determined that an alarm needs to be issued to the user and an alarm message is output, thereby realizing the testing of the application system corresponding to the first task.

[0070] In one embodiment, before determining at least two first data sequences corresponding to the first task, the method further includes:

[0071] A first task sequence is determined; the first task sequence represents the execution order of at least one task; the at least one task includes the first task.

[0072] Before executing the first task, the electronic device determines a first task sequence that characterizes the execution order of at least one task, and executes the tasks sequentially according to the first task sequence. Among these, at least one task includes a first task that analyzes the application system regarding set performance metrics. In this way, by orchestrating the task sequence, automated testing and analysis of performance metrics can be achieved.

[0073] In one embodiment, determining the first task sequence includes:

[0074] Based on the first priority of the corresponding configuration container and the second priority of the tasks within the corresponding configuration container, a first task sequence is determined; wherein,

[0075] The tasks in the specified container correspond to the same task type.

[0076] Based on the first priority corresponding to each task type, determine the priority order of various task types. Based on the second priority of each task, determine the execution priority order of each task within the same task type. Based on the determined priority order of task types and the execution priority order of each task within the same task type, determine the execution order of each task.

[0077] In one embodiment, before determining the first task sequence, the method further includes:

[0078] Determine the third priority for each of at least two sets of configuration information; each set of configuration information is used to configure at least one corresponding task.

[0079] Based on the third priority of each set of configuration information, the second priority of the corresponding task is determined.

[0080] Users define at least two sets of configuration information through the configuration center, determine the third priority of each set, and each set includes at least one configuration piece of information. Each configuration piece of information can be configured with a corresponding task. At least one task is configured based on each set of configuration information, and the second priority of the corresponding task is determined based on the third priority of each set. When analyzing and testing performance metrics, users can customize the configuration according to their needs. In complex simulation scenarios involving the execution of multiple tasks, the task sequence for execution can be determined by setting the third priority of at least two sets of configuration information. This improves the universality of the performance testing method, enhances the accuracy of the test results, and improves the effectiveness of performance testing.

[0081] In one embodiment, determining the third priority of each of the at least two sets of configuration information includes:

[0082] Load the first operation object corresponding to each of the at least two sets of configuration information in the settings interface;

[0083] In response to a first operation targeting at least one first operation object, a third priority is determined for each of the at least two sets of configuration information; wherein...

[0084] The first operation is used to indicate the order of at least one set of configuration information corresponding to the at least one operation object.

[0085] Here, by loading a first operation object representing configuration information in the settings interface, the system receives a first operation from the user on at least one first operation object. This first operation indicates the order of a set of configuration information corresponding to each first operation object within all configuration information. In response to the first operation, the electronic device determines a third priority for each of at least two sets of configuration information. Here, the first operation on at least one first operation object can be any operation that determines the order of the first operation objects, such as the click order of at least one first operation object, or dragging within a sequence.

[0086] This simplifies user operations and improves efficiency when users determine the third priority of at least two sets of configuration information, thereby enhancing the efficiency of performance testing.

[0087] In one embodiment, the task type includes analysis tasks and / or data collection tasks.

[0088] The task types include at least analysis tasks, and may also include data collection tasks. The first task belongs to the analysis task category. Here, when executing an analysis task, the task's configuration information can be parsed to adapt to the performance testing tools provided in the scheduling center, and performance data collection can be completed in a targeted manner.

[0089] When both analysis and data collection tasks exist, data collection tasks typically have higher priority than analysis tasks. This allows performance metrics data to be collected in real time before analysis tasks are executed, improving the accuracy of application system test results and enhancing the effectiveness of performance testing.

[0090] In practical applications, historical data and real-time collected data from the data source can be combined to test the application system. This can better reflect the quality problems of the system and further improve the effectiveness of performance testing.

[0091] like Figure 3 The illustrated directed graph of task execution shows that tasks are typically executed sequentially when determining the first task sequence. However, for some task types, such as data collection tasks, parallel execution is supported. This means that at least two data collection tasks can have the same second priority, and these tasks will be executed simultaneously. For example, data collection tasks include Task 1, Task 2, and Task 3, while analysis tasks include Task 4. The first priority of data collection tasks is higher than that of analysis tasks, and the second priority of Task 1 and Task 2 is the same, higher than that of Task 3. Therefore, the determined first task sequence is: (Task 1 and Task 2), Task 3, Task 4.

[0092] The existing technologies employ single-scenario data acquisition, meaning data acquisition is performed only once. In practical applications, users cannot exclusively use the application, nor can the application exclusively use hardware resources. For such complex performance testing scenarios, single-scenario data acquisition cannot comprehensively achieve data collection. The above solution, through a first task sequence, executes at least two acquisition tasks simultaneously, enabling the simultaneous acquisition of multiple sets of data. This makes the performance testing method universally applicable to various simulation scenarios, especially complex ones. This improves the versatility of the performance testing method, enhances the accuracy of test results, and improves the effectiveness of performance testing.

[0093] The present application will now be described in further detail with reference to application embodiments.

[0094] based on Figure 1 The following is a schematic diagram illustrating the performance testing architecture and process provided in the embodiments of this application. The performance testing architecture includes:

[0095] Configuration Center. Users can define at least two sets of configuration information based on the target object under test (e.g., an application system). Each set includes at least one configuration piece of information, and each configuration piece of information is used to configure a corresponding task. Configuration information is divided into two types: data collection configuration information and analysis configuration information. The difference between the two lies in whether real-time performance data collection is required. For data collection configuration information, users first select performance metrics, then select the corresponding testing tool, and input the data collection environment information. For analysis configuration information, users need to upload test data or use SQL queries to lock the data source and the expected performance metrics. Here, users can select the expected function model.

[0096] Meanwhile, the configuration center supports graphical orchestration. By displaying corresponding objects in the settings interface and responding to user actions on these objects, the order of each set of configuration information is determined, thereby establishing the task sequence. This improves the accuracy of the collected data during the data acquisition process, thus enhancing the effectiveness of test analysis.

[0097] Here, the arranged configuration information forms a quality analysis task, which is then submitted to the task center.

[0098] Task Center. Based on the type of configuration information, the received, orchestrated configuration information is broken down into corresponding tasks, and a task sequence is determined. Task types include: data collection tasks and analysis tasks. The Task Center generates a directed graph of task execution based on the task sequence. Data collection tasks have higher priority than analysis tasks. The data collection process supports the following task sequences: parallel tasks and serial tasks.

[0099] Figure 3 The diagram illustrates a directed graph for task execution. Each node in the graph represents a task, and the task sequence represents the execution order of the corresponding tasks, acting as directed edges. It also records the number of incoming nodes. The time configured in each task is the start time for execution in each graph. Once the time arrives, tasks with 0 incoming nodes in the directed graph—that is, the start node of the directed graph—are distributed to the execution modules for distributed execution.

[0100] For example, the task center receives pre-arranged configuration information, including two sets of configuration information (Configuration Information Group 1 and Configuration Information Group 2), arranged in the order of Configuration Information Group 1 and Configuration Information Group 2. First, the task center decomposes each set of configuration information into tasks according to its type. Configuration Information Group 1 contains both data collection and analysis configuration information, and is split into Data Collection Task 1 and Analysis Task 3. Configuration Information Group 2 contains only data collection configuration information, and is split into Data Collection Task 2. Data collection subtasks have higher priority than other tasks. Each task is a node in the graph, and the task sequence represents the corresponding task execution order, acting as directed edges. The number of incoming nodes is also recorded. The directed graph at this point is as follows: Figure 3 The multi-task execution is sequential, with the task order as follows: Data Collection Task 1 (Number of Incoming Nodes: 0) → Data Collection Task 2 (Number of Incoming Nodes: 1) → Analysis Task 3 (Number of Incoming Nodes: 1). The task center first queues the data collection tasks, ensuring each queued task has 0 incoming nodes (i.e., the start node of the graph), forming a task execution queue. At this point, the queue only contains Task 1. The first subtask executes at the start time set for the analysis task, following the queue entry order. This is then distributed to the data collection module's Agent through load balancing. After each task completes, it returns to the directed graph to find the next node and decrements the number of incoming nodes in that node. When the number of incoming nodes in the next node is 0, it is added to the task execution queue. This process repeats until the number of incoming nodes in each node of the directed graph is 0, at which point the quality analysis task ends.

[0101] The execution module includes a data acquisition module, an analysis module, and a function model library. The data acquisition module performs real-time data acquisition, providing a data source for the analysis module.

[0102] The core of the data acquisition module is the scheduling center. In addition to the task scheduling mechanism, the scheduling center also integrates commonly used performance testing tools such as JMeter, FIO, Sysbench, and Iperf3, thereby automating the entire process from test tool installation, script execution, and test result collection.

[0103] The analysis module acquires data from data sources, simulates and matches the optimal function model, and finally analyzes the indicator trend curve to predict the results of the next test. If the results exceed the configured range, the user to whom the configuration belongs will be notified via SMS or email.

[0104] by Figure 3The task execution diagram shown illustrates a multi-task sequence. The task center breaks down the user-configured tasks into acquisition task 1, acquisition task 2, and analysis task 3. The execution module sends acquisition task 1 and acquisition task 2 to the acquisition module, and analysis task 3 to the analysis module.

[0105] In practical applications, the acquisition module receives acquisition task 1, acquisition task 2, and the task execution order, and generates task Wait Queues. The Wait Queues parse the task parameters sequentially, assemble them into task entities, and send them to the scheduling center in order. The scheduling center adapts to the performance testing tool, completing installation, execution, and real-time data acquisition. After a task completes execution, the acquired data is returned and stored in the data source. If task scheduling fails, it will be repeated three times. If the retry still fails, the acquisition module will report to the execution module and notify the user. After all acquisition tasks are completed, the status is returned to the execution module.

[0106] After receiving Analysis Task 3 from the execution module, the analysis module retrieves data from the data source and a function model from the function model library based on the configuration information of Analysis Task 3. If the function model does not exist in the function model library, the module analyzes and processes the retrieved data to determine the dispersion of the processed data and then determines the function model. If the function model exists in the function model library, the module verifies the dispersion of the new data with the function model curve and corrects the function model. Finally, the function model is updated in the function model library. This allows for the maintenance and continuous correction of the indicator function model. Analysis Task 3 uses the function model to predict whether the performance indicator is abnormal by setting the expected performance indicator value as a parameter. Here, the boundary value of the performance indicator can be calculated using the set expected performance indicator value and the function model. If the performance indicator value exceeds the boundary value, it is determined that the performance indicator value is abnormal. If an anomaly is detected, the module notifies the user via SMS or email alert, depending on the severity of the anomaly.

[0107] The function model library, in addition to fixed, commonly used functions, also includes new function models. New function models can be generated during the execution of analysis tasks; see the analysis module in the function model library for details. After each data analysis execution, new function models are added to the function model library, updating the indicator function library. The function models in the function model library include at least two types: specified function models and derived function models. Specified function models correspond to mathematical functional equations, containing undetermined coefficients, such as y = a (a ≠ 0), y = ax + b (a ≠ 0), y = ax + b (a ≠ 0), etc. 2 +bx+c (a≠0), etc. Derivation of function models with clearly defined coefficients, in the form of y=10, y=2x+10, y=x 2 +2x+10, etc.

[0108] Figure 4 A flowchart illustrating the function model analysis process is shown.

[0109] First, analyze the configuration information of the analysis task.

[0110] If the user specifies a function model through configuration settings, the analysis module retrieves the function model from the function model library and uses regular expressions to determine if it contains undetermined coefficients. If the function model contains undetermined coefficients, it retrieves the data collected corresponding to this performance metric from the data source, substitutes the collected data into the function model, solves for the undetermined coefficients a or b, and determines the function equation (for a function model with defined coefficients). If the function model does not contain undetermined coefficients, y = expected value, calculates the corresponding x, and determines whether x exceeds the boundary value (i.e., is outside the set range). By setting the expected performance metric value as a parameter, the module predicts whether the performance metric is abnormal based on the function model.

[0111] If the user does not specify a function model through configuration settings, the function model needs to be derived first. First determine the function model, then determine the coefficients.

[0112] Data on performance metrics is collected from a data source and arranged chronologically to determine at least two first data sequences. This can be set to 3 to 5 first data sequences. Taking 3 first data sequences as an example, for each first data sequence, the slope between each first element (i.e., data) and the next first element is calculated within a specified range of the data sequence, resulting in a slope array as the second data sequence. Each second element in the second data sequence represents a slope. For each second data sequence, the average of all second elements in the data sequence is calculated as the second parameter. Then, the coefficient of variation between the second parameters of each second data sequence is calculated to determine the dispersion of the second elements. When the dispersion is greater than 1, the corresponding first data sequence is updated based on the second element in the second data sequence. That is, the first element in the updated first data sequence is the second element of the corresponding second data sequence. The slope is then calculated for the first element of the updated first data sequence to obtain the updated second data sequence. The second parameters of the second data sequence are calculated, and the coefficient of variation between the second parameters is determined. This process is repeated until the coefficient of variation representing the dispersion is less than 1. The number of iterations (i.e., the number of updates) is determined as the number of iterations in the function model. For example, if the coefficient of variation is less than 1 when the data sequence is updated twice, then the function model is a quadratic equation in one variable. By setting a function model with undetermined coefficients, and then finding the undetermined coefficients by substituting variables, the function model can be determined. By setting the value of the expected performance index as a parameter, the performance index can be predicted to be abnormal based on the function model.

[0113] When the same performance metric is configured multiple times, and a function model exists in the function model library, the function model is corrected. In the analysis module, the previously used function model is determined based on the performance metric, and the newly collected data is substituted into the previously used function model. If the function model does not conform, it is discarded, and a new function model is derived, with undetermined coefficients calculated. The equation of the determined function model is saved to the function model library. In this way, the function model library contains at least one function equation for the same performance metric, thus achieving the maintenance of the function models in the library.

[0114] Since the function model library contains at least one function equation with the same performance metric, it can be set to default to the previously determined function model when the user does not specify a function model.

[0115] By using a performance testing architecture, the entire process from data collection for performance indicator testing to data analysis to form indicator function models, and then to judging performance indicators based on indicator function models, is fully automated. This reduces the human cost of data processing, improves the efficiency and accuracy of performance testing, and thus enhances the effectiveness of performance testing.

[0116] Quality analysis processes performance metrics obtained from testing to derive analytical results, thereby assessing whether the tested system or service has quality issues.

[0117] As mentioned earlier, in practical applications, testing tools can be used to simulate load conditions and test various performance indicators. However, due to the existence of numerous performance testing tools, or the long time cycles involved in executing multiple tests for the same performance indicator, the collected performance data is somewhat scattered, which is not conducive to the overall analysis of test quality. Moreover, after the performance indicator data is collected, the aggregation and analysis are mostly done manually, which keeps performance testing in a semi-automated state.

[0118] In the application embodiments of this application, an automated performance indicator testing method and system are proposed. This system can realize quality analysis and prediction of the target object under test, supports the selection of tools for collecting performance indicator data, and supports distributed performance data collection. After data collection, the corresponding function model can be obtained through analysis, entered into the indicator function library, predict the boundary values ​​of performance indicators, and provide early warnings to users.

[0119] To implement the method of the embodiments of this application, the embodiments of this application also provide a performance testing device, such as... Figure 5 As shown, the device includes:

[0120] The first processing unit 501 is configured to determine at least two first data sequences corresponding to the first task; the first task represents a task of analyzing the application system regarding set performance indicators;

[0121] The update unit 502 is used to update the corresponding first data sequence according to the second element in the second data sequence corresponding to each first data sequence when the first parameter is greater than the first preset threshold; wherein, each second element in the second data sequence is determined based on two adjacent first elements in the corresponding first data sequence; the first parameter represents the coefficient of variation determined based on the second parameter of each second data sequence in at least two second data sequences; the second parameter represents the average value of the second element in the corresponding second data sequence;

[0122] The second processing unit 503 is used to determine the function model corresponding to the first task based on the number of updates of the first data sequence when the first parameter is less than or equal to the first set threshold, and to test the application system corresponding to the first task based on the determined function model.

[0123] In one embodiment, the device further includes:

[0124] A third processing unit is configured to determine a first task sequence; the first task sequence represents the execution order of at least one task; the at least one task includes the first task.

[0125] In one embodiment, the third processing unit is configured to:

[0126] Based on the first priority of the corresponding configuration container and the second priority of the tasks within the corresponding configuration container, a first task sequence is determined; wherein,

[0127] The tasks in the specified container correspond to the same task type.

[0128] In one embodiment, the task type includes analysis tasks and / or data collection tasks.

[0129] In one embodiment, the apparatus further includes:

[0130] The fourth processing unit is used to determine the third priority of each of the at least two sets of configuration information; each set of configuration information is used to configure at least one corresponding task.

[0131] The fifth processing unit is used to determine the second priority of the corresponding task based on the third priority of each set of configuration information.

[0132] In one embodiment, the fourth processing unit is configured to:

[0133] Load the first operation object corresponding to each of the at least two sets of configuration information in the settings interface;

[0134] In response to a first operation targeting at least one first operation object, a third priority is determined for each of the at least two sets of configuration information; wherein...

[0135] The first operation is used to indicate the order of at least one set of configuration information corresponding to the at least one first operation object.

[0136] In one embodiment, the second processing unit 503 is further configured to:

[0137] If the test data obtained from performing the first task is not within the set range, an alarm message will be output; the set range is calculated based on the determined function model.

[0138] In practical applications, the first processing unit 501, the update unit 502, the second processing unit 503, the third processing unit, the fourth processing unit, and the fifth processing unit can be implemented by processors in the performance testing device, such as central processing units (CPUs), digital signal processors (DSPs), microcontroller units (MCUs), or field-programmable gate arrays (FPGAs).

[0139] It should be noted that the performance testing device provided in the above embodiments is only illustrated by the division of the above program modules. In practical applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device can be divided into different program modules to complete all or part of the processing described above. In addition, the performance testing device and the performance testing method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process can be found in the method embodiments, which will not be repeated here.

[0140] Based on the hardware implementation of the above program modules, and in order to implement the performance testing method of the embodiments of this application, the embodiments of this application also provide an electronic device. Figure 6 This is a schematic diagram of the hardware structure of the electronic device according to an embodiment of this application, as shown below. Figure 6 As shown, the electronic device includes:

[0141] Communication interface 1 enables information exchange with other devices, such as network devices;

[0142] Processor 2 is connected to communication interface 1 to enable information interaction with other devices and to execute the methods provided by one or more of the above-mentioned technical solutions when running computer programs. The computer program is stored in memory 3.

[0143] Of course, in practical applications, the various components in an electronic device are coupled together through bus system 4. It can be understood that bus system 4 is used to achieve communication and connection between these components. In addition to the data bus, bus system 4 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 6 The general will label all buses as Bus System 4.

[0144] In this embodiment of the invention, memory 3 is used to store various types of data to support the operation of the electronic device. Examples of such data include any computer program used to operate on the electronic device.

[0145] It is understood that memory 3 can be volatile memory or non-volatile memory, or both. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic random access memory (FRAM), flash memory, magnetic surface memory, optical disc, or compact disc read-only memory (CD-ROM); magnetic surface memory can be disk storage or magnetic tape storage. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Synchronous Static Random Access Memory (SSRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), SyncLink Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM).The memory 2 described in the embodiments of the present invention is intended to include, but is not limited to, these and any other suitable types of memory.

[0146] The methods disclosed in the above embodiments of the present invention can be applied to processor 2, or implemented by processor 2. Processor 2 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware in processor 2 or by instructions in software form. The processor 2 may be a general-purpose processor, DSP, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Processor 2 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present invention. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of the present invention can be directly manifested as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software modules may be located in a storage medium, which is located in memory 3. Processor 2 reads the program in memory 3 and completes the steps of the aforementioned method in conjunction with its hardware.

[0147] When processor 2 executes the program, it implements the corresponding processes in the various methods of the embodiments of the present invention. For the sake of brevity, these will not be described in detail here.

[0148] In an exemplary embodiment, the present invention also provides a storage medium, namely a computer storage medium, specifically a computer-readable storage medium, such as a memory 3 that stores a computer program, which can be executed by a processor 2 to complete the steps described in the foregoing method. The computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disc, or CD-ROM.

[0149] In the several embodiments provided in this application, it should be understood that the disclosed apparatus, electronic devices, and methods can be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components may be combined, or integrated into another system, or some features may be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed may be through some interfaces, and the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0150] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the units may be selected to achieve the purpose of this embodiment according to actual needs.

[0151] In addition, each functional unit in the various embodiments of this application can be integrated into one processing unit, or each unit can be a separate unit, or two or more units can be integrated into one unit; the integrated unit can be implemented in hardware or in the form of hardware plus software functional units.

[0152] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as mobile storage devices, ROM, RAM, magnetic disks, or optical disks.

[0153] Alternatively, if the integrated units described above are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, or the parts that contribute to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROM, RAM, magnetic disks, or optical disks.

[0154] It should be noted that the technical solutions described in the embodiments of this application can be combined arbitrarily without conflict. Unless otherwise stated and limited, the term "connection" should be interpreted broadly. For example, it can refer to an electrical connection, or the internal connection between two components. It can be a direct connection or an indirect connection through an intermediate medium. Those skilled in the art can understand the specific meaning of the above term according to the specific circumstances.

[0155] Furthermore, in the examples of this application, "first," "second," etc., are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that the objects distinguished by "first," "second," and "third" can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in a sequence other than those illustrated or described herein.

[0156] In this document, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent three cases: A alone, A and B simultaneously, and B alone. Additionally, the term "at least one" in this document means any combination of at least two of any one or more of a plurality of elements. For example, including at least one of A, B, and C can mean including any one or more elements selected from the set consisting of A, B, and C.

[0157] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

[0158] The specific technical features described in the various embodiments in the detailed implementation can be combined in various ways without contradiction. For example, different implementation methods can be formed by combining different specific technical features. In order to avoid unnecessary repetition, the various possible combinations of the specific technical features in this application will not be described separately.

Claims

1. A performance testing method, characterized in that, The method includes: Identify at least two first data sequences corresponding to the first task; the first task represents a task that analyzes the application system regarding set performance indicators; When the first parameter is greater than the first set threshold, the corresponding first data sequence is updated according to the second element in the second data sequence corresponding to each first data sequence; wherein, each second element in the second data sequence is determined based on two adjacent first elements in the corresponding first data sequence; the first parameter represents the coefficient of variation determined based on the second parameter of each second data sequence in at least two second data sequences; the second parameter represents the average value of the second element in the corresponding second data sequence; When the first parameter is less than or equal to the first set threshold, the function model corresponding to the first task is determined based on the number of updates of the first data sequence, and the application system corresponding to the first task is tested according to the determined function model; wherein, the function model is a univariate polynomial function model, the number of updates based on the first data sequence is used to determine the degree of the function model; the coefficients of the function model are determined based on the collected data of the set performance index.

2. The method according to claim 1, characterized in that, Before determining at least two first data sequences corresponding to the first task, the method further includes: A first task sequence is determined; the first task sequence represents the execution order of at least one task; the at least one task includes the first task.

3. The method according to claim 2, characterized in that, Determining the first task sequence includes: Based on the first priority of the corresponding configuration container and the second priority of the tasks within the corresponding configuration container, a first task sequence is determined; wherein, The tasks in the specified container correspond to the same task type.

4. The method according to claim 3, characterized in that, The task types include analysis tasks and / or data collection tasks.

5. The method according to claim 2, characterized in that, Prior to determining the first task sequence, the method further includes: Determine the third priority for each of at least two sets of configuration information; each set of configuration information is used to configure at least one corresponding task. Based on the third priority of each set of configuration information, the second priority of the corresponding task is determined.

6. The method according to claim 5, characterized in that, The determination of the third priority of each of the at least two sets of configuration information includes: Load the first operation object corresponding to each of the at least two sets of configuration information in the settings interface; In response to a first operation targeting at least one first operation object, a third priority is determined for each of the at least two sets of configuration information; wherein... The first operation is used to indicate the order of at least one set of configuration information corresponding to the at least one first operation object.

7. The method according to any one of claims 1 to 6, characterized in that, When testing the application system corresponding to the first task based on the determined function model, the method includes: If the test data obtained from performing the first task is not within the set range, an alarm message is output; the set range is calculated based on the determined function model.

8. A performance testing device, characterized in that, include: The first processing unit is used to determine at least two first data sequences corresponding to the first task; The first task represents the task of analyzing the application system regarding the set performance indicators; An update unit is configured to update the corresponding first data sequence based on the second element in the second data sequence corresponding to each first data sequence when the first parameter is greater than a first preset threshold; wherein each second element in the second data sequence is determined based on two adjacent first elements in the corresponding first data sequence; the first parameter represents the coefficient of variation determined based on the second parameter of each second data sequence in at least two second data sequences; and the second parameter represents the average value of the second element in the corresponding second data sequence. The second processing unit is configured to determine the function model corresponding to the first task based on the number of updates of the first data sequence when the first parameter is less than or equal to the first preset threshold, and to test the application system corresponding to the first task based on the determined function model; wherein the function model is a univariate polynomial function model, the number of updates based on the first data sequence is used to determine the degree of the function model; and the coefficients of the function model are determined based on the collected data of the preset performance index.

9. An electronic device, characterized in that, include: The processor and the memory used to store computer programs that can run on the processor. When the processor is used to run the computer program, it performs the steps of the performance testing method according to any one of claims 1 to 7.

10. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the performance testing method as described in any one of claims 1 to 7.