Cloud server-based testing method, system, client and cloud server

Through the cloud-based server-based testing method, problems such as difficulty in accessing the program on the device, low sharing and coordination efficiency, and poor security in the existing technology are solved, and equipment utilization efficiency and data security are improved.

CN113377666BActive Publication Date: 2025-02-28ARCSOFT CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110713206.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-06-25
Publication Date
2025-02-28
Estimated Expiration
2041-06-25

AI Technical Summary

Technical Problem

In the prior art, the testing of programs on the equipment has problems such as difficulty in accessing equipment, low efficiency in device sharing and coordination, poor equipment and data security, strong dependence on the data capacity of the equipment system, and low data sharing and access flexibility.

Method used

The cloud server-based test method is adopted, and the target device identification and target program are received by receiving the target device identification and target program set by the user, and the target device identification and target program are sent to the cloud server, so that the cloud server can send the target program to the target device according to the target device identification, and access data through the second path to avoid direct storage in the device.

Benefits of technology

It breaks through the limitations of equipment access, reduces the difficulty of hardware in the circular verification process, improves the utilization efficiency of equipment and the security of maintenance, reduces corporate R&D costs, and ensures data security and access flexibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113377666B_ABST
    Figure CN113377666B_ABST
Patent Text Reader

Abstract

This article provides a test method, system, client and cloud server based on cloud server, including: multiple devices, cloud server and client; the client sends the target program and target device identification to the cloud server; receives and parses the second path access request sent by the cloud server, obtains the second path, and accesses the data according to the first path associated with the second path; the cloud server sends the target program to the target device according to the target device identification; receives and parses the second path access request to obtain the second path; if the second path is accessible to the cloud server, the data is accessed according to the second path; if the second path is accessible to the client, the second path access request is sent to the client; the target device sends the second path access request to the cloud server. This embodiment can achieve device utilization efficiency and expand the freedom and flexibility of data sharing and access without affecting the physical storage capacity of the device and the device system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of test management, and in particular to a test method, system, client and cloud server based on a cloud server. Background Art

[0002] With the rapid development of artificial intelligence and digital chip technology, the types of hardware platforms used in various fields such as smartphones / smart driving have increased dramatically. Large quantities of programs need to be compatible and adapted in various devices, such as mobile phones or various vehicle-mounted embedded platforms.

[0003] In the prior art, the testing method of a program on a device mainly relies on connecting the test host 110 and the target device 120 through hardware, and the data required for the program test is stored in the device, such as Figure 1 As shown, this connection method has the following defects:

[0004] 1) The hardware connection method will limit the number of connected devices, and it is not convenient to share devices for tests in different departments or regions. In addition, the hardware connection method will threaten the safety of users (for example, the device to be tested is an exposed board-level hardware. If the board-level hardware is accidentally flooded or accidentally touched by humans, it will cause extreme scenarios such as fire or explosion, thereby endangering the safety of users);

[0005] 2) Differences in hardware solutions between various devices and backwardness of technical solutions for device connection (such as serial port / Telnet / FTP / NFS, etc.) lead to various and complex solutions for program processor in the loop testing;

[0006] 3) Devices often have limited resources (referring to the number of devices and the hardware properties of the device system, such as the size of the data system, the size of the memory, etc.). Storing the data required for program testing in the device will cause mutual interference and low access efficiency in the data system. Storing the data required for testing directly in the device will also lead to low security and low flexibility in data (resource) access. Summary of the invention

[0007] This article is used to solve the problems of program testing on devices in the existing technology, such as difficulty in device access, low efficiency in device sharing and coordination, poor device and data security, strong dependence on device system data capacity, and low data sharing and access flexibility.

[0008] In order to solve the above technical problems, the first aspect of this article provides a testing method based on a cloud server, which is applicable to a client, including:

[0009] Receiving a target device identifier and a target program set by a user, wherein the source code of the target program includes a second path, the second path is associated with a first path of a client that the target program needs to access, and the second path is accessed by the cloud server;

[0010] The target device identifier and the target program are sent to a cloud server, so that the cloud server sends the target program to the target device according to the target device identifier.

[0011] As a further embodiment of this invention, the cloud server-based testing method further includes:

[0012] The first path and the second path are predetermined.

[0013] As a further embodiment of the present invention, predetermining the first path and the second path includes:

[0014] receiving a first path set by a user, sharing the first path to the cloud server to obtain a shared path, and using the shared path as a second path; or

[0015] receiving a first path and user range information set by a user, and sharing the first path to the cloud server to obtain a shared path;

[0016] The shared path and user range information are encrypted and registered to the cloud server, and the cloud server encrypts the shared path and user range information to obtain an encrypted path;

[0017] The encrypted path sent by the cloud server is used as the second path.

[0018] As a further embodiment of this invention, after the second path is pre-determined, the method further includes:

[0019] Sending the second path to a compiling server, which replaces the second path with the source code of the target program and compiles the replaced source code to obtain the target program;

[0020] Receive the target program sent by the compilation server.

[0021] The second aspect of this invention provides a testing method based on a cloud server, applicable to a client, including:

[0022] Receiving a target device identifier and a target program set by a user, wherein the source code of the target program includes a second path, the second path is associated with a first path of a client that the target program needs to access, and the second path is accessed by the client;

[0023] Sending the target device identifier and the target program to a cloud server, so that the cloud server sends the target program to the target device according to the target device identifier;

[0024] Receive and parse the second path access request sent by the cloud server to obtain the second path; and access data according to the first path related to the second path.

[0025] As a further embodiment of this invention, the first path and the second path are predetermined.

[0026] As a further embodiment of the present invention, predetermining the first path and the second path includes:

[0027] A first path and a virtual mount path set by a user are received, the virtual mount path is used as a second path, and an association relationship between the first path and the second path is established.

[0028] A third aspect of the present invention provides a client, including:

[0029] A user interaction module is used to receive a target device identifier and a target program set by a user, wherein the source code of the target program includes a second path, the second path is associated with a first path of a client that the target program needs to access, and the second path is accessed by the cloud server;

[0030] The cloud interaction module is used to send the target device identifier and the target program to the cloud server, so that the cloud server sends the target program to the target device according to the target device identifier.

[0031] A fourth aspect of the present invention provides a client, including:

[0032] A user interaction module is used to receive a target device identifier and a target program set by a user, wherein the source code of the target program includes a second path, the second path is associated with a first path of a client that the target program needs to access, and the second path is accessed by the client;

[0033] A cloud interaction module, used for sending the target device identifier and the target program to a cloud server, so that the cloud server sends the target program to the target device according to the target device identifier;

[0034] The data access module is used to receive and parse the second path access request sent by the cloud server to obtain the second path; and access data according to the first path related to the second path.

[0035] The fifth aspect of the present invention provides a cloud server-based testing method, which is applicable to the cloud server and includes:

