Cloud service testing method and device

By obtaining test object data and user configuration test requests on the cloud management platform and generating a test request sequence, the problem of inefficient testing methods of existing cloud service is solved, and the ability to efficiently identify cloud service abnormalities is achieved.

CN119922185APending Publication Date: 2025-05-02HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410121672.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-10-31
Filing Date
2024-01-29
Publication Date
2025-05-02

AI Technical Summary

Technical Problem

The existing cloud service testing methods are inefficient and can only trigger cloud service exceptions in some scenarios, resulting in low efficiency in testing cloud services.

Method used

Provide a cloud service testing method, obtain test object data through the cloud management platform, provide a request configuration interface to allow users to configure test requests, generate test request sequences, and test cloud services based on test object data and test request sequences to determine whether there are abnormalities in the cloud service.

Benefits of technology

It improves the efficiency of testing cloud services, increases the ability to identify cloud service exceptions, and can identify cloud service exceptions from multiple dimensions, improving the effectiveness of tests and the probability of triggering exceptions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119922185A_ABST
    Figure CN119922185A_ABST
Patent Text Reader

Abstract

The invention discloses a cloud service testing method and device, and belongs to the technical field of cloud services. The method comprises the following steps: acquiring test object data; providing at least one request configuration interface, wherein the request configuration interface is used for receiving configuration of a user on the test request; at least one test request configured by a user is acquired and recorded through the request configuration interface, a test request sequence is generated based on the at least one test request, the test request sequence indicates the cloud service to execute specified operation on the test object data, and the test request sequence comprises one or more test requests; testing the cloud service based on the test object data and the test request sequence; and determining whether the cloud service is abnormal or not based on the response of the cloud service to the test. According to the invention, the efficiency of testing the cloud service is improved.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to Chinese patent application No. 202311433079.2 filed on October 31, 2023, with invention name “Testing method, apparatus, computing device cluster and storage medium”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of cloud service technology, and in particular to a cloud service testing method and device. Background Art

[0003] With the development of cloud computing technology, the types of cloud services provided by cloud vendors are increasing, and the implementation of cloud services is becoming more and more complex. At this time, ensuring the performance of cloud services is an issue that all cloud vendors need to pay attention to.

[0004] Currently, in cloud service scenarios, testers usually first subjectively predict possible problems with cloud services, then construct test requests based on the possible problems, send test requests to the cloud services, and then determine whether the test request triggers a cloud service exception based on the response value returned by the cloud service for the test request. When the test request triggers a cloud service exception, it is determined that there is a vulnerability in the cloud service.

[0005] However, the use of this testing method has limitations and can only trigger cloud service exceptions in some scenarios, resulting in low efficiency in testing cloud services. Summary of the invention

[0006] The present application provides a cloud service testing method and device. The present application improves the efficiency of testing cloud services. The technical solutions provided by the present application are as follows:

[0007] In a first aspect, the present application provides a cloud service testing method. The method is applied to a cloud management platform. The cloud management platform is used to manage the infrastructure that provides at least one cloud service. The infrastructure includes at least one cloud data center. Each cloud data center is provided with multiple servers. One or any combination of at least one cloud service is deployed in at least one server of the infrastructure. The method includes: obtaining test object data; providing at least one request configuration interface, the request configuration interface is used to receive the user's configuration of the test request; obtaining and recording at least one test request configured by the user through the request configuration interface, generating a test request sequence based on at least one test request, the test request sequence instructing the cloud service to perform a specified operation on the test object data, and the test request sequence includes one or more test requests; testing the cloud service based on the test object data and the test request sequence; determining whether the cloud service is abnormal based on the cloud service's response to the test.

[0008] In the present application, test requests can be configured by users, and can test the cloud service execution logic that users are concerned about, thereby improving the effectiveness of testing the execution logic that users are concerned about and the probability of triggering anomalies, helping to improve the ability to trigger abnormal problems in cloud services and improving the efficiency of testing cloud services.

[0009] This application can determine whether a cloud service is abnormal based on the cloud service's response to the test from multiple dimensions. For example, the cloud service's response to the test in this application includes not only the cloud service's response value to the test request, but also other types of responses generated by the cloud service to the target test solution, such as the performance of the cloud service to the target test solution. Therefore, this application can not only determine whether a cloud service is abnormal based on the cloud service's response value to the test request, but also determine whether a cloud service is abnormal based on other types of responses.

[0010] In a possible implementation, the method further includes: providing a performance indicator configuration interface, the performance indicator configuration interface is used to receive the user's configuration of the performance indicator; obtaining and recording the user-configured performance indicator from the performance indicator configuration interface. Then, based on the cloud service's response to the test, determining whether the cloud service is abnormal includes: obtaining performance data of the performance indicator during the test; and determining whether the cloud service is abnormal based on the performance data.

[0011] In a possible implementation, the method further includes: providing a judgment policy configuration interface, the judgment policy configuration interface is used to receive the user's configuration of the exception judgment policy, and when the exception judgment policy indicates that the cloud service does not have a vulnerability, the cloud service's response to the test needs to meet the conditions; obtaining and recording the user-configured exception judgment policy from the judgment policy configuration interface. Then, based on the cloud service's response to the test, determining whether the cloud service has an exception, including: determining whether the cloud service has an exception based on the match between the response and the exception judgment policy.

[0012] By identifying whether a cloud service has an abnormality based on response values, anomaly determination strategies and / or performance indicators, performance data, it is possible to identify whether a cloud service has an abnormality from multiple dimensions, thereby increasing the dimensions for detecting cloud service anomalies and improving the ability to identify cloud service abnormality problems.

[0013] In one possible implementation, obtaining test object data includes: providing an object data configuration interface, the object data configuration interface is used to receive a user's configuration of initial object data; obtaining and recording the initial object data configured by the user from the object data configuration interface; using the initial object data as test object data, and / or providing a modification policy configuration interface, the modification policy configuration interface is used to receive a user's configuration of a modification policy, obtaining and recording the modification policy configured by the user from the modification policy configuration interface, modifying the initial object data according to the modification policy to obtain the test object data, the modification policy being used to indicate a method for modifying the initial object data.

[0014] In this way, users can provide initial object data for testing cloud services, and can perform targeted tests on cloud services through the initial object data, which can improve the effectiveness of testing cloud services and the probability of triggering anomalies, help improve the ability to trigger abnormal problems in cloud services, and improve the efficiency of testing cloud services.

[0015] The request configured by the user through the request configuration interface can be a test request with instantiated parameters or a test request with uninstantiated parameters. In this way, the user can configure the test request according to his own needs, which improves the flexibility of configuring the test request.

[0016] For example, obtaining and recording at least one test request configured by a user through a request configuration interface includes: obtaining and recording a test request template configured by the user from the request configuration interface, the test request template including at least one test request whose request parameters are not instantiated. Then generating a test request sequence based on at least one test request includes: performing an instantiation operation on a parameter in at least one test request to obtain a parameter value of the parameter in at least one test request; and obtaining a test request sequence based on at least one test request and the parameter value.

[0017] In one implementation, the implementation process of step 3031a includes: the cloud management platform matches the parameter acquisition template with the request in the test request template to obtain the target parameter that needs to be assigned in the request. For example, the parameter acquisition template is used to indicate the semantics that the request in the test request template needs to satisfy. By matching the parameter acquisition template with the request, the variable parameter in the request can be identified, and the variable parameter is the target parameter in the request. In another implementation, the cloud management platform can optionally match the parameter acquisition template with the response message, and obtain the parameters in the response message related to the at least one test request from the response message, and the related parameters are the target parameters that need to be assigned in the at least one test request. For example, when the test request sequence includes multiple test requests, and the multiple test requests include at least one test request and other test requests executed before the at least one test request, if the other test request has been executed when the parameters of the at least one test request need to be obtained, the cloud management platform can match the parameter acquisition template with the response message of the other test request, and obtain the parameters in the other test request related to the at least one test request from the response message of the other test request, thereby obtaining the target parameter. For another example, the response message may also be a response message generated before the current test process.

[0018] For example, in response to a test request sequence including multiple test requests, the multiple test requests include at least one test request and other test requests executed before the at least one test request, an instantiation operation is performed on a parameter in the at least one test request to obtain a parameter value of the parameter in the at least one test request, including: matching a parameter acquisition template with a response message of other test requests, obtaining a candidate value of the parameter in the at least one test request from the response message, the parameter acquisition template is used to indicate a condition that the parameter in the test request needs to meet; based on the candidate value, obtaining the parameter value of the parameter in the at least one test request. By matching the parameter acquisition template with the response message, the parameter association relationship between the request and the response message can be identified, and the parameter value corresponding to the parameter association relationship in the response message is determined as a candidate value, which can ensure the validity of the determined parameter value.

[0019] In one implementation, the parameter acquisition template includes a regular expression.

[0020] In a possible implementation, before matching the parameter acquisition template with the response message of other test requests, the method further includes: providing a parameter template configuration interface, the parameter template configuration interface is used to receive the user's configuration of the parameter acquisition template; and obtaining and recording the user-configured parameter acquisition template from the parameter template configuration interface. In this way, the user can provide the parameter acquisition template on demand, improve the quality and efficiency of determining the parameters in the test request, and help improve the efficiency of testing the cloud service.

[0021] In one possible implementation, after determining whether an abnormality occurs in the cloud service based on the response of the cloud service to the test, the method further includes: obtaining a target test case that causes the cloud service to occur an abnormality, the target test case including at least one of test object data and a test request sequence; based on the target test case, obtaining first test auxiliary information, the first test auxiliary information being used to assist in obtaining at least one of the test object data and the test request sequence used to test the cloud service, the first test auxiliary information including one or more of the following: a test request, candidate values ​​of parameters in the test request, a parameter acquisition template for obtaining candidate values, or a modification strategy for obtaining test object data.

[0022] The cloud management platform obtains the first test auxiliary information based on the target test case, and optimizes the second test auxiliary information based on the first test auxiliary information, so that when the cloud service is tested subsequently, it can rely on these test auxiliary information to obtain the test object data and test request sequence required for the test, thereby improving the construction complexity and generation quality of the test request sequence and test object data, and further improving the efficiency of testing the cloud service.

[0023] In one possible implementation, the method also includes: randomly selecting a test request sequence from a plurality of preset test request sequences; and / or, selecting a test request sequence from a plurality of test request sequences for concurrent attacks, wherein a concurrent attack refers to a cloud management platform generating a data stream with a data volume greater than a specified threshold and sending the data stream to the cloud service within a specified time period.

[0024] In this way, the present application can also perform random testing and concurrent attack testing on cloud services. Since the test requests used in random testing are obtained through random selection, cloud services can be tested with high randomness, ensuring that the tests performed on cloud services have high flexibility and expanding the test coverage of cloud services. Since concurrent attack testing can perform specific concurrent attacks on cloud services, it can focus on testing the concurrent performance of cloud services, thereby improving the effectiveness of testing the performance of concurrent scenarios of cloud services. At the same time, concurrent attack testing also increases the probability of abnormal problems being triggered in concurrent scenarios of cloud services, which is particularly beneficial for testing the data plane of cloud services that are more prone to concurrent scenarios. In this way, the present application can effectively improve the ability to trigger abnormal problems of cloud services and improve the efficiency of testing cloud services by performing one or more test schemes of random testing, custom policy testing, and concurrent attack testing on cloud services.

[0025] In a second aspect, the present application provides a cloud service testing device. The device is applied to a cloud management platform. The cloud management platform is used to manage the infrastructure that provides at least one cloud service. The infrastructure includes at least one cloud data center. Each cloud data center is provided with multiple servers. One or any combination of at least one cloud service is deployed in at least one server of the infrastructure. The device includes: an acquisition module for acquiring test object data; an interaction module for providing at least one request configuration interface, the request configuration interface is used to receive the user's configuration of the test request; the interaction module is also used to acquire and record at least one test request configured by the user through the request configuration interface; a test module is used to generate a test request sequence based on at least one test request, the test request sequence indicates that the cloud service performs a specified operation on the test object data, and the test request sequence includes one or more test requests; the test module is also used to test the cloud service based on the test object data and the test request sequence; a processing module is used to determine whether the cloud service is abnormal based on the response of the cloud service to the test.

[0026] In a possible implementation, the interaction module is further used to provide a performance indicator configuration interface, the performance indicator configuration interface is used to receive user configuration of the performance indicator, and obtain and record the performance indicator configured by the user from the performance indicator configuration interface.

[0027] Correspondingly, the processing module is specifically used to: obtain performance data of performance indicators during the test; and determine whether the cloud service is abnormal based on the performance data.

[0028] In one possible implementation, the interaction module is also used to provide a judgment policy configuration interface, which is used to receive the user's configuration of the exception judgment policy. When the exception judgment policy indicates that there are no vulnerabilities in the cloud service, the cloud service's response to the test needs to meet the conditions; obtain and record the user-configured exception judgment policy from the judgment policy configuration interface.

