Test method and device and related equipment
By simulating the network resources of storage devices for simulation testing, the high cost and long-term problems caused by the existing testing methods relying on physical devices are solved, and an efficient and low-cost testing method is realized.
Patent Information
- Application Number
- CN202311326422.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-12
- Publication Date
- 2025-04-15
AI Technical Summary
Existing storage device testing methods rely on multiple physical devices, resulting in high hardware costs and long test cycles, and lack of efficient testing methods to reduce costs and improve efficiency.
By simulating the front-end and back-end network resources of the device under test, virtualization technology is used to create virtual hosts and virtual disks, and conduct simulation tests without the need for a real physical environment.
It effectively reduces the hardware cost required for testing, shortens the test cycle, improves testing efficiency, and tests the reliability of the tested equipment in multi-service concurrent scenarios.
Smart Images

Figure CN119832969A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of testing technology, and in particular to a testing method, device and related equipment. Background Art
[0002] With the evolution of the hardware architecture of storage devices, the business networking of storage devices is also developing towards matrix and scale to provide flexible storage capabilities and abundant storage resources. When deploying storage devices in large-scale networking, there are usually certain requirements for the compatibility and reliability of storage devices. Therefore, before deploying storage devices or before storage devices leave the factory, they are usually tested for compatibility and reliability.
[0003] At present, it is common to network storage devices with multiple physical devices for testing to build a real test environment. In this test environment, the compatibility of the storage device with the communication protocol and the reliability of data reading and writing of the storage device can be tested. However, this way of testing storage devices is highly dependent on physical devices, which not only leads to high hardware costs, but also takes a long time to prepare and configure physical devices, resulting in a long test cycle.
[0004] Therefore, there is an urgent need for a testing method that can reduce the hardware cost required for testing and improve testing efficiency. Summary of the invention
[0005] The present application provides a testing method to reduce the hardware cost required for testing and improve testing efficiency. In addition, the present application also provides a testing device, a computing device, a computer-readable storage medium, and a computer program product.
[0006] In a first aspect, the present application provides a testing method, which can be performed by a corresponding testing device. Specifically, the testing device simulates a first resource in a front-end network of a device under test, such as simulating multiple virtual hosts in the front-end network through virtualization technology, and simulates a second resource in a back-end network of the device under test, such as simulating multiple virtual disks in the back-end network. In addition, the testing device also obtains first fault information of a first test service in the front-end network, and obtains second fault information of a second test service in the back-end network, wherein the first fault information and the second fault information include different fault types or different fault parameters, so that the testing device runs the first test service and the second test service in parallel based on the simulated first resource, the second resource and the device under test, and during the parallel operation of the first test service and the second test service, the first test service and the second test service are respectively simulated based on the first fault information and the second fault information and the fault simulation timing to obtain a test result for the device under test.
[0007] In this way, during the process of testing the device under test, the test device can simulate the resources in the front-end network and the back-end network of the device under test, and use the simulated resources to perform simulation testing on the device under test, without having to build a real physical environment for the device under test, which can effectively reduce the hardware cost required for testing and improve testing efficiency. In addition, during the simulation test, the test device can use the first fault information to simulate the fault of the first test service in the front-end network, and use the second fault information to simulate the fault of the second test service in the back-end network, so as to achieve simulation testing of the device under test under the condition of multi-point service failure, thereby achieving the reliability of the device under test in the multi-service concurrent scenario.
[0008] In a possible implementation, when simulating the first resource and the second resource, the test device may specifically use virtualization technology to simulate a virtual host in the front-end network, and establish a link between the virtual host and the device under test, so as to simulate the resources in the front-end network used to support the operation of the test service. In addition, the test device will also respond to the resource discovery message sent by the device under test and feed back a response message to the device under test, and the response message includes the number of multiple virtual disks and the attribute information of the multiple virtual disks. In this way, the device under test determines the disk resources included in the back-end network by parsing the number of virtual disks and the attribute information in the response message, so as to simulate the resources in the back-end network.
[0009] In a possible implementation, the number of links between the virtual host in the front-end network simulated by the test device and the device under test is greater than or equal to the first threshold. In this way, a simulation test of the link specifications between the device under test and the front-end network can be implemented, such as testing the maximum specifications of the link that can be established between the device under test and the front-end network, and testing whether the device under test can normally operate the services in the front-end network when it has a larger link specification with the front-end network. In addition, the number of virtual disks in the back-end network simulated by the test device is greater than or equal to the second threshold. In this way, a simulation test of the disk specifications connected to the device under test can be implemented, such as testing the maximum specifications of the disk that can be connected to the device under test, and testing whether the device under test can normally operate the services in the back-end network when it is connected to a larger disk specification.
[0010] In a possible implementation, when the test device simulates the fault of the second test service according to the second fault information, it can specifically first receive the first message sent by the device under test to the backend network, and identify the target communication protocol used by the device under test to send the first message to the backend network according to the target field in the first message, thereby parsing the operation instruction issued by the device under test for the second test service from the first message according to the target communication protocol, and feeding back a simulated response to the device under test according to the operation instruction and the second fault information. In this way, the test device can realize the fault simulation of the second test service in the backend network by feeding back the simulated response to the device under test. Moreover, the test device can support the device under test to send a message to the backend network based on one of a plurality of communication protocols, so as to enrich the scenarios to which the test device can be applied.
[0011] In a possible implementation, the test device can also simulate a third resource in the inter-array switching network of the device under test, and obtain the third fault information of the third test service in the inter-array switching network, so that when the test device performs fault simulation on the test service based on the fault simulation sequence, it can specifically perform fault simulation on the first test service in the front-end network, the second test service in the back-end network, and the third test service in the inter-array switching network respectively based on the fault simulation sequence according to the first fault information, the second fault information, and the third fault information. In this way, the device under test can be simulated under the condition of multi-point service failure, thereby testing the reliability of the device under test in a multi-service concurrent scenario.
[0012] In a possible implementation, the fault simulation performed by the test device may include communication fault simulation, such as simulating a large IO delay in the device under test, or the fault simulation may include device fault simulation, such as simulating the restart of other devices (simulated devices) that communicate with the device under test.
[0013] In a possible implementation, the first fault information includes one or more of the following information: fault type, fault duration, fault cycle, fault number, and fault stop condition. Similarly, the second fault information may also include one or more of the fault type, fault duration, fault cycle, fault number, and fault stop condition.
[0014] In a possible implementation, in the process of generating the test result, the test device may first simulate the first test service and the second test service respectively based on the first fault information and the second fault information and based on the fault simulation sequence to obtain the operation record of the test device, which includes the operations performed when the device under test concurrently runs the first test service and the second test service with faults, so that the test device can generate the test result for the device under test based on the operation record. In this way, the test device determines whether the device under test passes the test based on the performance behavior of the device under test under the condition of multi-point service failure, so as to realize the reliability of the device under test in the multi-service concurrent scenario.
[0015] In a second aspect, the present application provides a testing device, which includes various modules for executing the testing method in the first aspect or any possible implementation of the first aspect.
[0016] In a third aspect, the present application provides a computing device, which includes a processor and a memory. The processor and the memory communicate with each other. The processor is used to execute instructions stored in the memory so that the computing device executes the test method in the first aspect or any one of the implementations of the first aspect. It should be noted that the memory can be integrated into the processor or can be independent of the processor. The computing device may also include a bus. The processor is connected to the memory via the bus. The memory may include a readable memory and a random access memory.
[0017] In a fourth aspect, the present application provides a computer-readable storage medium, which stores instructions. When the computer-readable storage medium is executed on a computing device, the computing device executes the operating steps of the testing method described in the first aspect or any one of the implementations of the first aspect.
[0018] In a fifth aspect, the present application provides a computer program product comprising instructions, which, when executed on a computing device, enables the computing device to execute the operating steps of the testing method described in the first aspect or any one of the implementations of the first aspect.
[0019] Based on the implementations provided in the above aspects, this application can also be further combined to provide more implementations. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] Figure 1 A schematic diagram of a real test environment constructed for the device under test;
[0021] Figure 2 A schematic diagram of the structure of an exemplary test system provided in this application;
[0022] Figure 3A flow chart of a test method provided in this application;
[0023] Figure 4 A schematic diagram of performing fault simulation using fault information corresponding to three test services;
[0024] Figure 5 A schematic diagram of the structure of a test device provided in this application;
[0025] Figure 6 A schematic diagram of the hardware structure of a computing device provided for this application. DETAILED DESCRIPTION
[0026] In order to reduce the hardware cost required for testing and improve testing efficiency, the present application provides a testing method, which simulates the resources in the network where the device under test (such as a storage server, etc.) is located, and uses the simulated resources to perform simulation testing on the device under test. This allows the device under test to complete the test in a simulated test environment, and there is no need to use a large number of physical devices to build a real network environment for the device under test, thereby effectively reducing the hardware cost required for testing and improving testing efficiency.
[0027] The technical solution in this application will be described below in conjunction with the drawings provided in this application.
[0028] In actual application scenarios, the device under test can be in a network of any architecture. Figure 1 The network shown in the figure is used as an example. Figure 1 As shown, the network where the device under test is located may include a front-end network, a back-end network, and an inter-array switching network. Among them, the front-end network refers to a network that is relatively closer to the user side, and the user can interact with the device under test through the device in the front-end network. The back-end network refers to the network for interaction between the device under test and the back-end disk, and the device under test can read and write corresponding data to the disk in the back-end network. The inter-array switching network refers to a network that interacts with devices at the same level as the device under test, wherein the devices at the same level have the same or similar functions.
[0029] When testing a device under test, a virtual test environment can be built for the device under test through simulation. Figure 2 , is a schematic diagram of the structure of an exemplary test system provided in this application. Figure 2 As shown, the test system 10 includes a test device 100 and a device under test 200, and the test device 100 and the device under test 200 are connected via a network, such as a wired network connection.
[0030] The testing device 100 is used to test the device under test 200, such as testing whether the operation of the device under test 200 is in line with expectations when a service failure occurs, testing whether the reliability of the device under test 200 meets the standards in a large-scale networking environment, etc.
[0031] like Figure 2 As shown, the test device 100 can simulate resources in the front-end network 101 and the back-end network 102 for the device under test 200. The simulated resources in the front-end network 101 can be, for example, a virtual host created by virtualization technology, so that the virtual host and the device under test 200 communicate through the front-end network 101; the simulated resources in the back-end network 102 can be, for example, a virtual disk created by virtualization technology, so that the device under test 200 and the virtual disk communicate through the back-end network 102. Further, the test device 100 can also simulate resources in the inter-array switching network 103 for the device under test 200. The simulated resources can be, for example, a virtual storage device implemented by virtualization technology, and the virtual storage device can form a storage cluster with the device under test 200, so that the virtual storage device and the device under test 200 communicate through the inter-array switching network 103. In this way, the test device 100 can simulate the test environment of the front-end network 101, the back-end network 102, the inter-array switching network 103, etc. for the device under test 200 through resource simulation.
[0032] The device under test 200 may be a storage device under test, which refers to a device capable of reading and writing data to a storage medium, such as a storage controller, a storage server, a cluster, and the like.
[0033] When testing the device under test 200, the test device 100 can simulate resources such as virtual hosts in the front-end network 101 and virtual disks in the back-end network 102 for the device under test 200 through virtualization technology, and run multiple test services in parallel based on the simulated resources and the device under test 200, including test service 1 in the front-end network 101 and test service 2 in the back-end network 102, so as to start testing the device under test 200. In addition, the test device 100 will also obtain the fault information of test service 1 and the fault information of test service 2, wherein the fault information of test service 1 and the fault information of test service 2 include different fault types or different fault parameters. In this way, in the process of the device under test 200 running test service 1 and test service 2 in parallel, the test device 100 performs fault simulation on test service 1 and test service 2 based on the fault simulation timing according to the fault information of test service 1 and the fault information of test service 2, so that the device under test 200 runs multiple test services concurrently under the simulated service fault conditions and obtains corresponding test results.
[0034] In this way, during the testing of the device under test, the testing device 100 can simulate the resources in the front-end network 101 and the back-end network 102, and use the simulated resources to perform simulation testing on the device under test 200. There is no need to build a real and complete physical environment for the device under test 200, which can effectively reduce the hardware cost required for testing and improve testing efficiency.
[0035] Moreover, during the simulation test process, the test device 100 can use the fault information of the test service 1 to simulate the fault of the test service 1 in the front-end network 101, and use the fault information of the test service 2 to simulate the fault of the test service 2 in the back-end network 102. In this way, the simulation test of the device under test 200 can be performed under the condition of multi-point service failure, thereby realizing the reliability of the device under test 200 in the multi-service concurrent scenario.
[0036] Furthermore, the test device 100 can also simulate resources such as virtual storage devices in the inter-array switching network 103 for the device under test 200, so that the test device 100 can run the test service 3 in the inter-array switching network 103 based on the simulated resources in the inter-array switching network 103 on the basis of concurrently running the test service 1 and the test service 2, and can also perform fault simulation on the test service 3 according to the fault information of the test service 3, so as to obtain the corresponding test result for the device under test 200. In this way, the device under test 200 can be simulated under the condition of multi-point service failure, so as to further test the reliability of the device under test 200 when concurrently running test services in a larger number of networks.
[0037] Exemplarily, the above-mentioned testing device 100 can be implemented by software or hardware.
[0038] In the first example, the test device 100 can be implemented by software. In this case, the test device 100 can be specifically a code running on a computing instance, such as a code running on a physical device, a virtual machine, or a container. In addition, the code on the computing instance (i.e., the test device 100) can build a virtual test environment for the device under test 200 during operation. When the test device 100 runs on a physical device, the physical device and the device under test 200 can be connected via a line, so that the test device 100 on the physical device can perform a simulation test on the device under test 200 based on the connection.
[0039] In the second example, when implemented by hardware, the test device 100 can be implemented by at least one physical device including a processor, such as a server, etc. Among them, the processor can be a central processing unit (CPU), and an application-specific integrated circuit (ASIC), a programmable logic device (PLD), a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), a system on chip (SoC), a software-defined infrastructure (SDI) chip, an artificial intelligence (AI) chip, a data processing unit (DPU), and any processor or any combination thereof. In addition, the number of processors included in the test device 100 can be one or more, and the type of processors included can be one or more. The number and type of processors can be set according to the business requirements of the actual application, and this embodiment does not limit this.
[0040] In actual application, the test device 100 can be a terminal device on the user side, or run on a terminal device to provide localized test services to the user. Alternatively, the test device 100 can be deployed in the cloud, so that the test device 100 can provide cloud services for testing the device for one or more users. This application does not limit the deployment method of the test device 100.
[0041] It is worth noting that the above Figure 1 The test system 10 shown is only used as an exemplary illustration and is not intended to be limiting. For example, in other test systems, a client or a test platform may also be included, and the user may configure the test process for the device under test 200 through the client or the test platform, such as configuring the fault information required during the test process, so that the user can manually intervene in the test process. For another example, in other test systems, the test device 100 may be split into device 1 and device 2, wherein device 1 is used to perform resource simulation for the device under test 200, and device 2 is used to perform fault simulation on the test service, etc.
[0042] For ease of understanding, an embodiment of the testing method provided in the present application is described below in conjunction with the accompanying drawings.
[0043] See also Figure 3 , Figure 3 A flow chart of a test method provided in an embodiment of the present application, which can be applied to Figure 1 The test system 10 described above may be applied to other applicable test systems. Figure 1 The test system 10 shown is taken as an example for illustrative description.
[0044] in, Figure 3 The test methods shown may specifically include:
[0045] S301 : the testing apparatus 100 simulates a first resource in the front-end network 101 of the device under test 200 , and simulates a second resource in the back-end network 102 of the device under test 200 .
[0046] Typically, when the device under test 200 is running in a real scenario, it is usually connected to the front-end network 101 and the back-end network 102, such as Figure 1 As shown, the test device 100 cooperates with the front-end network 101 and the back-end network 102 to run corresponding services, such as data reading and writing services. Therefore, when the test device 100 performs a simulation test on the device under test 200, it can first simulate the resources in the front-end network 101 and the back-end network 102 that can be used to run the services, so as to build a simulation test environment for the device under test 200 based on the simulated resources.
[0047] During specific implementation, the testing device 100 may first establish a connection with the device under test 200 .
[0048] Exemplarily, the test device 100 may be configured with a variety of connection devices, and the test device 100 may respectively establish connections with the device under test 200 through the various connection devices. The device under test 200 connects to different networks, specifically the front-end network 101 and the back-end network 102, through different connection devices.
[0049] Among them, the connection device configured in the test device 100 can be, for example, a fiber channel (FC) card, a non-volatile memory express over fabrics (NoF) card based on network hosting, an Ethernet (ETH) card, a serial attached small computer system interface (SAS) card, a peripheral component interconnect express (PCIE) interface card, a Compute Express Link (CXL) interface card, an onboard connector, etc. In this way, the device under test 200 can be connected to the front-end network 101 through an FC card, an ETH card or a NoF card, and connected to the back-end network 102 through a SAS card, a PCIe interface card, a CXL interface card, or an onboard connector.
[0050] Then, the test apparatus 100 may simulate resources in the front-end network 101 and the back-end network 102 , so that the simulated resources can communicate with the device under test 200 based on the established connection.
[0051] When simulating the first resource in the front-end network 101, the test device 100 can specifically use virtualization technology to create a virtual machine (VM) or a container, and use the created VM or container as a virtual host in the front-end network 101. For example, the test device 100 may include one or more first emulators, and the virtual host can be created using the first emulator, and different first emulators can be used to create virtual hosts that support different protocols. Then, the test device 100 establishes a link between the virtual host and the device under test 200, and each virtual host can be connected to the device under test 200 through one or more links. Among them, the test device 100 can create multiple threads / processes in the virtual host, and each thread / process can support the establishment of multiple links with the device under test 200 (such as establishing 32 or 128 links, etc.).
[0052] In actual application, the number of links between the virtual host and the device under test 200 established by the test device 100 may be greater than or equal to the first threshold value, so as to implement a simulation test of the link specifications between the device under test 200 and the front-end network 101, such as testing the maximum specification of the link that can be established between the device under test 200 and the front-end network 101 (i.e., the test device 100 can test whether the number of links supported by the device under test 200 can reach the first threshold value), and testing whether the device under test 200 can normally operate the services in the front-end network 101 when the link specification between the device under test 200 and the front-end network 101 is larger. For example, assuming that the test device 100 creates 8 virtual hosts, each virtual host has 8 threads, and each thread supports 32 links with the device under test 200, the number of links established by the test device 100 for the device under test 200 and the front-end network 101 is 2048 (i.e., 8 virtual hosts×8 threads×32 links). The link established by the device under test 200 may be established by the device under test 200 through one or more ports.
[0053] When simulating the second resource in the backend network 102, the test device 100 can specifically implement the resource simulation in the backend network 102 by feeding back the virtual disk specifications to the device under test 200. Specifically, the device under test 200 can send a resource discovery message to the backend network 102 based on the connection between the device under test 102. The test device 100 responds to the resource discovery message and generates a corresponding response message, which includes the number of multiple virtual disks and the attribute information of the multiple virtual disks, such as the type, size, storage method and other information of each virtual disk. For example, the test device 100 can include one or more second emulators, and the response message can be simulated and generated using the second emulator, and different second emulators can be used to generate response messages using different protocols. Then, the test device 100 can feed back the generated response message to the device under test 200. In this way, the device under test 200 can parse the number of virtual disks and their attribute information from the response message, and regard it as a plurality of virtual disks including the number in the backend network 102, thereby implementing the resource simulation in the backend network 102. In addition, the test device 100 can also add SAS expander attribute information, such as the number of expander ports, the type of the opposite device, etc., in the simulated response message, so as to simulate different disk frame cascade networks.
[0054] Furthermore, when constructing a response message, the number of virtual disks filled into the response message by the test device 100 may be greater than or equal to the second threshold value, so as to implement a simulation test on the disk specifications connected to the device under test 200, such as testing the maximum specifications of the disks that the device under test 200 can connect to, and testing whether the device under test 200 can normally run the services in the backend network 102 when connecting to a larger disk specification. The device under test 200 may connect to multiple virtual disks through one or more ports.
[0055] In actual application scenarios, the device under test 200 will also establish an inter-array switching network with other devices of the same type (such as other storage devices), and communicate with each other and process business through the inter-array switching network. Therefore, the test device 100 can also simulate a third resource in the inter-array switching network 103 for the device under test 200. The third resource can, for example, be a VM or container with storage capacity created by virtualization technology. For example, the test device 100 may include one or more third emulators, and the third emulator can be used to create a virtual storage device of the same type as the device under test 200, and different third emulators can be used to create virtual storage devices that support different protocols. In addition, the test device 100 can establish a link between the device under test 200 and the third resource in the inter-array switching network 103, and the number of links established can be greater than or equal to the third threshold value, so as to realize a simulation test of the link specification between the device under test 200 and the inter-array switching network 103. Thus, the test device 100 is a test environment simulated by the device under test, which can include the front-end network 101, the network 102 and the back-end of the inter-array switching network 103 to meet the test requirements in actual applications.
[0056] S302: The testing device 100 obtains first fault information of a first test service in the front-end network 101 and second fault information of a second test service in the back-end network 102, wherein the first fault information and the second fault information include different fault types or different fault parameters.
[0057] In this embodiment, when performing simulation test on the device under test 200, it can be specifically tested whether the device under test 200 can operate normally in the event of a service failure. Therefore, for the service in the front-end network 10 to be run in the test scenario, hereinafter referred to as the first test service, and the service in the back-end network 102, hereinafter referred to as the second test service, the test device 100 can obtain the first fault information of the first test service and the second fault information of the second test service, so as to use the first fault information and the second fault information to respectively simulate the fault of the first test service in the front-end network 101 and the fault of the second test service in the back-end network 102.
[0058] The test services in the front-end network 101 and the back-end network 102 may be determined based on the services that the device under test 200 may run in an actual application scenario, and the services may be, for example, services for reading and writing data. In this embodiment, during the simulation test of the device under test 200, the test device 100 may use simulated resources to support the device under test 200 to run the test services in the front-end network 101 and the back-end network 102.
[0059] Exemplarily, the first test service may be, for example, a service for storing data, such as a virtual host in the front-end network 101 instructing the device under test 200 to store data; the second test service may be, for example, a service for reading and writing data, such as the device under test 200 may write data to a virtual disk in the back-end network 102, etc. The various test services mentioned in this embodiment may be set according to the needs of the actual test scenario, and are not limited thereto. Exemplarily, the first test service and the second test service may be services pre-configured in the test device 100, so that the test device 100 may subsequently start a fixedly configured service to start testing the device under test 200; or, the test device 100 may present a configuration interface to the user through a client or a test platform, so that the user may specify the first test service in the front-end network 101 and the second test service in the back-end network 102 on the configuration interface.
[0060] In a possible implementation, the test device 100 may be configured with a fault simulation asset library, in which fault simulation asset library is defined fault information for services in the front-end network 101, the back-end network 102, and the inter-array switching network 103, and the fault information of different services may be different, and each network may include one or more services, so that for each network, the fault simulation asset library may store fault information corresponding to one or more services in the network. In this way, the test device 100 can filter out the fault information corresponding to the first test service and the fault information corresponding to the second test service from the fault information corresponding to multiple services stored in the fault simulation asset library. In addition, the first fault information obtained has different fault types from the second fault information, such as the fault type of the first test service is a communication fault (such as excessive communication delay), and the fault type of the second test service is a device fault (such as simulating a restart of a virtual device communicating with the device under test). Alternatively, the first fault information and the second fault information have different fault parameters, such as the fault duration of the first test service is 1 second and the fault cycle is 10 seconds, and the fault duration of the second test service is 2 seconds and the fault cycle is 5 seconds.
[0061] Exemplarily, the first fault information obtained may include information such as the fault type, fault duration, fault cycle, number of faults, and fault stop conditions, or may include part of such information, or may include other types of information, etc., which are not limited. The specific implementation method of the second fault information obtained is similar to the implementation method of the first fault information, and will not be described in detail here.
[0062] Furthermore, when it is necessary to test the device under test 200 for the inter-array switching network 103, the testing apparatus 100 may also refer to a similar method to obtain third fault information corresponding to a third test service in the inter-array switching network 103, etc., so as to subsequently perform a service fault test on the device under test 200 based on the third fault information.
[0063] S303: The testing apparatus 100 runs the first test service and the second test service in parallel based on the device under test 200 and the simulated first resources and second resources.
[0064] In this embodiment, the test device 100 can run the first test service in the front-end network 101 based on the simulated first resource and the device under test 200, and run the second test service in the back-end network 102 based on the simulated second resource and the device under test 200. The device under test 200 runs the first test service and the second test service concurrently. In this way, the test device 100 can simulate the interaction between the front-end network 101, the back-end network 102 and the device under test 200 when running the test service in a real environment. For example, when running the first test service based on the first resource, the test device 100 can simulate the front-end network 101 sending a corresponding message to the device under test 200, and the message may include communication data or service commands, etc.; when running the second test service based on the second resource, the test device 100 can simulate the back-end network 102 to feed back a corresponding response message to the device under test 200, etc. Therefore, the test device 100 can run the first test service and the second test service to start executing the corresponding test process on the device under test 200.
[0065] As an implementation example, in the process of running the first test service, the test device 100 can send a message a to the device under test 200 based on the communication protocol A based on the first resource simulation front-end network 101, and the message a carries an operation instruction 1 for the device under test 200, such as a command to store data, etc. The communication protocol A, for example, can be an FC protocol, or a NoF protocol, or an infiniband (IB) protocol, etc., and can be specified by the user, such as the user can specify the communication protocol A to the test device 100 through a client or a test platform. Then, the device under test 200 can respond to the message a, perform the operation indicated by the operation instruction 1 in the message a, obtain the corresponding operation result, and return the operation result to the front-end network 101, that is, to the test device 100.
[0066] In the process of running the second test service, the device under test 200 can generate a corresponding message b, and send the message b to the backend network 102 based on the communication protocol B, that is, send the message b to the test device 100, and the message b carries an operation instruction 2 for the backend network 102, such as a command to write data to a specified disk. Exemplarily, the communication protocol B can be, for example, one of the SAS protocol, the PCIe protocol, and the CXL protocol, or can be other types of communication protocols. Then, the test device 100 generates a corresponding response message based on the second resource according to the operation instruction 2 in the message b and feeds it back to the device under test 200, so as to simulate the backend network 102 sending a response message to the device under test 200.
[0067] The device under test 200 can communicate with the backend network 102 based on a fixed communication protocol. At this time, the test device 100 can parse a specific field in the message b sent by the device under test 200, determine the operation instruction 2, and generate and feed back a response message corresponding to the operation instruction 2.
[0068] Alternatively, the test device 100 may support the device under test 200 to send a message b to the backend network 103 based on one of the multiple communication protocols. Then, after receiving the message b, the test device 100 may parse the message b to determine the target field in the message b, which is used to indicate the target communication protocol used to encapsulate the message b, so that the test device 100 may determine the target communication protocol used when the device under test 200 sends the message b to the backend network 102 according to the target field. Then, the test device 100 determines the field in the message b used to indicate the operation instruction according to the target communication protocol, and determines the operation instruction 2 according to the partial field, so that the test device 100 may generate and feed back a simulation response corresponding to the operation instruction 2.
[0069] Further, when it is necessary to test the device under test 200 for the inter-array switching network 103, the test device 100 can run the third test service in the inter-array switching network 103 based on the device under test 200 and the simulated third resource on the basis of running the first test service and the second test service in parallel. At this time, the device under test 200 can also send a message c to the virtual storage device in the inter-array switching network 103 based on the communication protocol C. Exemplarily, the communication protocol C can be, for example, an ETH protocol, a transmission control protocol (TCP), or a remote direct memory access (RDMA) protocol, an RDMA overconverged ethernet (RoCE) protocol based on converged Ethernet, etc., or can be other types of protocols. Then, the test device 100 can generate a corresponding response message based on the message c, and send it to the device under test 200, so as to simulate the virtual storage device to feed back the corresponding response message to the device under test 200.
[0070] In actual application scenarios, the test device 100 can support the device under test 200 to communicate with the front-end network 101, or communicate with the back-end network 102, or communicate with the virtual storage device in the inter-array switching network 103 based on multiple communication protocols. Accordingly, the test device 100 can be configured with simulation asset libraries corresponding to multiple communication protocols, and the simulation asset library corresponding to each communication protocol can store response messages corresponding to any command type of the communication protocol. At the same time, the test device 100 can be configured with multiple simulators for multiple communication protocols, and each simulator can call a simulation asset library corresponding to a communication protocol. In this way, after receiving the message sent by the device under test 200, the test device 100 can first determine the target communication protocol used by the device under test 200 to send the message based on the target field in the message, and based on the target communication protocol, determine the operation instruction sent by the device under test 200 according to the specified field in the message. Thus, the test device 100 can use the simulator corresponding to the target communication protocol to call the simulation asset library corresponding to the target communication protocol, and construct a response message corresponding to the operation instruction according to the simulation asset library, and then send the response message to the device under test 200.
[0071] S304: When the first test service and the second test service are running in parallel, the test device 100 performs fault simulation on the first test service and the second test service respectively based on the first fault information and the second fault information and the fault simulation sequence to obtain a test result for the device under test.
[0072] The first fault information is used to simulate a fault on a first test service, and the second fault information is used to simulate a fault on a second test service.
[0073] In a possible implementation, for each test service, the test device 100 can construct a corresponding service fault for the test service according to the fault information corresponding to the test service. In this embodiment, fault simulation for the test service specifically refers to that during the process of the device under test 200 running the test service, the test device 100 constructs a fault that affects the normal operation of the test service of the device under test 200. For example, if the test service is a service for the device under test to read and write data in a disk, the test device 100 can construct faults such as excessive access delay and data access failure for the test service. The following is an example of the implementation process of fault simulation for the first test service and the second test service respectively.
[0074] When simulating a fault for the first test service in the front-end network 101, the test device 100 can simulate a communication fault for the first test service according to the fault type included in the first fault information, such as simulating an input / output (IO) timeout (such as the test device 100 delays sending a command message to the device under test 200), an IO error (such as the test device 100 sends an error message to the device under test 200), an IO abnormal return error code (such as the test device 100 abnormally returns an error code to the device under test 200), a service content error of the first test service (such as the test device 100 sends an erroneous operation command to the device under test 200), etc. Alternatively, the test device 100 can simulate a device fault for the first test service according to the fault type, such as simulating a communication link disconnection (such as the test device 100 disconnects the FC card used to connect the device under test 200 in the front-end network 101). In actual application, the test device 100 can also construct other types of faults. In this way, the testing apparatus 100 can test whether the device under test 200 can perform expected operations when running the first test service with a fault by constructing a service fault for the first test service.
[0075] Similarly, when simulating a fault for the second test service in the backend network 102, the test device 100 can simulate a communication fault for the second test service according to the fault type included in the second fault information, such as simulating an IO timeout (such as the test device 100 delays in feeding back a response message to the device under test 200), an IO error (such as the test device 100 returns an erroneous response message to the device under test 200), an IO abnormal return error code, the backend network 102 and the device under test 200 using an incorrect communication protocol (such as the test device 100 can switch the communication protocol used when the backend network 102 feeds back a response message to the device under test 200), etc. Alternatively, the test device 100 can simulate an equipment fault for the second test service according to the fault type, such as simulating a communication link disconnection (such as the test device 100 disconnects a SAS card used to connect the device under test 200 in the backend network 102), etc. In actual application, the test device 100 can also construct other types of faults. In this way, the testing apparatus 100 can test whether the device under test 200 can perform expected operations when running the second test service with a fault by constructing a service fault for the second test service.
[0076] Furthermore, the test device 100 can also run the third test service in the inter-array switching network 103, and construct a corresponding service fault for the third test service based on the third fault information corresponding to the third test service. For example, the test device 100 can construct faults such as IO timeout, IO error, IO abnormal return error code, communication protocol error, communication link disconnection, etc. for the third test service, or can construct other types of faults. In this way, the test device 100 can test whether the device under test 200 can perform the expected operation when running the third test service with a fault by creating a service fault for the third test service.
[0077] The test device 100 completes the fault simulation based on the pre-configured fault simulation sequence, which refers to the time sequence of simulating faults for each test service. For example, assuming that the current device under test 200 runs test services 1, 2, and 3 in parallel, the processing device 100 can perform fault simulation on test service 1 first, then on test service 3, and finally on test service 2 according to the fault simulation sequence.
[0078] Exemplarily, the fault simulation sequence can be pre-defined by a technician and configured in the test device 100, so that the test device 100 can perform fault simulation on each test service in turn according to the fault simulation sequence corresponding to different test services. Alternatively, the fault simulation sequence can be configured by the user. For example, the user can specify the test services in the front-end network 101 and the back-end network 102 on the interactive interface presented by the test device 100 through the client or the test platform, and further determine the timing of the fault simulation corresponding to these test services, so that the test device 100 can perform fault simulation on each test service in turn according to the fault simulation sequence specified by the user.
[0079] In this way, the device under test 200 can run the first test service and the second test service (and the third test service) with faults in parallel, so that the test apparatus 100 can test the reliability of the device under test 200 when running multiple test services with faults. In this way, the service linkage test of the device under test 200 in the front-end network 101 and the back-end network 102 (and the inter-array switching network 103) can be implemented.
[0080] As an implementation example, when the device under test 200 runs multiple test services in parallel, the test device 100 can collect the operation record of the device under test 200, which includes the operations performed when the device under test concurrently runs the first test service with a fault and the second test service, that is, monitors the performance of the device under test 200 for the fault condition of each test service. In this way, the test device 100 can generate a test result for the device under test 200 based on the collected operation records, thereby testing the reliability of the device under test 200 when running multiple test services concurrently.
[0081] For example, when the test device 100 detects that the operation performed by the device under test 200 for the service failure of IO delay is to wait for a long time to receive a response message, it indicates that the device under test 200 will be in a passive waiting state for a long time, resulting in a long overall delay in processing services, and a test result indicating that the reliability of the device under test 200 is low (or indicating that the device under test 200 has not passed the test) can be generated. When the test device 100 detects that the operation performed by the device under test 200 for the service failure of IO delay is a message retransmission operation, and receives a response message for the retransmitted message, it indicates that the device under test 200 will actively instruct the front-end network 101 / back-end network 102 to resend the message, and can obtain the response message in time, so that a test result indicating that the reliability of the device under test 200 is high (or indicating that the device under test 200 has passed the test) can be generated.
[0082] In actual application scenarios, technicians can handle the device under test 200 according to the test results corresponding to the device under test 200. For example, when the test results indicate that the device under test 200 has passed the test, the technician can further test the device under test 200 by adjusting the test services that the device under test 200 runs concurrently or adjusting the fault information, or can apply the device under test 200 as a qualified product in a real physical environment. When the test results indicate that the device under test 200 has not passed the test, the technician can perform targeted problem repairs on the device under test 200 according to the defects of the device under test 200 indicated by the test results. For example, when the test results indicate that the device under test 200 will be in a waiting state for a long time in the face of the IO delay business failure, the technician can modify the program logic of the device under test 200 to handle the IO delay business failure, thereby improving the reliability of the device under test 200.
[0083] In a further possible implementation, when the device under test 200 runs multiple test services in parallel, the testing apparatus 100 may perform fault simulation on the multiple test services based on the configuration of the fault information corresponding to the multiple test services by the user.
[0084] In specific implementation, the test device 100 can present a configuration interface to the user through a client or a test platform, and the user can configure multiple test services used to test the device under test 200 on the configuration interface, and further configure the fault information corresponding to the multiple test services. It is assumed that the user configures fault information for test services 1 to 3 respectively, and configures the fault simulation timing corresponding to the multiple test services. Figure 4 As shown, the fault information corresponding to each test service includes the fault type, and different test services correspond to different fault types; at the same time, for each fault type, the user can further configure the fault duration, fault cycle, number of faults, and fault stop conditions corresponding to the fault type, that is, the fault information can also include information such as fault duration, fault cycle, number of faults, and fault stop conditions. In this way, the test device 100 can control the device under test 200 to run test services 1 to 3 based on the configuration of the user on the configuration interface, and complete the fault simulation of test services 1 to 3 in sequence based on the fault simulation sequence configured by the user. In this way, not only can the reliability of the device under test 200 under the condition of concurrent operation of multiple services be achieved, but also the user can define the specified fault simulation for the specified test service at a specified time point and in a specified order, thereby improving the flexibility of the user in testing the device under test 200 and improving the user experience.
[0085] Alternatively, the test logic of the test device 100 for the device under test 200 can be pre-configured by a technician. For example, the fault simulation timing corresponding to multiple test services can be fixedly configured in the test device 100, so that the test device 100 can execute the test process on the device under test 200 based on the fixedly configured test tasks and fault information.
[0086] It is worth noting that the above Figure 3 In the illustrated embodiment, the test device 100 runs one service for both the front-end network 101 and the back-end network 102. In other embodiments, the test device 100 may also concurrently run multiple services in the front-end network 101, or concurrently run multiple services in the back-end network 102, so that the test device 100 can test the reliability of the device under test 200 when concurrently running a larger number of services.
[0087] In this embodiment, during the process of testing the device under test, the test device 100 can simulate the resources in the front-end network 101 and the back-end network 102, and use the simulated resources to perform simulation testing on the device under test 200, without having to build a real full-specification physical environment for the device under test 200, which can effectively reduce the hardware cost required for testing and improve testing efficiency. In addition, during the simulation test, the test device 100 can use the fault information of the first test service to simulate the fault of the first test service in the front-end network 101, and use the fault information of the second test service to simulate the fault of the second test service in the back-end network 102 (and use the fault information of the third test service to simulate the fault of the third test service in the inter-array switching network 103), so that the device under test 200 can be simulated under the condition of multi-point service failure, thereby testing the reliability of the device under test 200 in a multi-service concurrent scenario.
[0088] It is worth noting that other reasonable step combinations that can be thought of by those skilled in the art based on the above description also fall within the scope of protection of this application. Secondly, those skilled in the art should also be familiar with the fact that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by this application.
[0089] Combination of the above Figures 1 to 4 The testing method provided in the embodiment of the present application is introduced, and then the structure of the testing device and the computing equipment provided in the embodiment of the present application are introduced in conjunction with the accompanying drawings.
[0090] See also Figure 5 , shows a schematic diagram of the structure of a testing device, the testing device 500 comprises:
[0091] The resource simulation module 501 is used to simulate a first resource in a front-end network of a device under test, and to simulate a second resource in a back-end network of the device under test;
[0092] An acquisition module 502 is used to acquire first fault information of a first test service in the front-end network and second fault information of a second test service in the back-end network, wherein the first fault information and the second fault information include different fault types or different fault parameters;
[0093] An operation module 503 is used to run the first test service and the second test service in parallel based on the first resource, the second resource and the device under test;
[0094] The fault simulation module 504 is used to perform fault simulation on the first test service and the second test service respectively based on the first fault information and the second fault information and based on the fault simulation timing during the parallel operation of the first test service and the second test service to obtain the test result for the device under test.
[0095] In a possible implementation, the resource simulation module 501 is specifically configured to:
[0096] Using virtualization technology to simulate a virtual host in the front-end network, and establishing a link between the virtual host and the device under test;
[0097] In response to the resource discovery message sent by the device under test, a response message is fed back to the device under test, where the response message includes the number of multiple virtual disks and attribute information of the multiple virtual disks.
[0098] In a possible implementation manner, the number of links between the virtual host and the device under test is greater than or equal to a first threshold;
[0099] The number of the virtual disks is greater than or equal to a second threshold.
[0100] In a possible implementation manner, the fault simulation module 504 is specifically configured to:
[0101] Receiving a first message sent by the device under test to the backend network;
[0102] identifying, according to a target field in the first message, a target communication protocol used by the device under test to send the first message to the backend network;
[0103] According to the target communication protocol, parsing from the first message to obtain an operation instruction issued by the device under test for the second test service;
[0104] Feedback a simulated response to the device under test according to the operation instruction and the second fault information.
[0105] In a possible implementation manner, the first fault information includes one or more of the following information:
[0106] Fault type, fault duration, fault cycle, fault number, and fault stop conditions.
[0107] In a possible implementation manner, the resource simulation module 501 is further used to simulate a third resource in the inter-array switching network of the device under test;
[0108] The acquisition module is further used to acquire third fault information of a third test service in the inter-array switching network;
[0109] Then, the fault simulation module 504 is specifically used for:
[0110] According to the first fault information, the second fault information and the third fault information, fault simulation is performed on the first test service, the second test service and the third test service respectively based on the fault simulation timing.
[0111] In a possible implementation manner, the first fault information includes one or more of the following information:
[0112] Fault type, fault duration, fault cycle, fault number, and fault stop conditions.
[0113] In a possible implementation manner, the fault simulation module 504 is specifically configured to:
[0114] According to the first fault information and the second fault information, respectively perform fault simulation on the first test service and the second test service based on the fault simulation timing to obtain an operation record, wherein the operation record includes operations performed when the device under test concurrently runs the first test service and the second test service with faults;
[0115] A test result for the device under test is generated according to the operation record.
[0116] because Figure 5 The test device 500 shown corresponds to the above Figure 3 The test device 100 in the illustrated embodiment is Figure 5 For the specific implementation of the test device 500 and its technical effects, see the above Figure 3 The description of the relevant parts in the illustrated embodiment will not be repeated here.
[0117] Figure 6The hardware structure diagram of a computing device 600 provided in this application is shown in FIG. 6 . The computing device 600 can implement the above Figure 3 The testing device 100 etc. in the illustrated embodiment.
[0118] like Figure 6 As shown, the computing device 600 includes a processor 601, a memory 602, and a communication interface 603. The processor 601, the memory 602, and the communication interface 603 communicate via a bus 604, and may also communicate via other means such as wireless transmission. The memory 602 is used to store instructions, and the processor 601 is used to execute the instructions stored in the memory 602. Furthermore, the computing device 600 may also include a memory unit 605, and the memory unit 605 may be connected to the processor 601, the storage medium 602, and the communication interface 603 via a bus 604. The memory 602 stores program code, and the processor 601 may call the program code stored in the memory 602 to perform the following operations:
[0119] Simulating a first resource in a front-end network of a device under test, and simulating a second resource in a back-end network of the device under test;
[0120] Acquire first fault information of a first test service in the front-end network and second fault information of a second test service in the back-end network, wherein the first fault information and the second fault information include different fault types or different fault parameters;
[0121] Based on the first resource, the second resource and the device under test, running the first test service and the second test service in parallel;
[0122] During the parallel operation of the first test service and the second test service, fault simulation is performed on the first test service and the second test service respectively based on the fault simulation timing according to the first fault information and the second fault information to obtain a test result for the device under test.
[0123] It should be understood that in this embodiment, the processor 601 may be a CPU, and the processor 601 may also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic devices, discrete device components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.
[0124] The memory 602 may include a read-only memory and a random access memory, and provides instructions and data to the processor 601. The memory 602 may also include a nonvolatile random access memory.
[0125] The memory 602 may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories. Among them, the nonvolatile memory may be a read-only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable programmable ROM (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM), and direct rambus RAM (DR RAM).
[0126] The communication interface 603 is used to communicate with other devices connected to the computing device 600. The bus 604 may include a power bus, a control bus, a status signal bus, etc. in addition to the data bus. However, for the sake of clarity, various buses are labeled as bus 604 in the figure.
[0127] It should be understood that the computing device 600 according to the embodiment of the present application may correspond to the testing device 500 in the embodiment of the present application, and may correspond to executing the test according to the embodiment of the present application. Figure 3 The method performed by the test device 100 in the method shown, and the above and other operations and / or functions implemented by the computing device 600 are respectively to implement Figure 3 For the sake of brevity, the process of the corresponding method in will not be repeated here.
[0128] 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 a 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 perform the above-mentioned test method.
[0129] The embodiment of the present application also provides a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computing device, the process or function described in the embodiment of the present application is generated in whole or in part.
[0130] The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from one website, computer or data center to another website, computer or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means.
[0131] The computer program product may be a software installation package, which may be downloaded and executed on a computing device when any of the aforementioned testing methods is required.
[0132] The above embodiments can be implemented in whole or in part by software, hardware, firmware or any other combination. When implemented using software, the above embodiments can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded or executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that contains one or more available media sets. 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. The semiconductor medium can be a solid-state hard disk.
[0133] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in the present application, and these modifications or replacements should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be based on the protection scope of the claims.
Claims
1. A testing method, characterized in that: The test method includes: Simulating a first resource in a front-end network of a device under test, and simulating a second resource in a back-end network of the device under test; Acquire first fault information of a first test service in the front-end network and second fault information of a second test service in the back-end network, wherein the first fault information and the second fault information include different fault types or different fault parameters; Based on the first resource, the second resource and the device under test, running the first test service and the second test service in parallel; During the parallel operation of the first test service and the second test service, fault simulation is performed on the first test service and the second test service respectively based on the fault simulation timing according to the first fault information and the second fault information to obtain a test result for the device under test.
2. The method according to claim 1, characterized in that The first resource in the front-end network simulating the device under test, and the second resource in the back-end network simulating the device under test, include: Using virtualization technology to simulate a virtual host in the front-end network, and establishing a link between the virtual host and the device under test; In response to the resource discovery message sent by the device under test, a response message is fed back to the device under test, where the response message includes the number of multiple virtual disks and attribute information of the multiple virtual disks.
3. The method according to claim 2, characterized in that The number of links between the virtual host and the device under test is greater than or equal to a first threshold; The number of the virtual disks is greater than or equal to a second threshold.
4. The method according to any one of claims 1 to 3, characterized in that: The performing a fault simulation on the second test service according to the second fault information includes: Receiving a first message sent by the device under test to the backend network; identifying, according to a target field in the first message, a target communication protocol used by the device under test to send the first message to the backend network; According to the target communication protocol, parsing from the first message to obtain an operation instruction issued by the device under test for the second test service; Feedback a simulated response to the device under test according to the operation instruction and the second fault information.
5. The method according to any one of claims 1 to 4, characterized in that: The method further comprises: simulating a third resource in the inter-array switching network of the device under test; Acquire third fault information of a third test service in the inter-array switching network; Then, according to the first fault information and the second fault information, fault simulation is performed on the first test service and the second test service respectively based on the fault simulation timing, including: According to the first fault information, the second fault information and the third fault information, fault simulation is performed on the first test service, the second test service and the third test service respectively based on the fault simulation timing.
6. The method according to any one of claims 1 to 5, characterized in that: The fault simulation includes communication fault simulation or equipment fault simulation.
7. The method according to any one of claims 1 to 6, characterized in that: The first fault information includes one or more of the following information: Fault type, fault duration, fault cycle, fault number, and fault stop conditions.
8. The method according to any one of claims 1 to 7, characterized in that: The performing fault simulation on the first test service and the second test service respectively based on the fault simulation timing according to the first fault information and the second fault information to obtain a test result for the device under test includes: According to the first fault information and the second fault information, respectively perform fault simulation on the first test service and the second test service based on the fault simulation timing to obtain an operation record, wherein the operation record includes operations performed when the device under test concurrently runs the first test service and the second test service with faults; A test result for the device under test is generated according to the operation record.
9. A testing device, characterized in that: The testing device comprises: A resource simulation module, used to simulate a first resource in a front-end network of a device under test, and to simulate a second resource in a back-end network of the device under test; An acquisition module, used to acquire first fault information of a first test service in the front-end network and second fault information of a second test service in the back-end network, wherein the first fault information and the second fault information include different fault types or different fault parameters; An operation module, configured to execute the first test service and the second test service in parallel based on the first resource, the second resource and the device under test; A fault simulation module is used to perform fault simulation on the first test service and the second test service respectively based on the first fault information and the second fault information and based on the fault simulation timing during the parallel operation of the first test service and the second test service to obtain the test result for the device under test.
10. The device according to claim 9, characterized in that The resource simulation module is used to: Using virtualization technology to simulate a virtual host in the front-end network, and establishing a link between the virtual host and the device under test; In response to the resource discovery message sent by the device under test, a response message is fed back to the device under test, where the response message includes the number of multiple virtual disks and attribute information of the multiple virtual disks.
11. The device according to claim 10, characterized in that The number of links between the virtual host and the device under test is greater than or equal to a first threshold; The number of the virtual disks is greater than or equal to a second threshold.
12. The device according to any one of claims 9 to 11, characterized in that The fault simulation module is used for: Receiving a first message sent by the device under test to the backend network; identifying, according to a target field in the first message, a target communication protocol used by the device under test to send the first message to the backend network; According to the target communication protocol, parsing from the first message to obtain an operation instruction issued by the device under test for the second test service; Feedback a simulated response to the device under test according to the operation instruction and the second fault information.
13. The device according to any one of claims 9 to 12, characterized in that The first fault information includes one or more of the following information: Fault type, fault duration, fault cycle, fault number, and fault stop conditions.
14. A computing device, characterized in that Including processor and memory; The processor is configured to execute instructions stored in the memory so as to enable the computing device to perform the steps of the method according to any one of claims 1 to 8.
15. A computer-readable storage medium, characterized in that: The method comprises instructions which, when executed on a computing device, cause the computing device to perform the steps of the method according to any one of claims 1 to 8.