[0036] Receiving a target device identifier and a target program sent by a client, wherein the source code of the target program includes a second path, and the second path is associated with a first path of the client that the target program needs to access;

[0037] Sending the target program to the target device according to the target device identifier;

[0038] receiving and parsing a second path access request sent by the target device when running the target program, and obtaining a second path;

[0039] If the second path is accessible to the cloud server, accessing the data according to the second path;

[0040] If the second path is accessible to the client, a second path access request is sent to the client.

[0041] As a further embodiment of this invention, the second path for access by the cloud server is a shared path of the first path or a shared encrypted path of the first path;

[0042] The second path for the client to access is a virtual mount path set by the user.

[0043] As a further embodiment of the present invention, when the second path is a shared path of the first path, accessing data according to the second path and sending the accessed data to the target device includes:

[0044] The second path is accessed through the network driver, and the operating system of the cloud server converts the second path access into accessing the first path of the client and accessing the data.

[0045] As a further embodiment of the present invention, when the second path is a shared encryption path of the first path, accessing data according to the second path and sending the accessed data to the target device includes:

[0046] Decrypt the second path to obtain the shared path and user group range information;

[0047] Determine whether the user of the specified target program is in the user group range information;

[0048] If the user of the specified target program is in the user group range information, the shared path is accessed through the network drive, and the operating system of the cloud server converts the shared path access to the first path of the client and accesses the data. Otherwise, access is denied.

[0049] A sixth aspect of the present invention provides a cloud server, including:

[0050] The client interaction module is used to receive a target device identifier and a target program sent by a client, wherein the source code of the target program includes a second path, and the second path is associated with a first path of the client that the target program needs to access;

[0051] A device interaction module, configured to send the target program to the target device according to the target device identifier; and receive a second path access request sent by the target device when running the target program;

[0052] A parsing module, used for parsing the second path access request to obtain a second path;

[0053] a first data access module, configured to access data according to the second path if the second path is accessible to the cloud server;

[0054] The second data access module is configured to send a second path access request to the client if the second path is accessible to the client.

[0055] A seventh aspect of the present invention provides a testing method based on a cloud server, including:

[0056] The client receives the target program and the target device identifier set by the user, and sends the target program and the target device identifier to the cloud server, wherein the source code of the target program includes a second path, and the second path is associated with the first path of the client that the target program needs to access;

[0057] The cloud server sends the target program to the target device according to the target device identifier;

[0058] The target device runs the target program, and sends a second path access request to the cloud server when running the program;

[0059] The cloud server receives and parses the second path access request to obtain a second path; if the second path is accessible to the cloud server, accesses data according to the second path; if the second path is accessible to the client, sends the second path access request to the client;

[0060] The client receives and parses the second path access request to obtain the second path, and accesses data according to the first path associated with the second path;

[0061] The cloud server sends the data sent by the client to the target device.

[0062] In an eighth aspect of the present invention, a cloud server-based test system is provided, comprising: a plurality of devices, a cloud server and a client, wherein the devices and the client are connected to the cloud server;

[0063] The client is used to receive a target program and a target device identifier set by a user, and send the target program and the target device identifier to a cloud server, wherein the source code of the target program includes a second path, and the second path is associated with a first path of the client that the target program needs to access; receive and parse the second path access request sent by the cloud server, obtain the second path, and access data according to the first path associated with the second path;

[0064] The cloud server sends the target program to the target device according to the target device identifier; receives and parses the second path access request to obtain the second path; if the second path is accessible to the cloud server, accesses the data according to the second path; if the second path is accessible to the client, sends the second path access request to the client;

[0065] The target device receives and runs the target program, and sends the second path access request to the cloud server.

[0066] As a further embodiment of this invention, the bottom layer of the device abstracts multiple components for interacting with the cloud server, and each component is written using the POSIX universal standard.

[0067] As a further embodiment of this invention, the cloud server-based testing system further includes: a CI / CD server connected to the client, configured to compile a target program according to the source code of the target program submitted by the developer, and send the target program to the client.

[0068] As a further embodiment of this invention, the CI / CD server is also connected to the device to read the test data generated by the device, generate a test report according to the test data, and send the test report to the target program developer.

[0069] In a ninth aspect of the present invention, a computer device is provided, comprising a memory, a processor, and a computer program stored on the memory, wherein when the computer program is executed by the processor, the computer program executes instructions of the cloud server-based testing method on the client side or the cloud server side as described in any of the aforementioned embodiments.

[0070] In a tenth aspect of the present invention, a computer storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor of a computer device, the computer program executes instructions of the cloud server-based testing method on the client side or the cloud server side as described in any of the aforementioned embodiments.

[0071] The test method and system, client and cloud server based on cloud server provided in this paper can connect devices of different product forms to cloud server through the generalization capability of cloud, and the client can control the remote device, which can break through the limitation of device access, reduce the difficulty of program access to device environment during hardware-in-the-loop verification, improve the utilization efficiency of equipment and the safety of equipment maintenance, and reduce the R&D cost of enterprises. By configuring the second path associated with the first path to the target program, the device does not directly store the data required for the operation of the target program, but accesses the data through the second path, which can avoid dependence on the data capacity of the device system and ensure the security of data; when multiple target programs are running on the same target device at the same time, the read and write operations of multiple target programs on the virtual mounted data are isolated / non-interfered at the process level; without affecting the physical storage capacity of the device and the device system, the reuse rate, degree of freedom and flexibility of data sharing and access are expanded.

[0072] In order to make the above and other purposes, features and advantages of this article more obvious and easy to understand, the following specifically cites preferred embodiments and describes them in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0073] In order to more clearly illustrate the technical solutions in the embodiments of this article or the prior art, the drawings required for use in the embodiments or the prior art descriptions are briefly introduced below. Obviously, the drawings described below are only some embodiments of this article. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0074] Figure 1 The structure diagram of the program processor in the loop test system in the prior art is shown;

[0075] Figure 2 The structure diagram of the device management system based on the cloud server in the embodiment of this article is shown;

[0076] Figure 3 Shows Figure 2 Interaction diagram of the system shown;

[0077] Figure 4 The structure diagram of the test system based on the cloud server in the embodiment of this article is shown;

[0078] Figure 5 A flow chart of a testing method based on a cloud server according to an embodiment of this invention is shown;

[0079] Figure 6 A flowchart showing a testing method applicable to a client according to an embodiment of the present invention is shown;

[0080] Figure 7A flow chart showing a testing method applicable to a cloud server according to an embodiment of the present invention;

[0081] Figure 8 A first structural diagram of the client in the embodiment of this article is shown;

[0082] Fig. 9 A second structural diagram of the client in the embodiment of this article is shown;

[0083] Fig.10 A flow chart showing a testing method for a cloud server according to an embodiment of the present invention is shown;