[0029] Correspondingly, the processing module is specifically used to determine whether an abnormality occurs in the cloud service based on the matching of the response and the abnormality determination strategy.

[0030] In one possible implementation, the acquisition module is specifically used to: provide an object data configuration interface, the object data configuration interface is used to receive the user's configuration of the initial object data; obtain and record the initial object data configured by the user from the object data configuration interface; use the initial object data as test object data, and / or provide a modification policy configuration interface, the modification policy configuration interface is used to receive the user's configuration of the modification policy, obtain and record the modification policy configured by the user from the modification policy configuration interface, modify the initial object data according to the modification policy to obtain the test object data, and the modification policy is used to indicate the method of modifying the initial object data.

[0031] In a possible implementation, the interaction module is specifically configured to obtain and record a test request template configured by a user from a request configuration interface, wherein the test request template includes at least one test request whose request parameters are not instantiated.

[0032] Correspondingly, the test module is specifically used to: perform an instantiation operation on the parameters in at least one test request to obtain the parameter value of the parameter in at least one test request; and obtain a test request sequence based on at least one test request and the parameter value.

[0033] In a possible implementation, in response to the test request sequence including multiple test requests, the multiple test requests include at least one test request and other test requests executed before the at least one test request. The test module is specifically used to: match the parameter acquisition template with the response message of the other test requests, obtain the candidate value of the parameter in the at least one test request from the response message, the parameter acquisition template is used to indicate the conditions that the parameter in the test request needs to meet; based on the candidate value, obtain the parameter value of the parameter in the at least one test request.

[0034] In a possible implementation, the interaction module is further used to provide a parameter template configuration interface, the parameter template configuration interface is used to receive the user's configuration of the parameter acquisition template, and obtain and record the user-configured parameter acquisition template from the parameter template configuration interface.

[0035] In one possible implementation, the processing module is also used to: obtain a target test case that causes an abnormality in the cloud service, the target test case including at least one of test object data and a test request sequence; based on the target test case, obtain first test auxiliary information, the first test auxiliary information is used to assist in obtaining at least one of the test object data and the test request sequence used to test the cloud service, the first test auxiliary information including one or more of the following: a test request, candidate values ​​of parameters in the test request, a parameter acquisition template for obtaining candidate values, or a modification strategy for obtaining test object data.

[0036] In one possible implementation, the test module is also used to: randomly select a test request sequence from multiple preset test request sequences; and / or select a test request sequence from multiple test request sequences for concurrent attacks, where a concurrent attack refers to a cloud management platform generating a data stream with a data volume greater than a specified threshold and sending the data stream to the cloud service within a specified time period.

[0037] In a third aspect, the present application provides a computing device including a memory and a processor, wherein the memory stores program instructions, and the processor runs the program instructions to execute the method provided in the first aspect of the present application and any possible implementation thereof.

[0038] In a fourth aspect, the present application provides a computing device cluster, including multiple computing devices, the multiple computing devices including multiple processors and multiple memories, the multiple memories storing program instructions, and the multiple processors running the program instructions, so that the computing device cluster executes the method provided in the first aspect of the present application and any possible implementation thereof.

[0039] In a fifth aspect, the present application provides a computer-readable storage medium, which is a non-volatile computer-readable storage medium, and the computer-readable storage medium includes program instructions. When the program instructions are executed on a computing device, the computing device executes the method provided in the first aspect of the present application and any possible implementation thereof.

[0040] In a sixth aspect, the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the method provided in the first aspect of the present application and any possible implementation thereof. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] Figure 1 It is a structural diagram of an implementation scenario involved in a cloud service testing method provided in an embodiment of the present application;

[0042] Figure 2 It is a structural diagram of an implementation scenario involved in another cloud service testing method provided in an embodiment of the present application;

[0043] Figure 3 is a flow chart of a cloud service testing method provided in an embodiment of the present application;

[0044] Figure 4 This is a schematic diagram of a plurality of configuration interfaces combined and displayed in the same display interface provided by an embodiment of the present application;

[0045] Figure 5 is a flowchart of obtaining a test request sequence provided by an embodiment of the present application;

[0046] Figure 6 It is a flow chart of obtaining parameter values ​​of parameters in a test request provided by an embodiment of the present application;

[0047] Figure 7 is a schematic diagram of a user configuration performance indicator provided in an embodiment of the present application;

[0048] Figure 8 is a schematic diagram showing test results provided in an embodiment of the present application;

[0049] Fig. 9 It is a schematic diagram of testing the OBS cloud service provided by an embodiment of the present application;

[0050] Fig.10 It is a flow chart of optimizing the test process based on the test results provided by an embodiment of the present application;

[0051] Fig.11 It is a schematic diagram of a process for optimizing a test process based on a test result provided in an embodiment of the present application;

[0052] Fig.12 It is a schematic diagram of a cloud service testing method provided in an embodiment of the present application implemented through multiple functional modules;

[0053] Fig.13 This is a flow chart for testing a cloud service provided by an embodiment of the present application;

[0054] Fig.14 It is a schematic diagram of a test sub-process corresponding to a random test process provided in an embodiment of the present application;

[0055] Fig.15 It is a schematic diagram of a test sub-process corresponding to a custom strategy test process provided in an embodiment of the present application;

[0056] Fig.16 It is a schematic diagram of a test sub-process corresponding to a concurrent attack test process provided in an embodiment of the present application;

[0057] Fig.17 is a schematic diagram of a cloud service testing device provided in an embodiment of the present application;

[0058] Fig.18 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;

[0059] Fig.19 is a schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application;

[0060] Fig. 20 It is a structural diagram of another computing device cluster provided in an embodiment of the present application. DETAILED DESCRIPTION

[0061] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below in conjunction with the accompanying drawings.

[0062] To facilitate understanding, the technology and background involved in the embodiments of the present application are first introduced below.

[0063] With the development of cloud computing technology, cloud vendors provide more and more types of cloud services, and the implementation methods of cloud services are becoming more and more complex. At this time, ensuring the performance of cloud services is an issue that all cloud vendors need to pay attention to. At present, in cloud service scenarios, testers usually first subjectively predict the problems that may occur in cloud services, then build test requests based on the possible problems, and then send test requests to cloud services. According to the response value returned by the cloud service for the test request, it is determined whether the test request triggers cloud service anomalies to determine whether the predicted problems occur in the cloud service. However, the use of this test method has limitations, and cloud service anomalies can only be triggered in some scenarios, resulting in low efficiency in testing cloud service anomalies. For example, with the evolution of software systems from monolithic architecture to microservice architecture, cloud services have evolved into distributed systems composed of tens of thousands of microservices. Due to its very complex composition, the current solution of subjective testing by testers can no longer meet its testing needs.

[0064] Although, there are still solutions to test cloud services using intelligent fuzzing testing technology. Fuzz testing technology is a software testing technology. Its core idea is to generate test cases in an automatic or semi-automatic way, and then input the test cases into the application to be tested (i.e., the application used to implement the cloud service), and automatically discover possible program errors by monitoring whether the application has abnormalities (such as program crashes, etc.). However, fuzz testing technology still cannot effectively mine abnormal problems of cloud services, especially abnormal problems of the cloud service data plane. When testing the cloud service data plane, the test request instructs the cloud service to process the object data. For example, if the cloud service is used to process videos, the object data is the video that needs to be processed. Due to the large range of changes in object data, the object data has a large possibility of change, which makes it difficult to test the object data and cannot effectively mine abnormalities in the cloud service data plane.

[0065] Based on this, an embodiment of the present application provides a cloud service testing method. In this method, the cloud management platform can obtain test object data, provide at least one request configuration interface to the user, and obtain and record at least one test request configured by the user through the request configuration interface, and then generate a test request sequence based on at least one test request, and then test the cloud service based on the test object data and the test request sequence, and then determine whether the cloud service has an abnormality based on the cloud service's response to the test. Among them, the request configuration interface is used to receive the user's configuration of the test request. The test request sequence instructs the cloud service to perform specified operations on the test object data, and the test request sequence includes one or more test requests. At this time, since the test request used to test the cloud service is configured by the user, the test can be called a custom policy test.

[0066] In the present application, test requests can be configured by users, and can test the cloud service execution logic that users are concerned about, thereby improving the effectiveness of testing the execution logic that users are concerned about and the probability of triggering anomalies, helping to improve the ability to trigger abnormal problems in cloud services and improving the efficiency of testing cloud services.

[0067] In addition, the test request used to test the cloud service in the present application may also be selected based on a random selection from multiple preset test request sequences, or selected based on a multiple test request sequences for concurrent attacks. When the test request is obtained based on a random selection from multiple preset test request sequences, the test performed using the test request may be referred to as a random test. When the test request is obtained based on a selection from multiple test request sequences for concurrent attacks, the test performed using the test request may be referred to as a concurrent attack test. Among them, the cloud management platform's concurrent attack on the cloud service refers to the cloud management platform generating a data stream with a data volume greater than a specified threshold, and sending the data stream to the cloud service within a specified time period. For example, the cloud management platform generates a large amount of data streams and sends the large amount of data streams to the cloud service in a relatively short period of time. Based on the cloud service's response to the large amount of data streams, the concurrent performance of the cloud service can be determined.

[0068] Since the test requests used in random testing are obtained through random selection, cloud services can be tested with high randomness, ensuring that the tests performed on cloud services have high flexibility and expanding the test coverage of cloud services. Since concurrent attack testing can perform specific concurrent attacks on cloud services, it can focus on testing the concurrent performance of cloud services, thereby improving the effectiveness of testing the performance of concurrent scenarios of cloud services. At the same time, concurrent attack testing also increases the probability of abnormal problems being triggered in concurrent scenarios of cloud services, which is particularly beneficial for testing the data plane of cloud services that are more prone to concurrent scenarios. In this way, the present application can effectively improve the ability to trigger abnormal problems of cloud services and improve the efficiency of testing cloud services by performing one or more test schemes of random testing, custom policy testing, and concurrent attack testing on cloud services.

[0069] This article provides a detailed introduction to the technical solution of the present application from multiple perspectives, including implementation scenarios, method flow, hardware devices, and software devices.

[0070] The following first describes the application scenarios of the embodiments of the present application with examples.

[0071] Figure 1 Schematic diagram of a cloud service testing method provided in an embodiment of the present application. Figure 1As shown, the implementation scenario includes: a cloud service providing system 10 and a cloud service testing device 20. A communication connection can be established between the cloud service testing device 20 and the cloud service providing system 10. For example, a communication connection can be established between the cloud service testing device 20 and the cloud service providing system 10 through a network. Optionally, the network can be a local area network, the Internet, or other networks, which is not limited in the embodiments of the present application.

[0072] The cloud service providing system 10 is used to provide cloud services to users. The cloud service providing system 10 can be implemented by a single server or a server cluster consisting of several servers. A large number of basic resources owned by the cloud service provider are deployed in the cloud data center. For example, computing resources, storage resources, and network resources are deployed in the cloud data center. The cloud data center can use this large number of basic resources to provide various types of cloud services to users.

[0073] The cloud service testing device 20 is used to execute the cloud service testing method provided by the embodiment of the present application on the cloud service providing system 10, so as to test whether there are vulnerabilities in the cloud service provided by the cloud service providing system 10, thereby ensuring the performance of the cloud service. The cloud service providing system 10 can optionally provide a server, or a server cluster consisting of several servers. Among them, the cloud service providing system 10 usually provides cloud services to users by running applications, and the "testing of cloud services" described in this application can be understood as testing the application process used to provide cloud services to users.

[0074] In one implementation, the cloud service testing method provided in the embodiment of the present application can be implemented by running an executable program in the cloud service testing device 20. For example, the executable program of the cloud service testing method can be presented in the form of an application installation package, and after the application installation package is installed in the cloud service testing device 20, the cloud service testing method can be implemented by running the executable program.

[0075] The function of the cloud service testing device 20 to test the cloud service can be optionally provided in the form of a cloud service, or provided as an additional cloud service of other cloud services. When the function is provided in the form of a cloud service, the function can be abstracted into a test cloud service by the cloud service provider on the cloud management platform. After the user purchases the cloud service test cloud service on the cloud management platform, the cloud management platform can use the resources of the cloud data center and use the cloud service testing method provided in the embodiment of the present application to test the cloud service of interest to the user. When the function is provided as an additional cloud service of other cloud services, the user can purchase the additional cloud service on demand when purchasing other cloud services on the cloud management platform. After the user purchases the additional cloud service, the cloud management platform can use the test function to test other cloud services purchased by the user to ensure the performance of the other cloud services.

[0076] The cloud management platform is used to manage the infrastructure that provides at least one cloud service. The infrastructure includes at least one cloud data center. Each cloud data center is provided with multiple servers. One or any combination of at least one cloud service is deployed in at least one server of the infrastructure. By way of example, both the cloud service providing system 10 and the cloud service testing device 20 can be managed by the cloud management platform. The cloud management platform and the infrastructure are connected via a network. The cloud management platform is used to manage the infrastructure. For example, the cloud management platform can test the cloud services deployed on the infrastructure through the cloud service testing method provided in the embodiments of the present application to ensure the performance of the cloud services.

[0077] In one implementation, the cloud management platform can provide an access interface. The access interface can be optionally provided in the form of an interface or an application program interface (API). Users can operate the client remote access access interface to register a cloud account and password on the cloud management platform, and use the cloud account and password to log in to the cloud management platform. The cloud management platform can also authenticate the cloud account and password. After successful authentication, the user can further select and pay to purchase a virtual instance of specific specifications (processor, memory, disk) on the cloud management platform. After the user successfully pays for the virtual instance, the cloud management platform provides the user with the remote login account and password of the purchased virtual instance. The user can use the remote login account and password to remotely log in to the virtual instance on the client, install and run the user's application in the virtual instance, and implement the user's business through the application.

[0078] The cloud management platform can be divided into the following logical functions: user console, computing management service, network management service, storage management service, authentication service and image management service. The user console provides an interface or API to interact with users. The computing management service is used to manage servers running virtual instances. The network management service is used to manage network services (such as gateways, firewalls, etc.). The storage management service is used to manage storage services (such as data bucket services). The authentication service is used to manage user accounts and passwords. The image management service is used to manage the images of virtual instances.

[0079] Alternatively, if Figure 2 As shown, in Figure 1 Based on the implementation scenario shown, Figure 2 The implementation scenario shown may also include a client 30. The client 30 can establish a communication connection with the cloud service test device 20. For example, a communication connection can be established between the client 30 and the cloud service test device 20 via a network. Optionally, the network may be the Internet or other networks, which are not limited in the present embodiment. Figure 2In the implementation scenario shown, the user can interact with the cloud service testing device 20 through the client 30, and the cloud service testing device 20 tests the cloud service providing system 10 based on the information of the interaction. For example, the user provides the cloud service testing device 20 with configuration information for testing the cloud service through the client 30. The cloud service testing device 20 uses the cloud service testing method provided in the embodiment of the present application based on the configuration information to perform targeted testing on the cloud service.

[0080] In one implementation, the client 30 can be a computer, a personal computer, a laptop computer, a mobile phone, a smart phone, a tablet computer, a cloud host, a portable mobile terminal, a multimedia player, an e-book reader, a wearable device, a smart home appliance, an artificial intelligence device, a smart wearable device, a smart vehicle-mounted device or an Internet of Things device, etc.

[0081] It should be understood that the above content is an exemplary description of the implementation scenario of the cloud service testing method provided in the embodiment of the present application, and does not constitute a limitation on the implementation scenario of the cloud service testing method. It is known to those of ordinary skill in the art that as business needs change, its implementation scenario can be adjusted according to application requirements. For example, the cloud service testing method can also be applied to other scenarios where software needs to be tested, such as testing user-owned software. At this time, the method can be optionally executed by the user in his own test environment, or the method is provided in the form of a cloud service provided by a cloud management platform. In addition, when the cloud service testing method provided in the embodiment of the present application is applied to other scenarios, the executable program of the method can also be presented in the form of an application installation package or in other ways, and the embodiment of the present application does not list them one by one.

[0082] The following describes the implementation process of the cloud service testing method provided in the embodiment of the present application by taking the application of the cloud management platform as an example.

[0083] Figure 3 Flowchart of the cloud service testing method provided by the embodiment of the present application. Figure 3 As shown, the cloud service testing method includes the following steps:

[0084] Step 301: The cloud management platform obtains configuration information required for testing.

[0085] Before testing the cloud service, the cloud management platform may obtain the configuration information required for the test in advance, and then test the cloud service based on the configuration information. After obtaining the configuration information, the cloud management platform may first store the configuration information in the storage medium of the cloud management platform, and then read it from the storage medium when the configuration information is needed. The configuration information may optionally include one or more of the following: initial object data, modification strategy, test request, parameter acquisition template, exception judgment strategy, and performance indicators that need to be monitored during the test. One or more of these configuration information may be optionally configured by the user, or may be owned by the cloud management platform. For example, when a custom strategy is used to test a cloud service, the test request, parameter acquisition template, exception judgment strategy, and performance indicators used are all configured by the user. In one implementation scenario, the user who configures the configuration information may be selected as the developer of the application used to implement the cloud service. For example, after the developer purchases cloud resources for deploying cloud service applications on the cloud management platform, the developer can use the cloud resources to deploy cloud services and purchase services for testing the cloud services from the cloud management platform. After purchasing the test services, the user can configure the above configuration information for the cloud service, so that the cloud management platform tests the cloud service based on the above configuration information.

[0086] Testing a cloud service means sending a test request sequence to the cloud service, instructing the cloud service to perform specified operations on the test object data through the test request sequence, and judging whether the cloud service is abnormal based on the response of the cloud service to the test request sequence. The test object data can be the initial object data, or obtained based on the initial object data. The initial object data can be various types of data. For example, the initial object data is video data or text data. The initial object data can be configured by the user or owned by the cloud management platform. For example, the initial object data used in the random test can be configured by the user or owned by the cloud management platform. The initial object data used in the custom policy test is configured by the user. The initial object data used in the concurrent attack test is owned by the cloud management platform. For example, the initial object data used in the concurrent attack test is the initial object data used by the distributed denial-of-service (DDoS) attack and the elephant flow test by default, and the initial object data is owned by the cloud management platform. DDoS attacks attempt to flood websites or network resources with malicious traffic, causing websites or network resources to fail to operate normally. In a DDoS attack, the attacker generates a large number of packets or requests to overwhelm the target system. An elephant flow is a continuous flow of very large total bytes established through a transmission control protocol (TCP) flow (or other protocols). An elephant flow may occupy a disproportionate share of the total bandwidth for a period of time and may cause bandwidth overload of the target system. Performing an elephant flow test on a cloud service is to provide an elephant flow to the cloud service and determine whether the cloud service is abnormal based on the cloud service's response to the elephant flow.

[0087] When the initial object data is configured by the user, the user may choose to configure the initial object data through an object data configuration interface. For example, the cloud management platform obtains the initial object data through an object data configuration interface. For example, the cloud management platform provides the user with an object data configuration interface, and the object data configuration interface is used to receive the user's configuration of the initial object data. After the user completes the configuration operation based on the object data configuration interface, the cloud management platform obtains and records the initial object data configured by the user from the object data configuration interface.

[0088] When the test object data is obtained by modifying the initial object data, the strategy used to modify the initial object data is the modification strategy. That is, the modification strategy is used to indicate the way to modify the initial object data when obtaining the test object data. Optionally, the modification strategy may indicate random changes to the initial object data. For example, the modification strategy indicates that one or more operations of adding, deleting and replacing are randomly performed on the content in the initial object data. Alternatively, the modification strategy indicates that the initial object data is modified according to a specified algorithm. Moreover, when the initial object data includes multiple contents, the modification strategy may optionally indicate that specified content among the multiple contents is modified. For example, the modification strategy indicates selecting the requested parameters in the initial object data and modifying the parameter values. Selecting parameters includes adding a new parameter and deleting the requested existing parameters. Modifying parameter values ​​includes modifying the parameter values. For example, the parameter value of a Boolean (bool) type parameter is flipped between true (true) and false (false), the parameter value of an integer type (such as int type) parameter is increased or decreased by a step size, the parameter value of a string type (such as string) parameter is bit-flipped, and the values ​​of different parameters are exchanged (also called parameter crossing).

[0089] The modification policy can be configured by the user or owned by the cloud management platform. For example, the modification policy used in the random test can be configured by the user or owned by the cloud management platform. The modification policy used in the custom policy test is configured by the user. In this case, the modification policy is also called a custom modification policy. The modification policy used in the concurrent attack test is owned by the cloud management platform. When the modification policy is configured by the user, the user can choose to configure the modification policy through the modification policy configuration interface. For example, the process of the cloud management platform obtaining the modification policy includes: the cloud management platform provides the user with a modification policy configuration interface, and the modification policy configuration interface is used to receive the user's configuration of the modification policy. After the user completes the configuration operation through the modification policy configuration interface, the cloud management platform obtains and records the user-configured modification policy from the modification policy configuration interface.

[0090] The test request sequence includes multiple test requests with a preset execution order. The test request is used to instruct the cloud service to perform a specified operation on the test object data. The test request sequence includes two aspects of information. The first aspect of information indicates the execution order between the multiple test requests and the operation indicated by each test request. The second aspect of information indicates the parameter value of the parameter in the test request. The first aspect of information can be obtained based on the request sequence template. The request sequence template includes multiple test request templates with a preset execution order, and the test request template instructs the cloud service to perform a specified operation on the test object data. For example, the request sequence template is used to indicate the execution order between the multiple test requests and the operation indicated by each test request. The second aspect of information can be obtained based on the request sequence template and the parameter acquisition template. The parameter acquisition template is used to obtain the parameter value of the parameter in the test request sequence. For example, the parameter acquisition template is used to indicate the conditions that the parameters in the test request need to meet. For example, in an object storage service (OBS) scenario, the test request sequence indicates the following execution process: Step 1. Fixedly execute the operation of creating an OBS bucket. If the creation is successful, continue to execute step 2, and if the creation fails, do not continue to execute; Step 2. Randomly execute 20 random requests in the OBS bucket, and then execute step 3; Step 3. Clear the objects in the OBS bucket, and then execute step 4; Step 4. Delete the OBS bucket. Among them, step 1, step 2, step 3 and step 4 are respectively indicated by test requests. The execution order between the test request and the test request is obtained based on the request sequence template. The execution of these steps also needs to rely on specific parameter values. For example, step 2, step 3 and step 4 all need to rely on the name of the OBS bucket, and the name of the OBS bucket is indicated by the parameter value. The parameter value is obtained based on the request sequence template and the parameter acquisition template. Among them, the parameters of the request in the request sequence template are not instantiated, that is, the parameters are not assigned. The request in the request sequence template after the parameter instantiation is the test request in the test request sequence. Therefore, the request in the request sequence template is also called a test request whose parameters are not instantiated.

[0091] The instantiation of the parameters requested in the request sequence template can be achieved through the parameter acquisition template. Both the request sequence template and the parameter acquisition template can be configured by the user or owned by the cloud management platform. For example, the request sequence template and the parameter acquisition template used in the random test can be configured by the user or owned by the cloud management platform. The request sequence template and the parameter acquisition template used in the custom strategy test are configured by the user. The request sequence template and the parameter acquisition template used in the concurrent attack test are owned by the cloud management platform. For example, the request sequence template used in the concurrent attack test is owned by the cloud management platform. There are some common concurrent test sequence templates for malicious attacks, such as the default request sequence template used for DDoS attack and elephant flow test. When the request sequence template and the target template in the request sequence template are owned by the cloud management platform, the target template can be obtained by analyzing the historical requests by the cloud management platform. For example, the cloud management platform analyzes the historical requests through the application program interface (API) template analysis function to obtain the target template.

[0092] When the request sequence template is configured by the user, the user can choose to configure the request sequence template through the request configuration interface. For example, the cloud management platform obtains the request sequence template, including: the cloud management platform provides the user with a request configuration interface, and the request configuration interface is used to receive the user's configuration of the test request; after the user completes the configuration operation through the request configuration interface, the cloud management platform obtains and records at least one test request configured by the user from the request configuration interface. At this time, the test request configured by the user is also called a custom test request. Optionally, the request sequence template not only includes the content indicating the execution order between multiple test requests and the operation indicated by each test request, but also includes candidate values ​​for the parameters in the test request. At this time, when the user configures the request sequence template, one or more candidate values ​​can also be provided for each parameter in the request sequence template. It should be noted that the request configured by the user through the request configuration interface can also be a test request with instantiated parameters. In this way, the user can configure the test request according to his own needs, which improves the flexibility of configuring the test request.

[0093] When the parameter acquisition template is configured by the user, the user may choose to configure the parameter acquisition template through the parameter template configuration interface. For example, the process of the cloud management platform acquiring the parameter acquisition template includes: the cloud management platform provides the user with a parameter template configuration interface, and the parameter template configuration interface is used to receive the user's configuration of the parameter acquisition template; after the user completes the configuration operation through the parameter template configuration interface, the cloud management platform obtains and records the parameter acquisition template configured by the user from the parameter template configuration interface.

[0094] In one implementation, the parameter acquisition template includes a regular expression. A regular expression is a powerful tool for matching and manipulating text. It is a pattern consisting of a series of characters and special characters that is used to describe the text pattern to be matched. For example, a regular expression can be used to verify whether a request parameter meets the format requirements and match the parameter value of the request parameter. For another example, a regular expression is also used to generate a request body for a request. For example, a cloud management platform can generate a request body containing parameters by replacing a string in a specific format in a regular expression.