[0084] Fig.11 The structure diagram of the cloud server in the embodiment of this article is shown;

[0085] Fig.12 A structural diagram of a computer device according to an embodiment of the present invention is shown;

[0086] FIG. 13A to FIG. 13C A schematic diagram of the interactive interface displayed by the client is shown;

[0087] Fig.13D A schematic diagram of the client test interface is shown.

[0088] Description of the accompanying symbols:

[0089] 110. Host;

[0090] 120. Target device;

[0091] 210. Equipment;

[0092] 220, cloud server;

[0093] 230, client;

[0094] 240. CI / CD server;

[0095] 810. User interaction module;

[0096] 820, cloud interaction module;

[0097] 910. User interaction module;

[0098] 920, cloud interaction module;

[0099] 930, data access module;

[0100] 1110. Client interaction module;

[0101] 1120. Device interaction module;

[0102] 1130. Parsing module;

[0103] 1140, a first data access module;

[0104] 1150. A second data access module;

[0105] 1202. Computer equipment;

[0106] 1204, processor;

[0107] 1206. Memory;

[0108] 1208, driving mechanism;

[0109] 1210, input / output module;

[0110] 1212. Input device;

[0111] 1214. Output device;

[0112] 1216. Presentation equipment;

[0113] 1218. Graphical user interface;

[0114] 1220, network interface;

[0115] 1222, communication link;

[0116] 1224. Communication bus. DETAILED DESCRIPTION

[0117] The following will be combined with the drawings in the embodiments of this article to clearly and completely describe the technical solutions in the embodiments of this article. Obviously, the described embodiments are only part of the embodiments of this article, not all of the embodiments. Based on the embodiments of this article, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this article.

[0118] This specification provides method operation steps as described in the embodiments or flow charts, but more or fewer operation steps may be included based on routine or non-creative work. The order of steps listed in the embodiments is only one way of executing the order of many steps and does not represent the only execution order. When the system or device product is executed in practice, it can be executed in the order of the method shown in the embodiments or the drawings or in parallel.

[0119] The purpose of processor-in-the-loop simulation is to test the correctness of the program on the target processor and the running efficiency of the code on the target processor. In the prior art, there are two methods for testing programs on devices: one is to use Figure 1The test system shown in the figure is used for testing. This test system has the problems of difficult device access, low efficiency of device sharing and coordination, poor device and data security, strong dependence on device system data capacity, and low flexibility in data sharing and access.

[0120] In order to solve the above technical problems, this paper provides a device management system based on a cloud server, such as Figure 2 and Figure 3 As shown, the cloud server-based device management system includes: multiple devices 210, a cloud server 220 and a client 230;

[0121] The device 210 is connected to the cloud server 220 .

[0122] After the cloud server 220 is started, it scans the device 210 connected to the cloud server 220 to determine the device deployment status; receives the target device identifier sent by the client 230, establishes a communication environment between the client 230 and the target device based on the target device identifier, and realizes communication between the target device and the client through the communication environment.

[0123] When the client 230 accesses the cloud server 220 , it obtains the device deployment status, generates a device deployment information file according to the device deployment status, receives the target device identifier set by the user according to the device deployment information file, and sends the target device identifier to the cloud server 220 .

[0124] In detail, based on TCP communication and internal communication protocol, an RPC (remote process control) communication environment is established between the client 230 and the device 210, so that the client 230 and the device 210, which are isolated from each other at the system level, can access each other's data through the RPC communication environment.

[0125] The devices described in this article include but are not limited to various product forms, such as embedded devices, mobile phones, PCs, etc. The operating systems used by the devices include mainstream operating systems such as Android / Linux / Qnx / IOS that support TCP communication. The device can be connected to the cloud server via wired or wireless means. The device is uniquely located by the device identifier, which is, for example, the device serial number, such as SeriNumb-1. The target device described in this article is one of the devices connected to the cloud server.

[0126] The cloud server 220 can be one or more servers. Of course, in order to access more devices, the cloud server 220 can also be a plurality of distributed server clusters, each cluster including a plurality of servers. Configuration files are stored in the cloud server, and the devices connected to the cloud server are scanned through the configuration files. Among them, the content of the configuration file mainly includes: the deployment configuration information of the device (such as IP address / port number, etc.) and the basic attribute information of the device (such as brand / model / number, etc.). Scanning refers to the identification and authentication of the device. If the communication status of the device is good, it is registered with the cloud server. The device deployment status refers to the access status of the device to the cloud server environment, such as device offline / device communication failure / device normal, etc.

[0127] The client 230 can be connected to the cloud server 220 via a network cable, and can provide users with an interface for device connection and testing. The client 230 can refer to a computer device or an application installed in a computer device. The application is an executable program in the user's working environment, and the connection and testing of the target device are realized through the executable program. Among them, the user's working environment can be Windows or Linux and other operating systems. The single communication process of the user connecting to the cloud server through the client can only connect to a uniquely specified device. If the user needs to use multiple devices at the same time, multiple session communications can be established by reusing the client program.

[0128] In the specific implementation, in order to ensure the security of device operation, when the client 230 accesses the cloud server 220, the user needs to input user information to the cloud server 220 for verification. If the verification is successful, the device deployment status is obtained. User information includes user name, password / fingerprint / iris and other information that can represent the user's unique identity.

[0129] The client 230 can be connected to the cloud server 220 via a TCP network communication protocol, a serial bus protocol such as a serial port / USB, etc., and the specific connection method between the client 230 and the cloud server 220 is not limited herein.