[0095] The exception judgment policy is used to indicate that the cloud service does not have a vulnerability, and the cloud service's response to the test needs to meet the conditions. That is, when the cloud service's response to the test does not meet the conditions indicated by the exception judgment policy, the cloud management platform determines that the cloud service has a vulnerability. For example, in the OBS scenario, assuming that the test request instructs the cloud service to provide the user with the data that the user indicates to access, then when the exception judgment policy indicates that the cloud service does not have a vulnerability, the cloud service's response to the test request should be to provide the user with the data that the user indicates to access, otherwise, the cloud service is considered to have an abnormality. By way of example, "otherwise" includes one or more of the following: the cloud service feedbacks any response value other than the 200 response value for the test request, the cloud service response times out, and the cloud service provides erroneous data.

[0096] The anomaly determination strategy can be configured by the user or owned by the cloud management platform. For example, the anomaly determination strategy used in random testing can be configured by the user or owned by the cloud management platform. The anomaly determination strategy used in custom strategy testing is configured by the user. In this case, the anomaly determination strategy is also called a custom anomaly determination strategy. The anomaly determination strategy used in concurrent attack testing is owned by the cloud management platform. When the anomaly determination strategy is configured by the user, the user can choose to configure the anomaly determination strategy through the determination strategy configuration interface. For example, the cloud management platform obtains the anomaly determination strategy of the cloud service, including: the cloud management platform provides the user with a determination strategy configuration interface, the determination strategy configuration interface is used to receive the user's configuration of the anomaly determination strategy, and after the user completes the configuration operation through the determination strategy configuration interface, the cloud management platform obtains and records the user-configured anomaly determination strategy from the determination strategy configuration interface. When the anomaly determination strategy is configured by the user, the anomaly determination strategy can be regarded as the user's assertion of the response.

[0097] During the process of testing the cloud service, the cloud management platform can monitor the specified performance indicators and determine whether the cloud management platform is abnormal based on the performance data of the performance indicators. The performance indicators are the performance indicators that need to be monitored during the test. For example, the performance indicators can be selected as the processor occupancy rate, the processor response speed and the processor load. When the processor has one or more of the processor occupancy rate, slow message response or processor overload during the test, it can be considered that the cloud service is abnormal. Among them, the processor occupancy rate can be shown as the processor occupancy rate is greater than the specified occupancy threshold, the message response is slow, the message response delay is greater than the specified delay threshold, and the processor overload is greater than the specified load threshold. The performance indicators that need to be monitored during the test can be selected as the default settings of the cloud management platform or configured by the user. For example, the performance indicators monitored during the random test can be configured by the user or set by the default of the cloud management platform. The performance indicators monitored during the custom strategy test can be configured by the user. The performance indicators monitored during the concurrent attack test can be selected as the default settings of the cloud management platform. When the performance indicator is configured by the user, its implementation process includes: the cloud management platform provides the user with a performance indicator configuration interface, the performance indicator configuration interface is used to receive the user's configuration of the performance indicator, and after the user completes the configuration operation through the performance indicator configuration interface, the cloud management platform obtains and records the user-configured performance indicator from the performance indicator configuration interface. When judging the performance data of the performance indicator according to the threshold, the cloud management platform can also obtain the threshold corresponding to the performance indicator through the performance indicator configuration interface.

[0098] It should be noted that in addition to the various configuration information listed above, the cloud management platform can also obtain configuration information required for other tests. For example, the cloud management platform can also obtain the user's access rights to access cloud services and monitoring rights to monitor performance indicators. When the cloud management platform obtains access rights, the cloud management platform can provide the user with an access rights configuration interface so that the user can configure an authentication string for verifying access rights. Similarly, when the cloud management platform obtains monitoring rights, the cloud management platform can provide the user with a monitoring rights configuration interface so that the user can configure an authentication string for verifying monitoring rights.

[0099] It should also be noted that when the user configures through the configuration interface, a corresponding configuration interface may be displayed on the client used by the user, and the configuration interface is used for the user to input the configured information. In addition, there are multiple display modes for the multiple configuration interfaces for the user to configure the above multiple configuration information, and the display mode can be selected according to the application requirements. For example, each of the multiple configuration interfaces can be selected as a separately displayed interface, or some or all of the multiple configuration interfaces can be combined and displayed in the same display interface, which is not specifically limited in the embodiments of the present application. Among them, Figure 4 A schematic diagram of multiple configuration interfaces combined and displayed in the same display interface. In addition, the configuration interface can be optionally displayed when purchasing a cloud service that needs to be tested. For example, the cloud service that needs to be tested is an OBS cloud service. When the user purchases the OBS cloud service, he also purchases a test cloud service for testing the OBS cloud service. After the cloud management platform receives the request to purchase the test cloud service, it can provide the user with the above configuration interface to facilitate the user to enter the configuration information in the configuration interface, thereby configuring the configuration information. Alternatively, the cloud management platform does not display it when purchasing the cloud service, but displays it when the cloud service needs to be tested. Furthermore, if the configuration interface is displayed when purchasing the cloud service, the configuration interface can also be optionally displayed in the cloud service purchase interface, or the cloud service purchase interface and the configuration interface are displayed separately, and the embodiments of the present application do not specifically limit it.

[0100] Step 302: The cloud management platform obtains test object data.

[0101] After the cloud management platform obtains the initial object data, it can optionally obtain test object data for testing the cloud service based on the initial object data. In one implementation, the cloud management platform uses the initial object data as the test object data. Alternatively, the cloud management platform modifies the initial object data to obtain the test object data. When the configuration information includes a modification policy, the cloud management platform can optionally modify the initial object data in accordance with the instructions of the modification policy to obtain the test object data. For example, assuming that the initial object data is the text data 0111110000101010101010, the modification policy indicates that the text data is reversed from true to false, and the test object data obtained after modification is 100000111101010101010101.

[0102] Step 303: The cloud management platform obtains a test request sequence, where the test request sequence instructs the cloud service to perform a specified operation on the test object data, and the test request sequence includes one or more test requests.

[0103] The test request sequence can be obtained based on the cloud management platform's own test requests. For example, the test request sequence used in the random test is obtained by randomly selecting from the cloud management platform's own multiple preset test request sequences. The test request sequence used in the concurrent attack test is obtained by selecting from the cloud management platform's own multiple test request sequences for concurrent attacks. In addition, after the cloud management platform selects from its own multiple test request sequences, it can also process the selected test request sequence so that the processed test request sequence can cover a larger test range. For example, the cloud management platform extends the test request sequence, that is, adds a test request at the end of the test request sequence, so that the test request sequence includes more requests to increase the test coverage of the cloud service. The added test request can be optionally stored separately in the cloud management platform, or selected from other test request sequences. Alternatively, the test request sequence is obtained based on the test request configured by the user. For example, the test request sequence used in the custom strategy test is obtained based on the test request configured by the user.

[0104] Moreover, the parameters of the test request obtained by these two methods can be either uninstantiated or instantiated. When the parameters of the test request are instantiated, the implementation process of step 303 includes: using the instantiated test request as the test request in the test request sequence. When all the test requests required for the test are instantiated requests, all the test requests are organized into a test request sequence. The organization includes determining the order between multiple test requests in all test requests. The order can be obtained based on the execution logic of the cloud service. For example, in the OBS scenario exemplified above, according to the execution logic of the cloud service, it can be obtained that when testing the OBS cloud service, it is necessary to first create an OBS bucket, then execute a random request in the OBS bucket, then clear the objects in the OBS bucket, and finally delete the OBS bucket. Then the order between multiple test requests is to first execute the test request indicating creation, then execute the test request indicating execution of a random request in the OBS bucket, then execute the test request clearing the objects in the OBS bucket, and finally execute the test request deleting the OBS bucket. When some of the test requests required for the test are instantiated requests, the cloud management platform also needs to build other test requests based on the execution logic of the cloud service, and then organize the test request sequence based on the test requests.

[0105] When the parameters of the test request are not instantiated, the cloud management platform also needs to perform an instantiation operation on the parameters of the test request to obtain a test request sequence. And the test request in this case usually exists in the form of a request sequence. For example, the cloud management platform's own test requests all exist in the form of a request sequence. For another example, when a user configures a test request, the entire request sequence is usually configured. Or, even if the user configures an individual request, it will also indicate the conditions that need to be met for other requests used in conjunction with the individual request, and then the corresponding request sequence can be determined based on the conditions and the individual request. The following takes the parameters to be instantiated as the parameters in the test request sequence as an example, and explains the implementation process of performing an instantiation operation on the parameters of the test request to obtain a test request sequence. For ease of description, the test request sequence in which the parameters are not instantiated is referred to as a test request template. In one implementable manner, if Figure 5 As shown, the implementation process includes:

[0106] Step 3031: The cloud management platform performs an instantiation operation on a parameter in at least one test request of the test request template to obtain a parameter value of the parameter in at least one test request.

[0107] According to the previous description, the test request sequence includes two aspects of information. The first aspect of information indicates the execution order between multiple test requests and the operation indicated by each test request. The second aspect of information indicates the parameter value of the parameter in the test request. After determining the test request template, the first aspect of information can be obtained. After determining the test request template, it is also necessary to obtain the parameter value of the parameter in each test request in the test request template, and then obtain the test request sequence based on the parameter value. Figure 6 As shown, the implementation process includes the following steps:

[0108] Step 3031a: The cloud management platform obtains the target parameters that need to be assigned in the test request template.

[0109] The target parameters may be obtained based on a parameter acquisition template. The parameter acquisition template may be obtained in advance by the cloud management platform. For example, the parameter acquisition template is obtained when purchasing a cloud service or configuring a cloud management platform. For its implementation method, please refer to the relevant description of obtaining the parameter acquisition template in step 301. At this time, step 3031a is equivalent to selecting the parameter acquisition template from the multiple parameter acquisition templates obtained in step 301. Alternatively, the parameter acquisition template may be obtained by the cloud management platform only when step 3031a is executed. For example, when the cloud management platform needs to obtain the parameter value in the test request, it provides the user with a parameter template configuration interface, and after the user completes the configuration in the parameter template configuration interface, the parameter acquisition template is obtained from the parameter template configuration interface.

[0110] In one implementation, the implementation process of step 3031a includes: the cloud management platform matches the parameter acquisition template with the request in the test request template to obtain the target parameter that needs to be assigned in the request. For example, the parameter acquisition template is used to indicate the semantics that the request in the test request template needs to satisfy. By matching the parameter acquisition template with the request, the variable parameter in the request can be identified, and the variable parameter is the target parameter in the request. In another implementation, the cloud management platform can optionally match the parameter acquisition template with the response message, and obtain the parameters in the response message related to the at least one test request from the response message, and the related parameters are the target parameters that need to be assigned in the at least one test request. For example, when the test request sequence includes multiple test requests, and the multiple test requests include at least one test request and other test requests executed before the at least one test request, if the other test request has been executed when the parameters of the at least one test request need to be obtained, the cloud management platform can match the parameter acquisition template with the response message of the other test request, and obtain the parameters in the other test request related to the at least one test request from the response message of the other test request, thereby obtaining the target parameter. For another example, the response message may also be a response message generated before the current test process.

[0111] Optionally, the parameter acquisition template is a regular expression, which is used to describe the text pattern of the request. That is, the regular expression indicates the specifications that the request should meet, and by matching the regular expression with the request, the parameters in the test request template can be determined according to the specifications. For example, in the OBS scenario, when a request in the test request template indicates that 20 random requests are randomly executed in the OBS bucket, the cloud management platform matches the parameter acquisition template with the request, and recognizes that the characters used to indicate the OBS bucket in the request are variable parameters in the request, and the characters used to indicate the OBS bucket can be determined as the target parameters in the request.

[0112] Step 3031b: The cloud management platform obtains the target parameter value of the target parameter.

[0113] After the cloud management platform determines the target parameter in the test request template, it is necessary to determine the target parameter value used to assign the target parameter. The target parameter value can be selected from the candidate values ​​of the target parameter. In one implementation, when there are multiple candidate values ​​for the target parameter, the target parameter value can be selected randomly from the multiple candidate values. Alternatively, the target parameter value can be selected from the multiple candidate values ​​by other selection strategies. For example, each candidate value has tag information, which is used to indicate the applicable scenario of the candidate value. When selecting the target parameter value from multiple candidate values, the usage scenario of the target parameter can be obtained, and then the candidate value whose applicable scenario matches the usage scenario in the multiple candidate values ​​can be selected as the target parameter value. Optionally, after the cloud management platform selects the candidate value from the multiple candidate values, it can also process the selected candidate value and determine the processed candidate value as the target parameter value to expand the test range of the target parameter value. For example, the selected candidate value is randomly modified, and the random modification includes adding, deleting and replacing characters in the selected candidate value.

[0114] There are many ways to implement the source of candidate values. For example, according to the previous description, the test request template not only includes the content indicating the execution order between multiple test requests and the operation indicated by each test request, but also includes the candidate values ​​of the parameters in the test request, that is, the candidate values ​​are optionally carried by the request sequence module. Therefore, after obtaining the test request template, the cloud management platform can obtain the candidate values ​​of each parameter in the request in the test request template. For another example, the candidate value is obtained by matching the parameter acquisition template with the response message of the cloud service to other test requests by the cloud management platform. For example, the parameter acquisition template is used to indicate the semantics that the request needs to meet. By matching the parameter acquisition template with the response message, the parameter association relationship between the request and the response message can be identified, and the parameter value corresponding to the parameter association relationship in the response message is determined as the candidate value. Among them, the response message can be generated before the current test process, or generated during the current test process. For example, in the OBS scenario, when the cloud service successfully creates an OBS bucket according to the first test request in the test request sequence, the response message of the first test request will return the identifier (ID) of the OBS bucket. At this time, the cloud management platform can match the parameter acquisition template (such as a regular expression) with the response message, obtain the ID of the OBS bucket carried by the response message, and determine the ID of the OBS bucket as the target parameter value used to indicate the OBS bucket in other test requests in the test request sequence.

[0115] Step 3032: The cloud management platform obtains a test request sequence based on at least one test request of the test request template and parameter values ​​of parameters in at least one test request.

[0116] After the cloud management platform obtains the target parameters and target parameter values ​​in each request in the test request template, the target parameter value is used to assign the corresponding target parameter, and the assigned test request template is the test request sequence. In one implementation, the target parameter and the target parameter value indicating the same request content have a corresponding relationship. When the target parameter is determined based on a regular expression, the process of obtaining the test request sequence can be regarded as a process of generating a complex request structure (such as extensible markup language (XML) in the request body) based on a regular expression. For example, in the OBS scenario, the test request template indicates the execution process of the aforementioned steps 1 to 4. After the cloud service executes step 1 based on the test request of step 1, if the OBS bucket is successfully created, the cloud service will feedback a response message to the cloud management platform. The cloud management platform can use the parameter acquisition template to extract parameters from the response message, obtain the ID of the created OBS bucket (such as x-obs-id), and use it as the target parameter value. Assume that the test request template indicates that the random request instruction of step 2 is to upload a video data to create an OBS bucket. The cloud management platform matches the random request with the parameter acquisition template and obtains that the target parameter to be assigned is a parameter for indicating the OBS bucket. The cloud management platform then fills x-obs-id into the data content field used to represent the target parameter in the random request. Similarly, the test request in step 3 and the test request in step 4 both include parameters indicating the OBS bucket. The cloud management platform can fill x-obs-id into the corresponding fields in a similar manner to obtain a test request sequence.

[0117] Since the test request template can indicate the execution order between multiple test requests and the operations indicated by each test request, and the test request template and parameter acquisition template can indicate the parameter values ​​of the parameters in the test request. Therefore, by using the test request template and parameter acquisition template to obtain the test request sequence, it is possible to generate test requests that meet the cloud service syntax and semantic detection, and to mine the dependencies between the parameters in the request sequence, thereby improving the generation quality of the test request sequence. On the other hand, it can reduce the computational overhead and time overhead consumed by generating the test request sequence, thereby achieving the purpose of improving test efficiency and reducing test costs.

[0118] Step 304: The cloud management platform tests the cloud service based on the test object data and the test request sequence.

[0119] After the cloud management platform obtains the test object data and the test request sequence, it can send the test request sequence to the cloud service and provide the test object data to the cloud service to instruct the cloud service to perform the operation indicated by the test request sequence on the test object data. In one implementation, when executing the target test scheme on the cloud service, the cloud management platform can optionally use a single thread to sequentially execute multiple test requests in the test request sequence; or, optionally, a total number of test threads equal to the total number of test request sequences used for any test can be opened, and a test request sequence and a set of test object data can be sent to each test thread, so that the cloud service executes the test request sequence on the corresponding test object data. For example, when performing random testing on the cloud service, the cloud management platform can optionally open multiple concurrent random test threads, and perform random testing on the cloud service on each random test thread to perform highly random concurrent testing on the cloud service, thereby improving the test concurrency and test complexity in the random test scenario. It should be noted that some or all of the multiple random test threads can use the same test object data and the same test request sequence. When multiple random test threads use different test object data and different test request sequences, the cloud management platform needs to pre-acquire the corresponding multiple test object data and test request sequences. For another example, the test request sequence of the custom policy test can optionally include two types of requests: fixed type requests and random type requests. For example, the test request sequence of the custom policy test includes multiple fixed type requests and multiple random type requests. When the custom policy test is performed on the cloud service, the cloud management platform uses a single thread to execute the fixed type of request in sequence, and uses multiple concurrent threads to execute multiple random type requests. For example, in the scenario of testing the OBS cloud service using a custom policy test, assuming that the test request sequence indicates the execution process of the aforementioned steps 1 to 4, the cloud management platform first uses a single thread to execute the fixed execution of the OBS bucket creation operation when using the test request sequence to test the OBS cloud service. After the OBS bucket is created, the cloud management platform opens 20 concurrent threads, each of which executes 1 random request, or the cloud management platform opens 4 concurrent threads, each of which executes 5 random requests. Then, the cloud management platform uses a single thread to sequentially execute the emptying and deleting operations of the OBS bucket. Optionally, the random test in this application is optionally a random concurrent test, the custom policy test is optionally a concurrent test of the execution logic that the user is concerned about, and the concurrent attack test is a concurrent test of common malicious attacks, such as DDoS attacks.

[0120] Since the request sequence template used in random testing is obtained through random selection, the cloud management platform can perform highly random tests on cloud services by performing random tests on cloud services, ensuring that the tests performed on cloud services have high flexibility and expanding the test coverage of cloud services. When multiple concurrent random test threads are used to test cloud services, the concurrency and test complexity in random test scenarios can be improved, which is especially helpful in triggering abnormalities in the cloud service data plane, and can further improve the effectiveness of testing cloud services.

[0121] Since custom policy testing can test the cloud service execution logic that users are concerned about, the cloud management platform can focus on testing the execution logic that users are concerned about by executing custom policy testing on cloud services, thereby improving the effectiveness of testing the execution logic that users are concerned about and the probability of triggering exceptions.

[0122] Since concurrent attack testing can perform specific concurrent attacks on cloud services, the cloud management platform can focus on testing the concurrent performance of cloud services by performing concurrent attack testing on cloud services, thereby improving the effectiveness of testing the performance of concurrent scenarios of cloud services. At the same time, concurrent attack testing also increases the probability of abnormal problems being triggered in concurrent scenarios of cloud services, which is particularly beneficial for testing the data plane of cloud services that are more prone to concurrent scenarios.

[0123] Step 305: The cloud management platform determines whether an abnormality occurs in the cloud service based on the response of the cloud service to the test.

[0124] This application can determine whether a cloud service is abnormal based on the cloud service's response to the test from multiple dimensions. For example, the cloud service's response to the test in this application includes not only the cloud service's response value to the test request, but also other types of responses generated by the cloud service to the target test solution, such as the performance of the cloud service to the target test solution. Therefore, this application can not only determine whether a cloud service is abnormal based on the cloud service's response value to the test request, but also determine whether a cloud service is abnormal based on other types of responses.

[0125] In one implementation, when the configuration information includes an anomaly determination policy, the cloud management platform can also determine whether an anomaly has occurred in the cloud service based on the match between the cloud service's response to the test and the anomaly determination policy. By way of example, when the cloud service's response to the test does not meet the conditions indicated by the anomaly determination policy, the cloud management platform determines that an anomaly has occurred in the cloud service and that a vulnerability exists in the cloud service. For example, in an OBS scenario, assuming that the test request indicates that the cloud service is used to provide the user with the data that the user indicates to access, when the anomaly determination policy indicates that the cloud service does not have a vulnerability, the cloud service's response to the test request should be to provide the user with the data that the user indicates to access, otherwise, the cloud service is considered to have an anomaly. By way of example, "otherwise" includes one or more of the following: the cloud service feeds back any response value other than a 200 response value for the test request, the cloud service response times out, and the cloud service provides erroneous data.

[0126] In another implementation, when the configuration information includes performance indicators that need to be monitored during the test, the cloud management platform can also obtain performance data of the performance indicators during the test, and determine whether the cloud service is abnormal based on the performance data. For example, the performance indicators can be selected as the processor occupancy rate, the message response delay, and the processor load. When one or more of the following occurs during the test, the processor occupancy rate is greater than the specified occupancy threshold, the message response delay is greater than the specified delay threshold, or the processor load is greater than the specified load threshold, the cloud service can be considered abnormal.

[0127] By identifying whether a cloud service has an abnormality based on response values, anomaly determination strategies and / or performance indicators, performance data, it is possible to identify whether a cloud service has an abnormality from multiple dimensions, thereby increasing the dimensions for detecting cloud service anomalies and improving the ability to identify cloud service abnormality problems.

[0128] Optionally, when the cloud management platform determines that a cloud service is abnormal, it can send an alarm message to the user. At the same time, when the cloud management platform determines that a cloud service is abnormal, it can also save the performance data of the cloud service within a specified time period (such as ten minutes), the test object data and test requests provided by the cloud management platform to the cloud service, and the response message of the cloud service to the test request, so that the user can analyze the cause of the abnormality of the cloud service based on this information. Figure 7 As shown, after the cloud management platform receives the user's configuration of the performance indicator, it can monitor the indicator data of the performance indicator during the test, determine whether the cloud service has an abnormality based on the indicator data, and issue a performance alarm when the cloud service has an abnormality, and then save the performance data of the cloud service within ten minutes, the test object data and test requests provided by the cloud management platform to the cloud service, and the response message of the cloud service to the test request.

[0129] Furthermore, after the cloud management platform completes the test of the cloud service, it can also display the test results to the user. Figure 8 As shown, the method also includes:

[0130] Step 306: The cloud management platform displays the test results of the cloud service for the target test solution to the user.

[0131] The test results include the name of the cloud service and whether the cloud service has an abnormality. The cloud management platform may optionally display to the user test results indicating that the cloud service has an abnormality. Alternatively, the cloud service displays all test results to the user, including test results indicating that the cloud service has an abnormality and test results indicating that no abnormality has occurred. Optionally, the test results also include one or more of the following: a test request sequence, test object data, or target test scheme used to test the cloud service. It should be understood that the test results may also include other content, which can be adjusted according to application requirements, and the embodiments of the present application do not list them one by one.

[0132] like Fig. 9 As shown, the test results indicate that the cloud service being tested is the OBS cloud service. The target test schemes for testing the OBS cloud service are random testing, custom policy testing, and concurrent attack testing, and the OBS cloud service did not show any abnormalities in the random test, custom policy test, and concurrent attack test. The test object data used in the random test are object data 1, object data 2, object data 3, object data 4, and object data 5, and the corresponding test request sequences are test request sequence 1, test request sequence 2, test request sequence 3, test request sequence 4, and test request sequence 5, respectively. The test object data used in the custom policy test is object data 6, and the test request sequence is test request sequence 6. The test object data used in the concurrent attack test is object data 7, and the test request sequence is elephant flow test request sequence 7.

[0133] Step 307: The cloud management platform receives user feedback on the effectiveness of the test results.

[0134] After the cloud management platform shows the user the test results of the cloud service for the target test solution, the user can judge the validity of the test results and provide feedback on the validity of the test results to the cloud management platform. When the cloud management platform receives feedback information from the user indicating that the test results are valid, it can be determined that the user also recognizes the test results. For example, when the feedback information received by the cloud management platform indicates that the test results reflecting an abnormality in the cloud service are valid, it can be determined that the cloud service may indeed have the abnormality, and the cloud service can be optimized for the abnormality. When the feedback information received by the cloud management platform indicates that the test results reflecting an abnormality in the cloud service are invalid, it can be confirmed that the cloud service is unlikely to have the abnormality, and it can be confirmed that it is a test misjudgment.

[0135] Optionally, after the cloud management platform completes the test of the cloud service, it can also optimize the test process based on the test results. Fig.10 As shown, the method also includes:

[0136] Step 308: The cloud management platform obtains a target test case that causes an abnormality in the cloud service. The target test case includes at least one of test object data and a test request sequence.

[0137] After the cloud management platform completes the test of the cloud service, if the test causes the cloud service to be abnormal, it can optionally obtain a target test case used to test the cloud service, and then perform optimization operations based on the target test case. The target test case includes at least one of test object data and test request sequence. When the target test case includes test object data, at least one of the initial object data and modification strategy owned by the cloud management platform can be optimized based on the test object data. When the target test case includes a test request sequence, at least one of the request sequence template and parameter acquisition template owned by the cloud management platform can be optimized.