[0130] The user can enter the target device ID by entering the command line, or by operating the test interface of the executable program (such as Fig.13D Enter the target device ID as shown in the figure, and the device deployment information file will be displayed in the test interface.

[0131] This embodiment uses the generalization capability of the cloud to connect devices of different product forms to the cloud server, so that different users can query the usage status of the device, and the client can control the remote device. It can break through the limitation of device access (can break through 500 or even more remote device access), reduce the difficulty of program access to the device environment during the hardware-in-the-loop verification process, and enable user agents in different LAN segments to access the target device, thereby improving the utilization efficiency of the device and the security of the device maintenance process, and reducing the R&D costs of the enterprise.

[0132] exist Figure 2 Based on the device management system based on the cloud server shown in the figure, this article also provides a test system based on the cloud server. The test system based on the cloud server and the device management system based on the cloud server have the same hardware structure, and the difference is:

[0133] The client 230 is used to receive the target program and target device identifier set by the user, and send the target program and target device identifier to the cloud server, wherein the source code of the target program includes a second path, the second path is associated with the first path of the client that the target program needs to access, and the first path stores the data required by the target program; receive and parse the second path access request sent by the cloud server, obtain the second path, access the first path data associated with the second path, send the access result to the cloud server 220, and the cloud server 220 sends the access result to the target device. The target program in the target device decides whether to continue execution based on the access result.

[0134] Among them, the second path access request includes the second path and the access command. The access data described in this article is to access the data according to the access command, and the access command includes but is not limited to open / close / read / write, etc. For the read command, the access result is the read data. For commands such as open / close / write, the access result is the response result information (processing success, processing failure, etc.). The cloud server 220 sends the target program to the target device according to the target device identifier; receives and parses the second path access request to obtain the second path; if the second path is recognized by the cloud server, the data is accessed according to the second path; if the second path is recognized by the client, the second path access request is sent to the client;

[0135] The target device receives and runs the target program, and sends a second path access request to the cloud server.

[0136] During specific implementation, in order to ensure the security of the device, after the client 230 is connected to the cloud server 220, the user must first enter the user information in the client 230. The client 230 sends the user information to the cloud server 220 for permission verification, and sends the permission verification result to the client 230. If the verification result is passed, the client 230 enters a state that allows user operation.

[0137] Furthermore, in order to facilitate tracing the user's use of the target device and the testing of the target program, the log of the cloud server 220 records each user's use of the device, target program, the start time and end time of the target program, etc. The specific record content is shown in Table 1.

[0138] Table 1

[0139]

[0140] Table 1 is only an example and is not used to limit the content of the log. In addition to the information shown in Table 1 above, it also includes information such as the information sending timestamp and response status.

[0141] This embodiment configures the second path associated with the first path into the target program so that the device does not directly store the data required for the target program to run, but accesses the data through the second path, thereby avoiding dependence on the data capacity of the device system and ensuring data security. When multiple target programs run on the same target device at the same time, data acquisition is isolated / non-interfering at the process level, and the freedom and flexibility of data sharing and access are expanded without affecting the physical storage capacity of the device and the device system.

[0142] Users in different regions or companies can implement test control of remote devices through the client. Different users can operate different clients at the same time, thereby completing the test of different target programs on the same or different devices or the test of the same target program on different devices.

[0143] Before implementing this embodiment, the first path of the data that the target program needs to access and its corresponding second path must be determined in advance, wherein the first path is the real path of the data required by the target program, and the second path is a path related to the first path. When the second path is identified by the cloud server, the second path is a shared path of the first path or a shared encrypted path of the first path. When the second path is identified by the client, the second path is a virtual mount path. The first path can be set by the user according to the actual storage location of the data. The second path can also be selected by the user.

[0144] In some implementations, in order to simplify user operations, improve user experience and configuration efficiency, and avoid the inability of users to configure the first path and the second path due to limited professional level, the user can set the first path and generate the second path in the interactive interface between the client and the cloud server, such as FIG. 13A to FIG. 13C As shown, the interactive interface includes an input window for the first path and a generation option for the second path. The user can enter the first path in the input window for the first path, and the user can determine the second path by clicking the generation option for the second path. For example, if the first path is c-> / xxx / yyy, and the user selects the virtual mount path option, a virtual mount path input window will pop up for the user to enter the virtual mount path, such as c-> / mnt, and the client will establish a mapping relationship between the first path and the virtual mount path; if the user selects the shared path option, the client will call the CIFS service to generate a shared path, such as c-> / xxx / d; if the user selects the shared encrypted path option, the client will first call the CIFS service to share the first path to the cloud server to obtain the shared path, and then specify the user group range applicable to the shared path through the client (recording the information of the applicable user, such as the user name, the user's region, etc.), send the user group range to the cloud server, encrypt and register the shared path and the user group range to the cloud server, and the cloud server will encrypt the shared path and the user group range to obtain an encrypted path, such as c-> / / xxx / c->EncryptionC, and return the encrypted path to the client.

[0145] In other implementations, the virtual mount path is registered as a virtual mount path by the user through a command line parameter. The shared path is obtained by the user sharing the first path to the cloud server according to the existing CIFS service. The shared encrypted path is obtained by the user sharing the first path to the cloud server according to the existing CIFS service, and then the user inputs the shared path and user group range information to the client, registers the shared path to the cloud server through the client, and the cloud server encrypts it to obtain an encrypted path, and returns the encrypted path to the client.

[0146] The user who configures the first path and the second path may be the same as or different from the user who specifies the target device identifier and the target program. The user who configures the first path and the second path is mainly a configuration personnel, and the user who specifies the target device identifier and the target program is only a tester.

[0147] By setting the second path as a shared encryption path, the cloud server accesses data according to the second path, which can solve the storage and authentication problems of shared access to large-capacity resources and encrypted resources between teams. It mainly solves the following two scenarios: one is when the device needs to access large-capacity files of hundreds of GB, it cannot be directly stored due to the limited storage capacity of the device, and resources need to be stored and accessed in batches, which is cumbersome and cannot be automated; the other is when the device needs to access some encrypted data, the encrypted files stored in the device cannot guarantee security.

[0148] Before the implementation of this embodiment, in addition to predetermining the first path and the corresponding second path for the target program to access data, the developer must also replace the second path into the source code of the target program, compile the source code through various technical means to obtain the target program, and store the target program in the client. In specific implementation, the client can also automatically send the second path to the compilation server, and the compilation server replaces the second path into the source code of the target program, compiles the source code through cross-compilation technology to obtain the target program, and stores the target program in the client.

[0149] As an embodiment of this article, in order to achieve the problem of non-differentiated connection devices, based on TCP communication and internal communication protocols, different client components are abstracted for the client, such as console client / file transfer client / remote client / data query client, etc. The underlying communication service components of each device are written in POSIX universal standards to meet the cross-platform universality of mainstream operating systems such as Android / Linux / Qnx / IOS / WinCE. Compared with the existing mainstream Android and Linux hardware devices, this embodiment can help users and developers get rid of the deep dependence on third-party open source tools, allowing users to connect to different platform devices more conveniently, and solve the user's application needs in terms of console / file transfer / Testbench environment / device sharing management, etc.

[0150] As an embodiment of this invention, in order to solve the inevitable human intervention in the traditional CI (Continuous Integration) / CD (Continuous Delivery) process, such as device connection / communication port configuration / network environment configuration, the whole process of compile->link->run->report is realized. Figure 4 As shown, the cloud server-based testing system includes, in addition to the device 210, the cloud server 220 and the client 230, also includes: a CI / CD server 240, connected to the client 230, for compiling the target program according to the source code of the target program submitted by the developer, and sending the target program to the client.

[0151] The developer first replaces the second path related to the first path for the target program to access data into the source code of the target program, and then sends the source code of the target program to the CI / CD server.

[0152] In specific implementation, the target program source code developed by the developer can be stored in the code repository, and the CI / CD server can read the uncompiled target program source code from the code repository.

[0153] The CI / CD server is provided with an automation script, which is used to push the target program to the client. The CI / CD server uses, for example, a system with CI / CD process integration capabilities such as Jenkins, Github / Gitlib, etc.

[0154] The interaction process between the client and the cloud server and device is referred to the aforementioned embodiment and will not be described in detail here.

[0155] This embodiment can meet the seamless connection between program construction and hardware-in-the-loop verification, and realize the automation of the entire CI / CD process.

[0156] As a further embodiment of the present invention, the CI / CD server 240 is also connected to the device 210 to access the test data generated by the device, generate a test report based on the test data (i.e., package the test data to generate a test report), and send the test report to the target program developer. The test data includes data generated during the execution of the target program.

[0157] In specific implementation, the test report can be sent to the target program developer through an email system, a text message system, an alarm system, etc. The specific sending method is not limited in this article. The target program developer modifies the target program source code according to the test report.

[0158] This embodiment satisfies the developer's entire automated process from submitting code to obtaining a test report.

[0159] As an embodiment of this invention, Figure 5 As shown, a testing method based on a cloud server is also provided, including:

[0160] Step 510, the client receives the target program and the target device identifier, and sends the target program and the target device identifier to the cloud server, wherein the source code of the target program includes a second path, and the second path is associated with the first path of the client that the target program needs to access, and the first path is the real path of the data required by the target program. The first path can be set by the user according to the actual storage location of the data. The second path can also be set by the user.

[0161] In detail, the client has a program installed for user operation, which enables the user to interact with the cloud server. The target program is the program that the user wants to test, and the target device identifier is, for example, a device serial number, which is the test hardware of the target program. The target program and the target device identifier can be selected from the target program list and device list provided by the client.

[0162] During specific implementation, in order to facilitate the tracing of the user's use of the target device and the testing of the target program, the user can use the client only after passing the cloud server authority verification. After connecting to the cloud server through the client, the user must first enter the user information in the client, where the user information includes the user name, password / fingerprint / iris and other information that can represent the user's unique identity. The client sends the user information to the cloud server for authority verification, and sends the authority verification result to the client. If the verification result is passed, the client enters a state that allows the user to operate.

[0163] Step 520: the cloud server sends the target program to the target device according to the target device identifier.

[0164] In order to facilitate tracing the user's use of the target device and the test status of the target program, the cloud server log records the user's test status of the target device and the target program. For details, please refer to Table 1.

[0165] Step 530: The target device runs the target program and sends a second path access request to the cloud server while running the program.

[0166] In this step, when the program is executed to the second path related code, a second path access request is issued.

[0167] The second path access request includes the second path and the access command, and specifically, the access command includes opening / closing / reading a file / writing a file, etc. During implementation, the target device can access the client or cloud server through a dedicated redirected data interface (i.e., various data session channels provided in the RPC environment, such as opening / closing / reading a file / writing a file, etc.).

[0168] In step 540 , the cloud server receives and parses the second path access request to obtain the second path; if the second path is identifiable to the cloud server, step 550 is executed; if the second path is identifiable to the client, step 560 is executed.

[0169] When the second path is identified by the cloud server, the second path is a shared path of the first path or a shared encrypted path of the first path. When the second path is identified by the client, the second path is a virtual mount path or an encrypted path of the first path.

[0170] After the shared path is configured once, all users and devices can access the data after the network communication environment (RPC) is established. After the encrypted path is registered and configured, only authorized users and devices can access it after the network communication environment (RPC) is established.

[0171] Step 550: The cloud server accesses the data according to the second path and sends the access result to the target device.

[0172] Specifically, for read access, the access result refers to the read data. For write / open / close access operations, the access result refers to the response result information, such as write / open / close status.

[0173] In this step, when the second path is a shared path, the execution process of step 550 includes: accessing the shared path through the network driver, the operating system of the cloud server converts the shared path access into accessing the first path of the client and accessing the data, and sending the access result to the target device.

[0174] When the second path is a shared encrypted path of the first path, the execution process of step 550 includes: decrypting the second path to obtain the shared path and user group range information; confirming whether the user of the target program is within the user group range information, and if so, accessing the shared path through the network driver, and the operating system of the cloud server converts the shared path access into accessing the first path of the client and accessing the data, and sending the access result to the target device.

[0175] Step 560: The cloud server sends a second path access request to the client.

[0176] Step 570: The client receives and parses the second path access request, obtains the second path, determines the first path according to the second path, accesses data according to the first path, and sends the access result to the cloud server.

[0177] Step 580: The cloud server sends the access result sent by the client to the target device.

[0178] As a further embodiment of this invention, before the implementation of the above embodiment, it further includes: predetermining the first path and the corresponding second path for accessing data required by the target program, and replacing the second path with the target program source code. The process of determining the first path and the second path, and the implementation process of replacing the target program source code with the second path can refer to the above embodiment, and will not be described in detail here.

[0179] This embodiment uses the generalization capability of the cloud to connect devices of different product forms to the cloud server, enabling different users to query the usage status of the device, and allowing the client to control the remote device. This can break through the restrictions on device access and reduce the difficulty of the program accessing the device environment during the hardware-in-the-loop verification process, allowing user agents in different LAN segments to access the target device, thereby improving the utilization efficiency of the device and the security of the device maintenance process, and reducing the company's R&D costs.

[0180] This embodiment sets a shared path or a shared encrypted path of the first path in the target program, so that the cloud server directly accesses the shared path, and can store only one copy of the data in the cloud server. The way that multiple users access the same shared data source greatly improves the efficiency of team collaboration and reduces the cost of purchasing storage. In addition, the data version of the data source can be changed quickly and synchronized for others to use, which can save data synchronization time compared to the existing technology that requires copying and comparison or version control.

[0181] This embodiment sets a virtual mount path or an encrypted path of the first path in the target program, so that access to the virtual mount path is valid within the target program process, has no impact on other test programs, and can achieve process-level isolation / non-interference. In addition, the device's access to the virtual mount path will not affect the user's access to the device's original data system. Furthermore, the data version of the data source can be quickly changed and synchronized for others to use, which can save data synchronization time compared to the need for copying and comparison or version control in the prior art.

[0182] In order to more clearly illustrate the technical solution of this article, the server-based testing method is described below separately for the client and the cloud server.

[0183] As an embodiment of this article, Figure 6 As shown, the testing methods applicable to the client include:

[0184] Step 610, receiving a target device identifier and a target program, wherein the source code of the target program includes a second path, the second path is associated with a first path of a client that the target program needs to access, and the second path is accessed by a cloud server agent;

[0185] Step 620, sending the target device identifier and the target program to a cloud server, so that the cloud server sends the target program to the target device according to the target device identifier.

[0186] The client of this embodiment is suitable for the cloud server to parse the second path access request issued by the target program in the target device. Specifically, the first path is the real path of the data, and the second path is a shared path or a shared encrypted path.

[0187] In a further embodiment, Figure 6 Before the implementation of the embodiment, the present invention further includes:

[0188] Step 600, predetermine the first path and the second path, send the determined second path to the compiling server, replace the second path with the source code of the target program by the compiling server, compile the source code by various technical means to obtain the target program, and store the target program in the client. This embodiment can avoid manual participation in the target program generation process and improve the generation efficiency of the target program.

[0189] Specifically, the first path and the second path are predetermined, which can be realized by the configuration personnel operating the client, and the operation interface is as follows: FIG. 13A to FIG. 13C As shown, the specific determination process includes:

[0190] receiving a first path set by a user, sharing the first path to the cloud server to obtain a shared path, and using the shared path as a second path; or

[0191] Receive a first path and user range information set by a user, share the first path to the cloud server to obtain a shared path; encrypt and register the shared path and the user range information to the cloud server, and have the cloud server encrypt the shared path and the user range information to obtain an encrypted path; use the encrypted path sent by the cloud server as a second path.

[0192] In specific implementation, the shared path and the shared encrypted path can also be implemented by the configuration personnel through other devices or methods. For example, the shared path is obtained by the user sharing the first path to the cloud server according to the existing CIFS service, and the shared encrypted path is obtained by the user sharing the first path to the cloud server according to the existing CIFS service, and then the user inputs the shared path and user group range information to the client, registers the shared path to the cloud server through the client, and the cloud server encrypts it to obtain the encrypted path, and returns the encrypted path to the client.

[0193] As an embodiment of this article, Figure 7 As shown, the cloud server-based testing method for the client side includes:

[0194] Step 710, receiving a target device identifier and a target program, wherein the source code of the target program includes a second path, the second path is associated with a first path of a client that the target program needs to access, and the second path is for identification by the client.

[0195] Step 720, sending the target device identifier and the target program to the cloud server, so that the cloud server sends the target program to the target device according to the target device identifier.

[0196] Step 730, receiving and parsing the second path access request sent by the cloud to obtain the second path; determining the first path according to the second path, accessing the data according to the first path, and sending the access result to the cloud server.

[0197] The client of this embodiment is suitable for parsing the second path access request sent by the target program in the target device. Specifically, the first path is the real path of the data, and the second path is the virtual mounting path.

[0198] In a further embodiment, Figure 7 Before the implementation of the embodiment, the present invention further includes:

[0199] Step 700: predetermine a second path corresponding to the first path.

[0200] Specifically, the second path corresponding to the first path is predetermined, which can be realized by the configuration personnel operating the client, and the interactive interface is as follows: Fig.13A As shown, the specific determination process includes:

[0201] The first path and the virtual mount path set by the user are received, the virtual mount path is used as the second path, and an association relationship between the first path and the second path is established. In specific implementation, the first path may also be encrypted and the encrypted path may be used as the second path.

[0202] In this case, in addition to using the above method to determine the second path corresponding to the first path, the user can also pre-establish a mapping relationship between the first path and the second path and input the mapping relationship to the client.

[0203] Based on the same inventive concept, this article also provides two clients, specifically, Figure 8 As shown, the client includes:

[0204] A user interaction module 810 is used to receive a target device identifier and a target program, wherein the source code of the target program includes a second path, the second path is associated with a first path of a client that the target program needs to access, and the second path is accessed by the cloud server;

[0205] The cloud interaction module 820 is used to send the target device identifier and the target program to the cloud server, so that the cloud server sends the target program to the target device according to the target device identifier.

[0206] like Fig. 9 As shown, the client includes:

[0207] A user interaction module 910 is used to receive a target device identifier and a target program, wherein the source code of the target program includes a second path, the second path is associated with a first path of a client that the target program needs to access, and the second path is accessed by the client;

[0208] A cloud interaction module 920, configured to send the target device identifier and the target program to a cloud server, so that the cloud server sends the target program to the target device according to the target device identifier;

[0209] The data access module 930 is used to receive and parse the second path access request sent by the cloud server to obtain the second path; access the data according to the first path related to the second path, and send the access result to the cloud server.

[0210] As an embodiment of this invention, a Figure 6 and Figure 7 The cloud server used in conjunction with the Fig.10 As shown in the figure, the test methods applicable to cloud servers include:

[0211] Step 1010: Receive a target device identifier and a target program sent by a client, wherein the source code of the target program includes a second path, and the second path is associated with a first path of the client that the target program needs to access.

[0212] Step 1020: Send the target program to the target device according to the target device identifier.

[0213] Step 1030: Receive and parse a second path access request sent by the target device when running the target program to obtain a second path.

[0214] If the second path is accessible to the cloud server, step 1040 is executed; if the second path is identified by the client, step 1050 is executed.

[0215] Step 1040: access the target device according to the second path, and send the accessed data to the target device.

[0216] Step 1050: Send the second path access request to the client, receive data sent by the client, and send it to the target device.

[0217] Specifically, the second path identified by the cloud server is a shared path of the first path or a shared encrypted path of the first path. The second path identified by the client is a virtual mount path set by the user or an encrypted path of the first path.

[0218] In the above step 1040, accessing data according to the second path and sending the accessed data to the target device includes:

[0219] The second path is accessed through the network driver, and the operating system of the cloud server converts the second path access into accessing the first path of the client and accessing the data, and sends the access result to the target device.

[0220] In the above step 1050, when the second path is a shared encrypted path of the first path, accessing data according to the second path and sending the accessed data to the target device includes:

[0221] (1) Decrypt the second path to obtain the shared path and user group range information.

[0222] (2) Determine whether the user of the target program is in the user group range information;

[0223] If the user of the target program is in the user group range information, the shared path is accessed through the network drive, and the operating system of the cloud server converts the shared path access to the first path of the client and accesses the data. Otherwise, access is denied.

[0224] The user of the designated target program in this step can be confirmed according to the sender of the second path access request (ie, the target program). The cloud server records the relationship between the target program and the user of the designated target program, as shown in Table 1. The user of the designated target program can be determined according to the relationship.

[0225] Based on the same inventive concept, this article also provides a cloud server, such as Fig.11 As shown, including:

[0226] The client interaction module 1110 is used to receive a target device identifier and a target program sent by a client, wherein the source code of the target program includes a second path, and the second path is associated with a first path of the client that the target program needs to access;

[0227] The device interaction module 1120 is used to send the target program to the target device according to the target device identifier; receive a second path access request sent by the target device when running the target program;

[0228] The parsing module 1130 is used to parse the second path access request to obtain a second path;

[0229] A first data access module 1140, configured to access data according to the second path if the second path is identifiable by the cloud server, and send the access result to the target device;

[0230] The second data access module 1150 is used to send the second path access request to the client if the second path is not recognized by the cloud server, receive the access result sent by the client, and send it to the target device.

[0231] The embodiments described above can be applied to remote control and telemetry solutions for IoT / intelligent driving and other platform devices, and the specific application fields are not limited herein.

[0232] This paper uses the generalization capability of the cloud to connect devices of different product forms to the cloud server, which enables different users to query the usage status of the device. The client can control the cloud device, which can break through the restrictions on device access and reduce the difficulty of program access to the device environment during hardware-in-the-loop verification. It allows user agents in different LAN segments to access the target device, improve the utilization efficiency of the device and the security of the device maintenance process, and reduce the company's R&D costs.

[0233] This article configures the second path of the first path to the target program, so that the device does not directly store the data required for the target program to run, but accesses the data through the second path, which can avoid dependence on the data capacity of the device system and ensure data security. When multiple target programs run on the same target device at the same time, data acquisition is isolated / non-interfering at the process level, which expands the freedom and flexibility of data sharing and access without affecting the physical storage capacity of the device and the device system. This article does not rely on any commercial software and hardware environment, and provides developers with more professional device access and testing capabilities in the form of maximum freedom.

[0234] In one embodiment of the present invention, a computer device is also provided, such as Fig.12As shown, the computer device 1202 may include one or more processors 1204, such as one or more central processing units (CPUs), each of which may implement one or more hardware threads. The computer device 1202 may also include any memory 1206, which is used to store any kind of information such as code, settings, data, etc. Non-limitingly, for example, the memory 1206 may include any one or more combinations of the following: any type of RAM, any type of ROM, flash memory device, hard disk, optical disk, etc. More generally, any memory may use any technology to store information. Further, any memory may provide volatile or non-volatile retention of information. Further, any memory may represent a fixed or removable component of the computer device 1202. In one case, when the processor 1204 executes an associated instruction for storage in any memory or a combination of memories, the computer device 1202 may perform any operation of the associated instruction. The computer device 1202 also includes one or more drive mechanisms 1208 for interacting with any memory, such as a hard disk drive mechanism, an optical disk drive mechanism, etc.

[0235] The computer device 1202 may also include an input / output module 1210 (I / O) for receiving various inputs (via input device 1212) and for providing various outputs (via output device 1214). A specific output mechanism may include a presentation device 1216 and an associated graphical user interface 1218 (GUI). In other embodiments, the input / output module 1210 (I / O), input device 1212, and output device 1214 may not be included, and the computer device 1202 may be used as a computer device in a network. The computer device 1202 may also include one or more network interfaces 1220 for exchanging data with other devices via one or more communication links 1222. One or more communication buses 1224 couple the components described above together.

[0236] The communication link 1222 may be implemented in any manner, for example, through a local area network, a wide area network (e.g., the Internet), a point-to-point connection, etc., or any combination thereof. The communication link 1222 may include any combination of hardwired links, wireless links, routers, gateway functions, name servers, etc. governed by any protocol or combination of protocols.

[0237] Corresponds to Figure 6-Figure 7 The method in this article also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the above method are executed.

[0238] The embodiment of the present invention also provides a computer readable instruction, wherein when the processor executes the instruction, the program therein causes the processor to execute the following Figure 6 to Figure 7 The method shown.

[0239] It should be understood that in the various embodiments of this document, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this document.

[0240] It should also be understood that in the embodiments of this article, the term "and / or" is only a description of the association relationship of the associated objects, indicating that three relationships may exist. 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.

[0241] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this article.

[0242] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0243] In the several embodiments provided herein, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of the units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, or can be electrical, mechanical or other forms of connection.

[0244] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the embodiments of this article.

[0245] In addition, each functional unit in each embodiment of this invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above integrated unit may be implemented in the form of hardware or in the form of software functional unit.

[0246] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this article is essentially or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of this article. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program codes.

[0247] Specific embodiments are used in this article to illustrate the principles and implementation methods of this article. The description of the above embodiments is only used to help understand the methods and core ideas of this article. At the same time, for general technicians in this field, according to the ideas of this article, there will be changes in the specific implementation methods and application scopes. In summary, the content of this specification should not be understood as a limitation on this article.

Claims

1. A testing method based on a cloud server, characterized in that: Applicable to clients, including: Receive a target device identifier and a target program set by a user, wherein the source code of the target program includes a second path, the second path is associated with a first path of a client that the target program needs to access, the second path is accessed by the cloud server, and the second path is configured in the target program so that the device accesses data required for the target program to run through the second path; Sending the target device identifier and the target program to a cloud server, so that the cloud server sends the target program to the target device according to the target device identifier, so as to implement testing of the target program on the target device; The method further comprises: Predetermining the first path and the second path includes: receiving a first path set by a user, sharing the first path to the cloud server to obtain a shared path, and using the shared path as a second path; or Receive a first path and user range information set by a user, share the first path to the cloud server, and obtain a shared path; encrypt and register the shared path and the user range information to the cloud server, and the cloud server encrypts the shared path and the user range information to obtain an encrypted path; use the encrypted path sent by the cloud server as the second path.

2. The testing method according to claim 1, characterized in that: After the second path is predetermined, the method further includes: Sending the second path to a compiling server, which configures the second path into the source code of the target program and compiles the configured source code to obtain the target program; Receive the target program sent by the compile server.

3. A testing method based on a cloud server, characterized in that: Applicable to clients, including: Receive a target device identifier and a target program set by a user, wherein the source code of the target program includes a second path, the second path is associated with a first path of a client that the target program needs to access, the second path is accessible to the client, and the second path is configured in the target program so that the device accesses data required for the target program to run through the second path; Sending the target device identifier and the target program to a cloud server, so that the cloud server sends the target program to the target device according to the target device identifier, so as to implement testing of the target program on the target device; receiving and parsing a second path access request sent by the cloud server to obtain a second path; accessing data according to the first path related to the second path; and sending the access result to the cloud server so that the cloud server sends the access result to the target device; The method further comprises: Predetermining the first path and the second path includes: A first path and a virtual mount path set by a user are received, the virtual mount path or an encrypted path of the first path is used as a second path, and an association relationship between the first path and the second path is established.

4. A client, characterized in that: include: A user interaction module is used to receive a target device identifier and a target program set by a user, wherein the source code of the target program includes a second path, the second path is associated with a first path of a client that the target program needs to access, the second path is accessed by a cloud server, and the second path is configured in the target program so that the device accesses data required for the target program to run through the second path; A cloud interaction module, used for sending the target device identifier and the target program to the cloud server, so that the cloud server sends the target program to the target device according to the target device identifier, so as to implement the test of the target program on the target device; and also used for predetermining the first path and the second path; The cloud interaction module is used to predetermine the first path and the second path, including: receiving a first path set by a user, sharing the first path to the cloud server to obtain a shared path, and using the shared path as a second path; or Receive a first path and user range information set by a user, share the first path to the cloud server, and obtain a shared path; encrypt and register the shared path and the user range information to the cloud server, and the cloud server encrypts the shared path and the user range information to obtain an encrypted path; use the encrypted path sent by the cloud server as the second path.

5. A client, characterized in that: include: A user interaction module is used to receive a target device identifier and a target program set by a user, wherein the source code of the target program includes a second path, the second path is associated with a first path of a client that the target program needs to access, the second path is accessible to the client, and the second path is configured in the target program so that the device accesses data required for the target program to run through the second path; A cloud interaction module, used for sending the target device identifier and the target program to a cloud server, so that the cloud server sends the target program to the target device according to the target device identifier, so as to implement the test of the target program on the target device; and also used for predetermining the first path and the second path; A data access module, configured to receive and parse a second path access request sent by the cloud server to obtain a second path; access data according to the first path related to the second path; and send the access result to the cloud server so that the cloud server sends the access result to the target device; The cloud interaction module is used to predetermine the first path and the second path, including: A first path and a virtual mount path set by a user are received, the virtual mount path or an encrypted path of the first path is used as a second path, and an association relationship between the first path and the second path is established.

6. A testing method based on a cloud server, characterized in that: Applicable to cloud servers, including: Receive a target device identifier and a target program sent by a client, wherein the source code of the target program includes a second path, the second path is associated with a first path of the client that the target program needs to access, and the second path is configured in the target program so that the device accesses data required for the target program to run through the second path; Sending the target program to the target device according to the target device identifier to implement testing of the target program on the target device; receiving and parsing a second path access request sent by the target device when running the target program, and obtaining a second path; If the second path is accessible to the cloud server, access the data according to the second path and send the access result to the target device; If the second path is accessible to the client, send a second path access request to the client, so that the client obtains the second path according to the second path access request and accesses data according to the second path; receive an access result sent by the client, and send the access result to the target device; The second path for access by the cloud server is a shared path of the first path or a shared encrypted path of the first path; The second path for the client to access is a virtual mount path set by the user or an encrypted path of the first path.

7. The testing method according to claim 6, characterized in that: When the second path is a shared path of the first path, accessing data according to the second path includes: The second path is accessed through the network driver, and the operating system of the cloud server converts the second path access into accessing the first path of the client and accessing the data.

8. The testing method according to claim 6, characterized in that: When the second path is a shared encrypted path of the first path, accessing data according to the second path includes: Decrypt the second path to obtain the shared path and user group range information; Determine whether the user of the target program is in the user group range information; If the user of the target program is in the user group range information, the shared path is accessed through the network drive, and the operating system of the cloud server converts the shared path access to the first path of the client and accesses the data. Otherwise, access is denied.

9. A cloud server, characterized in that: include: A client interaction module, configured to receive a target device identifier and a target program sent by a client, wherein the source code of the target program includes a second path, the second path is associated with a first path of the client that the target program needs to access, and the second path is configured in the target program so that the device accesses data required for the target program to run through the second path; A device interaction module, configured to send the target program to the target device according to the target device identifier to implement the test of the target program on the target device; and receive a second path access request sent by the target device when running the target program; A parsing module, used for parsing the second path access request to obtain a second path; a first data access module, configured to access data according to the second path if the second path is accessible to the cloud server, and send the access result to the target device; A second data access module is configured to send a second path access request to the client if the second path is accessible to the client, so that the client obtains the second path according to the second path access request and accesses data according to the second path; receive an access result sent by the client, and send the access result to a target device; The second path for access by the cloud server is a shared path of the first path or a shared encrypted path of the first path; The second path for the client to access is a virtual mount path set by the user or an encrypted path of the first path.

10. A testing method based on a cloud server, characterized in that: include: The client receives the target program and the target device identifier set by the user, and sends the target program and the target device identifier to the cloud server, wherein the source code of the target program includes a second path, the second path is associated with the first path of the client that the target program needs to access, and the second path is configured in the target program so that the device accesses the data required for the target program to run through the second path; The cloud server sends the target program to the target device according to the target device identifier, so as to implement the test of the target program on the target device; The target device runs the target program, and sends a second path access request to the cloud server when running the program; The cloud server receives and parses the second path access request to obtain the second path; if the second path is accessible to the cloud server, the cloud server accesses the data according to the second path and sends the access result to the target device; if the second path is accessible to the client, the cloud server sends the second path access request to the client, the client receives and parses the second path access request to obtain the second path, accesses the data according to the first path associated with the second path, and sends the access result to the cloud server, and the cloud server sends the access result to the target device; The second path for access by the cloud server is a shared path of the first path or a shared encrypted path of the first path; The second path for the client to access is a virtual mount path set by the user or an encrypted path of the first path.

11. A test system based on a cloud server, characterized in that: include: A plurality of devices, a cloud server and a client, wherein the devices and the client are connected to the cloud server; The client is used to receive a target program and a target device identifier set by a user, and send the target program and the target device identifier to a cloud server, wherein the source code of the target program includes a second path, the second path is associated with a first path of the client that the target program needs to access, and the second path is configured in the target program so that the device accesses data required for the target program to run through the second path; receive and parse the second path access request sent by the cloud server, obtain the second path, and access data according to the first path associated with the second path; The cloud server sends the target program to the target device according to the target device identifier to implement the test of the target program on the target device; receives and parses the second path access request to obtain the second path; if the second path is accessible to the cloud server, accesses the data according to the second path, and sends the access result to the target device; if the second path is accessible to the client, sends the second path access request to the client, the client receives and parses the second path access request to obtain the second path, accesses the data according to the first path associated with the second path, and sends the access result to the cloud server, and the cloud server sends the data access result sent by the client to the target device; The target device receives and runs the target program, and sends the second path access request to the cloud server; The second path for access by the cloud server is a shared path of the first path or a shared encrypted path of the first path; The second path for the client to access is a virtual mount path set by the user or an encrypted path of the first path.

12. The test system according to claim 11, characterized in that: The bottom layer of the device abstracts multiple components for interacting with the cloud server, and each component is written using the POSIX general standard.

13. The test system according to claim 11, characterized in that: Also includes: The CI / CD server is connected to the client and is used to compile the target program according to the source code of the target program submitted by the developer and send the target program to the client.

14. The test system according to claim 13, characterized in that: The CI / CD server is also connected to the device to read the test data generated by the device, generate a test report based on the test data, and send the test report to the target program developer.

15. A computer device comprising a memory, a processor, and a computer program stored in the memory, characterized in that: When the computer program is executed by the processor, the computer program executes the instructions of the method according to any one of claims 1-3 or 6-8.

16. A computer storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor of a computer device, the computer program executes the instructions of the method according to any one of claims 1-3 or 6-8.

Citation Information

Patent Citations

  • Application program test method and device

    CN104461897A

  • Application testing method, center control server, test terminal and system

    CN104461898A