[0138] In one implementation, after determining whether the cloud service is abnormal, the cloud management platform can obtain the target test case based on the test object data and test request sequence used in the test. Alternatively, after receiving the user's feedback information on the validity of the test result, the cloud management platform obtains the target test case based on the test result indicated by the user as valid. In addition, when obtaining the target test case, the cloud management platform may also consider factors such as whether the test request normally triggers the cloud service behavior. Among them, when the cloud service returns a response in the 200 range for the test request, it is determined that the test request normally triggers the cloud service behavior. For example, when the test request used by the target test scheme normally triggers the cloud service behavior, the user feedback information indicates that the test result is valid, and the target test scheme triggers the cloud service abnormality, the cloud management platform may determine at least one of the test object data and the test request sequence used by the target test scheme as the target test case. At this time, since the target test case is a test case that causes the cloud service to be abnormal, the test case can provide reference information for subsequent testing of the cloud service, and the target test case is also called a valid test case.

[0139] Step 309: The cloud management platform obtains first test auxiliary information based on the target test case, where the first test auxiliary information is used to assist in obtaining at least one of the test object data and the test request sequence used to test the cloud service.

[0140] After the cloud management platform obtains the target test case, it can obtain the first test auxiliary information that can provide reference information for the subsequent test process based on the target test case. The first test auxiliary information includes various information needed to test the service. For example, the first test auxiliary information can optionally include one or more of the following: a test request, a candidate value of a parameter in the test request, a parameter acquisition template for obtaining a candidate value, or a modification strategy for obtaining test object data. In one implementation, when the target test case includes test object data, the cloud management platform obtains the modification strategy used by the test object data, and determines the modification strategy as a modification strategy for assisting in determining the test object data. When the target test case includes a test request sequence, the cloud management platform obtains the request sequence template used by the test request sequence, determines the request sequence template as a request sequence template for assisting in determining the test request sequence, obtains the parameters in the test request sequence, determines the parameters as candidate values ​​for assisting in determining the parameters in the test request sequence, and obtains the parameter acquisition template used by the test request sequence, and determines the parameter acquisition template as a parameter acquisition template for assisting in determining the test parameter value. In another implementation, the cloud management platform can use an artificial intelligence model to obtain the first test auxiliary information based on the target test case. For example, the cloud management platform may input a target test case into a natural language processing (NLP) model or a large language model (large model for short), so that the model analyzes the target test case and outputs first test auxiliary information.

[0141] Step 310: The cloud management platform optimizes the second test auxiliary information already stored in the cloud management platform based on the first test auxiliary information.

[0142] After the cloud management platform obtains the first test auxiliary information, it can optimize the second test auxiliary information already available on the cloud management platform based on the first test auxiliary information. The cloud management platform obtains the first test auxiliary information based on the target test case, and optimizes the second test auxiliary information based on the first test auxiliary information, so that when the cloud service is subsequently tested, it can rely on these test auxiliary information to obtain the test object data and test request sequence required for the test, thereby improving the construction complexity and generation quality of the test request sequence and the test object data, and further improving the efficiency of testing the cloud service.

[0143] In one implementation, for any type of first test auxiliary information, such as a modification strategy, a request sequence template, a candidate value of a parameter in a request sequence template, or a parameter acquisition template, when the second test auxiliary information does not include any type of first test auxiliary information, the cloud management platform optimizes the second test auxiliary information, including: adding any type of first test auxiliary information as test auxiliary information owned by the cloud management platform.

[0144] In another implementation, for any type of first test auxiliary information, if the function of any type of first test auxiliary information is the same as that of the second test auxiliary information, the cloud management platform may select the test auxiliary information with better performance from the first test auxiliary information and the second test auxiliary information, and use the test auxiliary information with better performance as the test auxiliary information owned by the cloud management platform. For example, when the performance of the first test auxiliary information is better than the second test auxiliary information, the first test auxiliary information is used to replace the second test auxiliary information with the same function. When the performance of the first test auxiliary information is worse than that of the second test auxiliary information, the first test auxiliary information is deleted, and the second test auxiliary information is continued to be used to determine the test object data and the test request sequence. Optionally, when comparing the performance of the first test auxiliary information and the second test auxiliary information with the same function, the first test auxiliary information and the second test auxiliary information may be used to perform comparative tests respectively, and the superiority and inferiority of the performance of the first test auxiliary information and the second test auxiliary information may be determined based on the test results. Among them, during the comparative test process, except for the types of the first test auxiliary information and the second test auxiliary information, the test auxiliary information with other functions remains unchanged, that is, the first test auxiliary information and the second test auxiliary information are used as variable information, and the test auxiliary information with other functions is used as constant information. For example, when the first test auxiliary information and the second test auxiliary information are used to determine the parameters in the same request, during the comparative test process, the cloud management platform uses the first auxiliary information and the second auxiliary information to determine the parameters of the request respectively, and uses the same modification strategy, request sequence and candidate values ​​of the parameters therein to determine the test object data and other parameters in the test request sequence.

[0145] Optionally, when comparing the first test auxiliary information and the second test auxiliary information, at least one of the first test auxiliary information and the second test auxiliary information may be optimized first, and then the optimized first test auxiliary information and the second test auxiliary information may be compared. For example, when the first test auxiliary information and the second test auxiliary information are parameter acquisition templates (such as regular expressions) with the same function, the cloud management platform may first perform parameter dependency analysis on the first test auxiliary information and the second test auxiliary information to identify the parameter dependency of the parameters used to acquire them, and optimize the parameter transfer between the parameter acquisition templates based on the parameter dependency, and then improve the assignment logic of the parameter acquisition template based on the optimized parameter acquisition template, and aggregate the categories of candidate values ​​of the parameters corresponding to the parameter acquisition template. The cloud management platform then uses the optimized parameter acquisition template to test the cloud service to obtain the probability that the first test auxiliary information and the second test auxiliary information trigger a 400 range response, and the one with the smaller probability of triggering a 400 range response in the first test auxiliary information and the second test auxiliary information is used as the test auxiliary information owned by the cloud management platform, and the other test auxiliary information is deleted at the same time. Among them, parameter dependency refers to the fact that the execution of one operation in different operations depends on the parameters of another operation. For example, continuing to use the scenario of testing the OBS cloud service as an example, executing the requested operation in the OBS bucket needs to rely on parameters such as the ID identification information of the OBS bucket created by the creation operation.

[0146] For example, Fig.11 As shown, after the cloud management platform inputs the test object data and the test request sequence into the cloud service, it can determine whether the cloud service has an abnormality based on the cloud service's response to the test and obtain a valid test case. Then the cloud management platform obtains the first test auxiliary information based on the valid test case, and the first test auxiliary information includes a regular expression, a modification strategy, a request sequence template, and candidate values ​​of the parameters therein. Then, the cloud management platform performs parameter dependency analysis on the regular expression and optimizes the parameter transmission of the regular expression based on the analysis results. Then, the modification strategy, the request sequence template, and the candidate values ​​of the parameters therein, the optimized regular expression are compared with the modification strategy, the request sequence template, and the candidate values ​​of the parameters therein, and the regular expression owned by the cloud management platform, and the second test auxiliary information owned by the cloud management platform is optimized based on the comparison results.

[0147] Optionally, the above-mentioned process of optimizing at least one of the first test auxiliary information and the second test auxiliary information can be optionally implemented through an artificial intelligence model. By way of example, the above-mentioned optimization process is implemented through an NLP model or a large model. Furthermore, both the process of obtaining the first test auxiliary information and the optimization process can be implemented through an artificial intelligence model. At this time, the cloud management platform can use the interface of the artificial intelligence model to take the valid test case as the input of the artificial intelligence model to obtain the modification strategy, request sequence template, candidate values ​​of the parameters in the request sequence template, and optimized parameter acquisition template output by the artificial intelligence model. At this time, the cloud management platform can use the analysis and processing capabilities of the artificial intelligence model to analyze the parameter dependencies in the valid test cases, infer the transmission relationship of the parameters in the test request sequence, and obtain the optimized parameter acquisition template.

[0148] In one implementation, the cloud service testing method provided in the embodiment of the present application can be implemented through multiple functional modules. For example, Fig.12 As shown, the cloud service testing method can be implemented by the following multiple functional modules: a test task configuration module, a test case generation module, a test module, an exception analysis module and a test result review module. The test task configuration module is used to obtain the configuration information required for the test. For example, the above step 301 is performed by the test task configuration module. The test case generation module is used to obtain the test object data and the test request sequence. For example, the above steps 302 and 303 are performed by the test case generation module. The test module is used to test the cloud service based on the test case. For example, the above step 304 is performed by the test module. The exception analysis module is used to determine whether the cloud service is abnormal based on the response of the cloud service to the test. For example, the above step 305 is performed by the exception analysis module. The test result review module is used to show the test results of the cloud service for the target test scheme to the user, obtain the first test auxiliary information based on the target test case, and optimize the second test auxiliary information already available on the cloud management platform. For example, the above steps 306 to 310 are performed by the test result review module.

[0149] The following cloud service test method is passed Fig.12 Taking the implementation of multiple functional modules shown as an example, the implementation process of the present application is illustrated. Fig.13 This is a flow chart of testing a cloud service provided by an embodiment of the present application, such as Fig.13 As shown, the test process includes the following steps:

[0150] Step 1. The test task configuration module obtains the configuration information required for the test by interacting with the user, and provides the configuration information to the test case generation module. The configuration information includes: initial object data, parameter regular expressions, custom request sequences, and performance indicators.

[0151] Step 2. The test case generation module reads the analysis results of historical valid test cases from the test result review module to obtain the second test auxiliary information, wherein the test case includes test object data and test request sequence.

[0152] Step 3. The test case generation module generates a test case based on the configuration information and the second test auxiliary information. The test case includes test object data and a test request sequence.

[0153] Step 4. The test module performs random testing, custom strategy testing and concurrent attack testing on the cloud service.

[0154] Step 5. The abnormality analysis module determines whether the cloud service has an abnormality based on the cloud service's response to the random test process, the custom policy test process, and the concurrent attack test process, obtains the test result, and provides the test result to the test result review module. The test result includes valid test cases.

[0155] Step 6. The test result review module displays the test results to the user, analyzes the valid test cases to obtain the first test auxiliary information, and optimizes the second test auxiliary information already available on the cloud management platform based on the first test auxiliary information.

[0156] The process of testing cloud services usually includes multiple testing sub-processes ( Fig.12 The dashed box in the figure shows a test sub-process), and each test sub-process includes the above steps 2 to 6. In addition, it can be seen from the above process that the test auxiliary information obtained by each test sub-process can provide a reference for generating test cases in the next test sub-process to optimize the test sub-process, thereby further improving the efficiency of testing the cloud service.

[0157] Fig.14 Schematic diagram of a test sub-process corresponding to a random test process provided in an embodiment of the present application. Fig.14 As shown, the process includes the following steps:

[0158] Step 1. The test case generation module reads the analysis results of historical and current valid test cases. The analysis results of historical valid test cases are the second test auxiliary information, and the analysis results of current valid test cases are the first test auxiliary information. When the test result review module has not optimized the second test auxiliary information based on the first test auxiliary information, the test case generation module can read the first test auxiliary information and the second test auxiliary information. Among them, the test case includes test object data and test request sequence.

[0159] Step 2. The test case generation module randomly selects a request sequence template from the valid test case analysis results, and obtains candidate values ​​of parameters in the selected request sequence template.

[0160] Step 3. The test case generation module determines the position of the parameter in the selected request sequence template based on the parameter acquisition template (such as a regular expression), fills the candidate value at the position, and obtains the test request sequence.

[0161] Step 4. The test case generation module generates test object data based on the initial object data.

[0162] Step 5. The test case generation module sends the generated test request sequence and test object data to the test module. The test module starts multiple random test threads, distributes the test object data and test request sequence to the multiple test threads, and uses the multiple random test threads to test the cloud service concurrently.

[0163] Step 6. The exception analysis module determines whether the cloud service is triggered to be abnormal based on the request response triggered by the test case and the performance data of the performance indicators, obtains the test results, and provides the test results to the test result review module.

[0164] Fig.15 Schematic diagram of a test sub-process corresponding to a custom strategy test process provided in an embodiment of the present application. Fig.15 As shown, the process includes the following steps:

[0165] Step 1. The test case generation module reads the custom modification strategy, custom request sequence and custom exception determination strategy provided by the user.

[0166] Step 2. The test case generation module reads the analysis results of historical and currently valid test cases, where the test case includes test object data and test request sequences.

[0167] Step 3. The test case generation module determines the request sequence template used by the custom strategy test. For example, when the request sequence template of the custom strategy test includes fixed-type requests and random-type requests, the test case generation module selects the randomly selected request template as the random-type request in the valid test case analysis result, selects the fixed-type request in the custom request sequence, and obtains the candidate values ​​of the parameters in the selected request sequence template.

[0168] Step 4. The test case generation module determines the position of the parameter in the selected request sequence template based on the parameter acquisition template (such as a regular expression), fills the candidate value at the position, and obtains the test request sequence.

[0169] Step 5. The test case generation module generates test object data based on the initial object data.

[0170] Step 6. The test case generation module sends the generated test request sequence and test object data to the test module, and the test module executes the requests in the order of the requests in the test request sequence. If the request to be executed is a fixed type of request, the test module executes the fixed type of request in a single thread; if the request to be executed is a random type of request, the test module uses multiple concurrent threads to execute multiple random type requests.

[0171] Step 7. The exception analysis module determines whether the cloud service is triggered to have an exception based on the request response triggered by the test case, the user-defined exception judgment strategy, and the performance data of the performance indicator, obtains the test result, and provides the test result to the test result review module.

[0172] Fig.16 Schematic diagram of a test sub-process corresponding to a concurrent attack test process provided by an embodiment of the present application. Fig.16 As shown, the process includes the following steps:

[0173] Step 1. The test case generation module reads a specific concurrent attack request sequence template.

[0174] Step 2. The test case generation module reads the analysis results of historical and currently valid test cases, where the test case includes test object data and test request sequences.

[0175] Step 3. The test case generation module obtains candidate values ​​of parameters in the concurrent attack request sequence template.

[0176] Step 4. The test case generation module determines the position of the parameter in the concurrent attack request sequence template based on the parameter acquisition template (such as a regular expression), fills the candidate value at the position, and obtains the test request sequence.

[0177] Step 5. The test case generation module generates test object data based on the initial object data.

[0178] Step 6. The test case generation module sends the generated test request sequence and test object data to the test module, and the test module tests the cloud service according to the concurrent attack logic indicated by the concurrent attack request sequence template.

[0179] Step 7. The exception analysis module determines whether the cloud service is triggered to have an exception based on the request response triggered by the test case, the exception judgment strategy defined by the cloud management platform, and the performance data of the performance indicators, obtains the test results, and provides the test results to the test result review module.

[0180] In summary, in the present application, the test request can be configured by the user, and the cloud service execution logic that the user is concerned about can be tested, which improves the effectiveness of testing the execution logic that the user is concerned about and the probability of triggering anomalies, helps to improve the ability to trigger abnormal problems of cloud services, and improves the efficiency of testing cloud services. In addition, the present application can also perform random tests and concurrent attack tests on cloud services. Since the test requests used in random tests are obtained through random selection, cloud services can be tested with high randomness, ensuring that the tests executed on cloud services have high flexibility and expanding the test coverage of cloud services. Since concurrent attack tests can perform specific concurrent attacks on cloud services, they can focus on testing the concurrent performance of cloud services, improving the effectiveness of testing the performance of concurrent scenarios of cloud services. At the same time, concurrent attack tests also increase the probability of abnormal problems being triggered in concurrent scenarios of cloud services, which is particularly beneficial for testing the data plane of cloud services that are more prone to concurrent scenarios. In this way, the present application can effectively improve the ability to trigger abnormal problems of cloud services and improve the efficiency of testing cloud services by executing one or more test schemes including random testing, custom policy testing and concurrent attack testing on cloud services.

[0181] It should be noted that the order of the steps of the cloud service testing method provided in the embodiment of the present application can be appropriately adjusted, and the steps can be increased or decreased accordingly according to the situation. Any technician familiar with the technical field can easily think of a change within the technical scope disclosed in this application, which should be included in the protection scope of this application, so it will not be repeated.

[0182] The following is an example of a virtual device in an embodiment of the present application.

[0183] The above introduces the cloud service testing method of the embodiment of the present application. Corresponding to the above method, the embodiment of the present application also provides a cloud service testing device. Fig.17 This is a schematic diagram of the structure of a cloud service testing device provided in an embodiment of the present application. Fig.17 The following multiple components are shown: Fig.17 The cloud service test device shown is capable of performing the above Figure 3 All or part of the operations shown. It should be understood that the device may include more additional components than the components shown or omit some of the components shown, and the embodiments of the present application are not limited to this. Optionally, the cloud service testing device can be applied to a cloud management platform. The cloud management platform is used to manage the infrastructure that provides at least one cloud service. The infrastructure includes at least one cloud data center. Each cloud data center is provided with multiple servers. One or any combination of at least one cloud service is deployed in at least one server of the infrastructure. Fig.17 As shown, the cloud service testing device 170 may include:

[0184] The acquisition module 1701 is used to acquire test object data.

[0185] The interaction module 1702 is used to provide at least one request configuration interface, and the request configuration interface is used to receive the configuration of the test request from the user.

[0186] The interaction module 1702 is further configured to obtain and record at least one test request configured by the user through a request configuration interface.

[0187] The testing module 1703 is used to generate a test request sequence based on at least one test request, where the test request sequence instructs the cloud service to perform a specified operation on the test object data, and the test request sequence includes one or more test requests.

[0188] The testing module 1703 is also used to test the cloud service based on the test object data and the test request sequence.

[0189] The processing module 1704 is used to determine whether an abnormality occurs in the cloud service based on the response of the cloud service to the test.

[0190] In a possible implementation, the interaction module 1702 is further used to provide a performance indicator configuration interface, where the performance indicator configuration interface is used to receive user configuration of performance indicators, and obtain and record the performance indicators configured by the user from the performance indicator configuration interface.

[0191] Accordingly, the processing module 1704 is specifically used to: obtain performance data of performance indicators during the test; and determine whether an abnormality occurs in the cloud service based on the performance data.

[0192] In one possible implementation, the interaction module 1702 is also used to provide a judgment policy configuration interface, which is used to receive the user's configuration of the exception judgment policy. When the exception judgment policy indicates that there are no vulnerabilities in the cloud service, the cloud service's response to the test needs to meet the conditions; obtain and record the user-configured exception judgment policy from the judgment policy configuration interface.

[0193] Accordingly, the processing module 1704 is specifically used to determine whether an abnormality occurs in the cloud service based on the matching of the response and the abnormality determination strategy.

[0194] In one possible implementation, the acquisition module 1701 is specifically used to: provide an object data configuration interface, the object data configuration interface is used to receive the user's configuration of the initial object data; obtain and record the initial object data configured by the user from the object data configuration interface; use the initial object data as test object data, and / or provide a modification policy configuration interface, the modification policy configuration interface is used to receive the user's configuration of the modification policy, obtain and record the modification policy configured by the user from the modification policy configuration interface, modify the initial object data according to the modification policy to obtain the test object data, and the modification policy is used to indicate the method of modifying the initial object data.

[0195] In a possible implementation, the interaction module 1702 is specifically configured to obtain and record a test request template configured by a user from a request configuration interface, where the test request template includes at least one test request whose request parameters are not instantiated.

[0196] Correspondingly, the test module 1703 is specifically used to: perform an instantiation operation on the parameters in at least one test request to obtain the parameter value of the parameter in at least one test request; and obtain a test request sequence based on at least one test request and the parameter value.

[0197] In a possible implementation, in response to the test request sequence including multiple test requests, the multiple test requests include at least one test request and other test requests executed before the at least one test request. Then the test module 1703 is specifically used to: match the parameter acquisition template with the response message of the other test requests, obtain the candidate value of the parameter in the at least one test request from the response message, the parameter acquisition template is used to indicate the conditions that the parameter in the test request needs to meet; based on the candidate value, obtain the parameter value of the parameter in the at least one test request.

[0198] In a possible implementation, the interaction module 1702 is further used to provide a parameter template configuration interface, where the parameter template configuration interface is used to receive a user's configuration of a parameter acquisition template, and to obtain and record the parameter acquisition template configured by the user from the parameter template configuration interface.

[0199] In one possible implementation, processing module 1704 is also used to: obtain a target test case that causes an exception in the cloud service, the target test case including at least one of test object data and a test request sequence; based on the target test case, obtain first test auxiliary information, the first test auxiliary information is used to assist in obtaining at least one of the test object data and the test request sequence used to test the cloud service, the first test auxiliary information including one or more of the following: a test request, candidate values ​​of parameters in the test request, a parameter acquisition template for obtaining candidate values, or a modification strategy for obtaining test object data.

[0200] In one possible implementation, the test module 1703 is also used to: randomly select a test request sequence from multiple preset test request sequences; and / or select a test request sequence from multiple test request sequences for concurrent attacks, where a concurrent attack refers to a cloud management platform generating a data stream with a data volume greater than a specified threshold and sending the data stream to the cloud service within a specified time period.

[0201] Here, please refer to the description in the previous method embodiment for the detailed working process of the acquisition module 1701, the interaction module 1702, the test module 1703 and the processing module 1704. For example, the acquisition module 1701 adopts the aforementioned step 302 to obtain the test object data. The interaction module 1702 adopts the aforementioned step 301 to obtain the configuration information required for the test. The test module 1703 adopts the aforementioned step 303 to obtain the test request sequence, and adopts the aforementioned step 304 to test the cloud service based on the test object data and the test request sequence. The processing module 1704 adopts the aforementioned step 305 to obtain the configuration information required for the test. The embodiments of the present application will not be repeated here.

[0202] Among them, the acquisition module 1701, the interaction module 1702, the test module 1703 and the processing module 1704 can all be implemented by software, or can be implemented by hardware. Exemplarily, the implementation of the acquisition module 1701 is described below by taking the acquisition module 1701 as an example. Similarly, the implementation of the interaction module 1702, the test module 1703 and the processing module 1704 can refer to the implementation of the acquisition module 1701.

[0203] As an example of a software functional unit, the acquisition module 1701 may include code running on a computing instance. Among them, the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above-mentioned computing instance may be one or more. For example, the acquisition module 1701 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed in the same region (region) or in different regions. Furthermore, the multiple hosts / virtual machines / containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including a cloud data center or multiple cloud data centers with similar geographical locations. Among them, usually a region may include multiple AZs.

[0204] Similarly, multiple hosts / virtual machines / containers used to run the code can be distributed in the same virtual private cloud (VPC) or in multiple VPCs. Usually, a VPC is set up in a region. For cross-region communication between two VPCs in the same region and between VPCs in different regions, a communication gateway needs to be set up in each VPC to achieve interconnection between VPCs through the communication gateway.

[0205] As an example of a hardware functional unit, the acquisition module 1701 may include at least one computing device, such as a server, etc. Alternatively, the acquisition module 1701 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), etc. The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0206] The multiple computing devices included in the acquisition module 1701 can be distributed in the same region or in different regions. The multiple computing devices included in the acquisition module 1701 can be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in the acquisition module 1701 can be distributed in the same VPC or in multiple VPCs. The multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0207] It should be noted that, in other embodiments, any one of the acquisition module 1701, the interaction module 1702, the test module 1703 and the processing module 1704 can be used to execute any step in the cloud service testing method. The steps that the acquisition module 1701, the interaction module 1702, the test module 1703 and the processing module 1704 are responsible for implementing can be specified as needed, and the acquisition module 1701, the interaction module 1702, the test module 1703 and the processing module 1704 respectively implement different steps in the cloud service testing method to realize all functions of the cloud service testing device.

[0208] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of each component described above can refer to the corresponding content in the aforementioned method embodiment, and will not be repeated here.

[0209] The following is an illustration of the basic hardware structure involved in the embodiments of the present application.

[0210] The present application also provides a computing device 1800. Fig.18 As shown, computing device 1800 includes: bus 1802, processor 1804, memory 1806 and communication interface 1808. Processor 1804, memory 1806 and communication interface 1808 communicate through bus 1802. Computing device 1800 can be a server or a terminal device. It should be understood that the present application does not limit the number of processors and memories in computing device 1800.

[0211] The bus 1802 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig.18 The bus 1804 may include a path for transmitting information between various components of the computing device 1800 (eg, the memory 1806, the processor 1804, and the communication interface 1808).

[0212] The processor 1804 may include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0213] The memory 1806 may include a volatile memory, such as a random access memory (RAM). The processor 1804 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD).

[0214] The memory 1806 stores executable program codes, and the processor 1804 executes the executable program codes to respectively implement the functions of the acquisition module 1701, the interaction module 1702, the test module 1703, and the processing module 1704, thereby implementing the cloud service testing method. That is, the memory 1806 stores instructions for executing the cloud service testing method.

[0215] The communication interface 1803 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 1800 and other devices or communication networks.

[0216] The embodiment of the present application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.

[0217] like Fig.19 As shown, the computing device cluster includes at least one computing device 1800. The memory 1806 in one or more computing devices 1800 in the computing device cluster may store the same instructions for executing the cloud service testing method.

[0218] In some possible implementations, the memory 1806 of one or more computing devices 1800 in the computing device cluster may also store partial instructions for executing the cloud service testing method. In other words, the combination of one or more computing devices 1800 may jointly execute instructions for executing the cloud service testing method.

[0219] It should be noted that the memory 1806 in different computing devices 1800 in the computing device cluster can store different instructions, which are respectively used to execute part of the functions of the cloud service testing device. That is, the instructions stored in the memory 1806 in different computing devices 1800 can implement the functions of one or more modules of the acquisition module 1701, the interaction module 1702, the test module 1703 and the processing module 1704.

[0220] In some possible implementations, one or more computing devices in the computing device cluster may be connected via a network, which may be a wide area network or a local area network. Fig. 20 A possible implementation is shown. Fig. 20As shown, two computing devices 1800A and 1800B are connected via a network. Specifically, they are connected to the network via a communication interface in each computing device. In this type of possible implementation, the memory 1806 in the computing device 1800A stores instructions for executing the functions of the acquisition module 1701 and the interaction module 1702. At the same time, the memory 1806 in the computing device 1800B stores instructions for executing the functions of the test module 1703 and the processing module 1704.

[0221] Fig. 20 The connection method between the computing device clusters shown may be based on the consideration that the cloud service testing method provided in the present application requires a large amount of data storage, and therefore the functions implemented by the testing module 1703 and the processing module 1704 may be executed by the computing device 1800B.

[0222] It should be understood that Fig. 20 The functionality of the computing device 1800A shown in FIG. 1 may also be implemented by multiple computing devices 1800. Similarly, the functionality of the computing device 1800B may also be implemented by multiple computing devices 1800.

[0223] The present application embodiment also provides another computing device cluster. The connection relationship between the computing devices in the computing device cluster can be similar to that of Fig.19 and Fig. 20 Connection mode of computing device cluster. The difference is that the memory 1806 in one or more computing devices 1800 in the computing device cluster may store the same instructions for executing the cloud service testing method.

[0224] In some possible implementations, the memory 1806 of one or more computing devices 1800 in the computing device cluster may also store partial instructions for executing the cloud service testing method. In other words, the combination of one or more computing devices 1800 may jointly execute instructions for executing the cloud service testing method.

[0225] The embodiment of the present application also provides a computer program product including instructions. The computer program product may be software or a program product including instructions that can be run on a computing device or stored in any available medium. When the computer program product is run on at least one computing device, the at least one computing device executes the cloud service testing method.

[0226] The embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that can be stored by the computing device or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk). The computer-readable storage medium includes instructions that instruct the computing device to execute the cloud service testing method, or instruct the computing device to execute the cloud service testing method.

[0227] A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.

[0228] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.) and signals involved in this application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions. For example, the original data and executable code involved in this application are all obtained with full authorization.

[0229] In the embodiments of the present application, the terms "first", "second" and "third" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance. The term "at least one" means one or more, and the term "plurality" means two or more, unless otherwise expressly defined.

[0230] The term "and / or" in this application is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.

[0231] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present invention.

Claims

1. A cloud service testing method, characterized in that: The method is applied to a cloud management platform, the cloud management platform is used to manage an infrastructure that provides at least one cloud service, the infrastructure includes at least one cloud data center, each cloud data center is provided with a plurality of servers, one or any combination of the at least one cloud service is deployed in at least one server of the infrastructure, the method includes: Get test object data; Providing at least one request configuration interface, wherein the request configuration interface is used to receive configuration of a test request from a user; Acquire and record at least one test request configured by the user through the request configuration interface, generate a test request sequence based on the at least one test request, the test request sequence instructing the cloud service to perform a specified operation on the test object data, the test request sequence including one or more test requests; Testing the cloud service based on the test object data and the test request sequence; Based on the response of the cloud service to the test, it is determined whether an abnormality occurs in the cloud service.

2. The method according to claim 1, characterized in that The method further comprises: Providing a performance indicator configuration interface, wherein the performance indicator configuration interface is used to receive the user's configuration of the performance indicator; Acquire and record the performance indicator configured by the user from the performance indicator configuration interface; The determining whether the cloud service is abnormal based on the response of the cloud service to the test includes: Obtain performance data of the performance indicators during the test; Determine whether an abnormality occurs in the cloud service based on the performance data.

3. The method according to claim 1 or 2, characterized in that The method further comprises: Providing a determination policy configuration interface, the determination policy configuration interface is used to receive the user's configuration of an abnormal determination policy, the abnormal determination policy indicating the conditions that the cloud service needs to meet in response to the test when there is no vulnerability in the cloud service; Acquire and record the abnormality determination policy configured by the user from the determination policy configuration interface; The determining whether the cloud service is abnormal based on the response of the cloud service to the test includes: Based on the matching of the response with the abnormality determination policy, it is determined whether an abnormality occurs in the cloud service.

4. The method according to any one of claims 1 to 3, characterized in that: The obtaining of the test object data comprises: Providing an object data configuration interface, wherein the object data configuration interface is used to receive the configuration of the initial object data by the user; Acquire and record the initial object data configured by the user from the object data configuration interface; The initial object data is used as the test object data, and / or a modification policy configuration interface is provided, wherein the modification policy configuration interface is used to receive the user's configuration of the modification policy, obtain and record the modification policy configured by the user from the modification policy configuration interface, modify the initial object data according to the modification policy to obtain the test object data, and the modification policy is used to indicate the method for modifying the initial object data.

5. The method according to any one of claims 1 to 4, characterized in that: The obtaining and recording at least one test request configured by the user through the request configuration interface includes: Acquire and record the user-configured test request template from the request configuration interface, the test request template comprising at least one test request whose request parameters are not instantiated; The generating a test request sequence based on the at least one test request comprises: Performing an instantiation operation on the parameters in the at least one test request to obtain parameter values ​​of the parameters in the at least one test request; Based on the at least one test request and the parameter value, the test request sequence is obtained.

6. The method according to claim 5, characterized in that In response to the test request sequence including a plurality of test requests, the plurality of test requests including the at least one test request and other test requests executed before the at least one test request, performing an instantiation operation on a parameter in the at least one test request to obtain a parameter value of the parameter in the at least one test request includes: Matching a parameter acquisition template with a response message of the other test request, and obtaining a candidate value of a parameter in the at least one test request from the response message, wherein the parameter acquisition template is used to indicate a condition that the parameter in the test request needs to satisfy; Based on the candidate value, a parameter value of the parameter in the at least one test request is obtained.

7. The method according to claim 6, characterized in that Before matching the parameter acquisition template with the response message of the other test request, the method further includes: Providing a parameter template configuration interface, wherein the parameter template configuration interface is used to receive the user's configuration of the parameter acquisition template; The parameter acquisition template configured by the user is acquired from the parameter template configuration interface and recorded.

8. The method according to any one of claims 1 to 7, characterized in that: After determining whether the cloud service is abnormal based on the response of the cloud service to the test, the method further includes: Acquire a target test case that causes the cloud service to be abnormal, wherein the target test case includes at least one of test object data and a test request sequence; Based on the target test case, first test auxiliary information is obtained, wherein the first test auxiliary information is used to assist in obtaining at least one of the test object data and the test request sequence used to test the cloud service, and the first test auxiliary information includes one or more of the following: a test request, candidate values ​​of parameters in the test request, a parameter acquisition template for obtaining the candidate values, or a modification strategy for obtaining the test object data.

9. The method according to any one of claims 1 to 8, characterized in that: The method further comprises: randomly selecting a test request sequence from a plurality of preset test request sequences; And / or, selecting a test request sequence from a plurality of test request sequences for concurrent attacks, wherein the concurrent attack refers to the cloud management platform generating a data stream with a data volume greater than a specified threshold and sending the data stream to the cloud service within a specified time period.

10. A cloud service testing device, characterized in that: The device is applied to a cloud management platform, the cloud management platform is used to manage an infrastructure that provides at least one cloud service, the infrastructure includes at least one cloud data center, each cloud data center is provided with a plurality of servers, one or any combination of the at least one cloud service is deployed in at least one server of the infrastructure, the device includes: The acquisition module is used to obtain the test object data; An interaction module, configured to provide at least one request configuration interface, wherein the request configuration interface is configured to receive configuration of a test request from a user; The interaction module is further used to obtain and record at least one test request configured by the user through the request configuration interface; a testing module, configured to generate a test request sequence based on the at least one test request, wherein the test request sequence instructs the cloud service to perform a specified operation on the test object data, and the test request sequence includes one or more test requests; The testing module is further configured to test the cloud service based on the test object data and the test request sequence; The processing module is used to determine whether an abnormality occurs in the cloud service based on a response of the cloud service to the test.

11. The device according to claim 10, characterized in that The interaction module is further used to provide a performance indicator configuration interface, and the performance indicator configuration interface is used to receive the user's configuration of the performance indicator; The interaction module is further used to obtain and record the performance indicator configured by the user from the performance indicator configuration interface; The processing module is specifically used for: Obtain performance data of the performance indicators during the test; Determine whether an abnormality occurs in the cloud service based on the performance data.

12. The device according to claim 10 or 11, characterized in that The interaction module is further used to provide a determination policy configuration interface, wherein the determination policy configuration interface is used to receive the configuration of the abnormal determination policy by the user, and the conditions that the cloud service needs to meet in response to the test when the abnormal determination policy indicates that the cloud service does not have a vulnerability; The interaction module is further used to obtain and record the abnormality determination policy configured by the user from the determination policy configuration interface; The processing module is specifically used for: Based on the matching of the response with the abnormality determination policy, it is determined whether an abnormality occurs in the cloud service.

13. The device according to any one of claims 10 to 12, characterized in that: The acquisition module is specifically used for: Providing an object data configuration interface, wherein the object data configuration interface is used to receive the configuration of the initial object data by the user; Acquire and record the initial object data configured by the user from the object data configuration interface; The initial object data is used as the test object data, and / or a modification policy configuration interface is provided, wherein the modification policy configuration interface is used to receive the user's configuration of the modification policy, obtain and record the modification policy configured by the user from the modification policy configuration interface, modify the initial object data according to the modification policy to obtain the test object data, and the modification policy is used to indicate the method for modifying the initial object data.

14. The device according to any one of claims 10 to 13, characterized in that: The interaction module is specifically configured to obtain and record the test request template configured by the user from the request configuration interface, wherein the test request template includes at least one test request whose request parameters are not instantiated; The test module is specifically used for: Performing an instantiation operation on the parameters in the at least one test request to obtain parameter values ​​of the parameters in the at least one test request; Based on the at least one test request and the parameter value, the test request sequence is obtained.

15. The device according to claim 14, characterized in that In response to the test request sequence comprising a plurality of test requests, the plurality of test requests comprising the at least one test request and other test requests executed before the at least one test request, the test module is specifically configured to: Matching a parameter acquisition template with a response message of the other test request, and obtaining a candidate value of a parameter in the at least one test request from the response message, wherein the parameter acquisition template is used to indicate a condition that the parameter in the test request needs to satisfy; Based on the candidate value, a parameter value of the parameter in the at least one test request is obtained.

16. The device according to claim 15, characterized in that The interaction module is further used to provide a parameter template configuration interface, and the parameter template configuration interface is used to receive the user's configuration of the parameter acquisition template; The interaction module is further used to obtain and record the parameter acquisition template configured by the user from the parameter template configuration interface.

17. The device according to any one of claims 10 to 16, characterized in that: The processing module is also used for: Acquire a target test case that causes the cloud service to be abnormal, wherein the target test case includes at least one of test object data and a test request sequence; Based on the target test case, first test auxiliary information is obtained, wherein the first test auxiliary information is used to assist in obtaining at least one of the test object data and the test request sequence used to test the cloud service, and the first test auxiliary information includes one or more of the following: a test request, candidate values ​​of parameters in the test request, a parameter acquisition template for obtaining the candidate values, or a modification strategy for obtaining the test object data.

18. The device according to any one of claims 10 to 17, characterized in that: The test module is also used to: randomly selecting a test request sequence from a plurality of preset test request sequences; And / or, selecting a test request sequence from a plurality of test request sequences for concurrent attacks, wherein the concurrent attack refers to the cloud management platform generating a data stream with a data volume greater than a specified threshold and sending the data stream to the cloud service within a specified time period.

19. A computing device cluster, characterized in that: The method comprises a plurality of computing devices, wherein the plurality of computing devices comprises a plurality of processors and a plurality of memories, wherein program instructions are stored in the plurality of memories, and the plurality of processors execute the program instructions, so that the computing device cluster executes any one of the methods described in claims 1 to 9.

20. A computer-readable storage medium, characterized in that: The method comprises program instructions, and when the program instructions are executed on a computing device, the computing device is caused to execute the method according to any one of claims 1 to 9.

21. A computer program product comprising instructions, characterized in that When the instructions are executed by a computing device cluster, the computing device cluster executes the method according to any one of claims 1 to 9.