Compatibility test method and device for cloud computer application software, equipment, storage medium and product

By constructing test cases and writing control scripts, and utilizing an automation platform to automatically control the connection and disconnection status of peripheral devices, the problem of low efficiency in compatibility testing between cloud computer application software and peripheral devices was solved, achieving efficient and stable compatibility testing.

CN121579366APending Publication Date: 2026-02-27CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511817615.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-04
Publication Date
2026-02-27

AI Technical Summary

Technical Problem

Existing cloud computer application software and peripheral device compatibility testing is inefficient and prone to errors due to human operation, making it impossible to achieve fully automated testing.

Method used

By constructing test cases and writing control scripts, the system utilizes an automation platform to perform compatibility testing on a vast number of application software and peripheral devices within the cloud computer. The first control script is used to automatically control the connection and disconnection status of peripheral devices, generate unique identifiers, and integrate them into the automation platform.

Benefits of technology

It improves testing efficiency, reduces the risk of errors caused by manual intervention, ensures the consistency and accuracy of the testing process, and is suitable for peripheral device compatibility testing in various cloud desktop environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121579366A_ABST
    Figure CN121579366A_ABST
Patent Text Reader

Abstract

The invention discloses a compatibility testing method and device for cloud computer application software, equipment, a storage medium and a product. The method comprises the following steps: acquiring a test case of at least one application software of the cloud computer; the test cases correspond to the application software, and each test case comprises test codes of the application software corresponding to one or more peripheral devices; starting a test case of at least one application software, and switching the connection state and the disconnection state of one or more peripheral devices of the corresponding test case based on the first control script in the running process of each test case to obtain a compatibility test result of each application software and the one or more peripheral devices. On one hand, a traditional mode of manually plugging and unplugging peripheral equipment is avoided, the workload of testing personnel is reduced, and the testing efficiency is improved; and on the other hand, the state of the peripheral equipment is automatically controlled through the script, so that the test process is more stable and repeatable, and the consistency and accuracy of the test are improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of cloud computers, and in particular to a compatibility testing method and device for cloud computer application software, a cloud computer application software compatibility testing device, a cloud computer application software compatibility testing equipment, a storage medium and a product. BACKGROUND

[0002] Cloud computer technology realizes the ability of remote access and use of virtual desktops on any terminal by migrating computing and storage resources to the cloud. Its core advantages lie in cross-platform, flexible deployment and high scalability, and it is widely used in enterprise office, education, entertainment and other fields. With the rapid growth of cloud computer application software and the diversification of peripheral devices, how to ensure the compatibility and adaptability between various application software of cloud computers and different peripheral devices has become a key problem to improve user experience.

[0003] In related technologies, the compatibility testing of a large number of applications and peripheral devices inside the cloud computer is carried out by manually plugging and unplugging USB (Universal Serial Bus) peripheral devices, that is, opening a to-be-tested application software, plugging in the peripheral device, and then verifying the compatibility and adaptability of the to-be-tested software and the peripheral device; when the next application software needs to be tested, the peripheral device needs to be unplugged and plugged in again. In addition, when a software needs to be tested for compatibility with multiple peripheral devices with different functions, the tester needs to constantly plug and unplug peripheral devices with different functions.

[0004] Since the above-mentioned testing method requires the tester to manually plug and unplug multiple peripheral devices to complete multi-scene testing, the testing process is tedious and inefficient, and errors are easily introduced due to human operation. SUMMARY

[0005] Therefore, the embodiments of the present application provide a compatibility testing method, device, equipment, storage medium and product for cloud computer application software, aiming to provide an efficient and comprehensive compatibility testing method to support complex combinations of application software and peripheral devices in the cloud computer environment.

[0006] The technical solutions of the embodiments of the present application are as follows: The embodiments of the present application provide a compatibility testing method for cloud computer application software, comprising: obtaining test cases of at least one application software of a cloud computer; the test cases correspond to the application software, and each test case includes test code corresponding to the application software and one or more peripheral devices; The test cases of the at least one application software are started, and in the running process of each test case, the connection state and the disconnection state of one or more peripheral devices of the corresponding test case are switched based on the first control script to obtain the compatibility test result of each application software and one or more peripheral devices.

[0007] In the above scheme, the connection state and the disconnection state of one or more peripheral devices of the corresponding test case are switched based on the first control script in the running process of each test case to obtain the compatibility test result of each application software and one or more peripheral devices, comprising: For the current test case, the peripheral devices of the current test case are controlled by the first control script to be switched from the connection state to the disconnection state, and the test code of the corresponding peripheral device is run in the connection state to obtain the compatibility test result of the application software and the corresponding peripheral device.

[0008] In the above scheme, the connection state and the disconnection state of one or more peripheral devices of the corresponding test case are switched based on the first control script in the running process of each test case to obtain the compatibility test result of each application software and one or more peripheral devices, further comprising: If the test code of each peripheral device of the current test case has been run, the next test case is executed; Until all test cases have been executed, the compatibility test result of each application software and one or more peripheral devices is obtained.

[0009] In the above scheme, before the test cases of the at least one application software are started, the method further comprises: Based on the second control script, the manufacturer identifier and the product identifier of each locally connected peripheral device are obtained; Based on the obtained manufacturer identifier and product identifier of each peripheral device, the unique identity of each peripheral device is obtained; Based on the unique identity of each peripheral device and the control code for controlling the switching of the connection state and the disconnection state of the peripheral device, the first control script is generated.

[0010] In the above scheme, the method further comprises: Based on the association relationship between the application software of the cloud computer and the peripheral device, the test cases of each application software are generated.

[0011] In the above scheme, the method further comprises: The first information set indicating the application software on the cloud computer and the second information set indicating the peripheral device deployed on the test device are obtained; Based on the Cartesian product of the first information set and the second information set and peripheral device requirement information of each application software, an association relationship between the application software and the peripheral device of the cloud computer is obtained.

[0012] In the above solution, if there is an update of the application software on the cloud computer and / or the peripheral device deployed on the test device, the method further comprises: obtaining an association relationship between the updated application software and the peripheral device of the cloud computer; generating a test case of each application software based on the updated association relationship.

[0013] Embodiments of the present application further provide a compatibility test device for cloud computer application software, comprising: an obtaining module configured to obtain a test case of at least one application software of a cloud computer; the test case corresponds to the application software, and each test case comprises test code corresponding to the application software and one or more peripheral devices; a test module configured to start the test case of the at least one application software, and switch the connection state and the disconnection state of one or more peripheral devices of the corresponding test case based on a first control script during the running process of each test case, to obtain a compatibility test result of each application software and one or more peripheral devices.

[0014] Embodiments of the present application further provide a test device, comprising a processor and a memory for storing a computer program capable of running on the processor, wherein the processor is configured to run the computer program to perform the steps of the method described in the embodiments of the present application.

[0015] Embodiments of the present application further provide a computer storage medium, wherein the computer storage medium stores a computer program, and the computer program is executed by a processor to perform the steps of the method described in the embodiments of the present application.

[0016] Embodiments of the present application further provide a computer program product comprising a computer program, wherein the computer program is executed by a processor to perform the steps of the method described in the embodiments of the present application.

[0017] The technical scheme provided by the embodiment of the application comprises the following steps: obtaining test cases of at least one application software of a cloud computer; the test cases correspond to the application software, and each test case comprises test code corresponding to the application software and one or more peripheral devices; starting the test cases of the at least one application software, and in the running process of each test case, switching the connection state and the disconnection state of the one or more peripheral devices corresponding to the test case based on a first control script to obtain a compatibility test result of each application software and the one or more peripheral devices. In this way, on the one hand, the traditional manual plugging and unplugging mode of the peripheral device is avoided, the work burden of the tester is reduced, and the test efficiency is improved; on the other hand, the state of the peripheral device is automatically controlled through the script, so that the test process is more stable and repeatable, and the consistency and accuracy of the test are improved. BRIEF DESCRIPTION OF DRAWINGS

[0018] Figure 1 FIG. 1 is a flowchart of a compatibility test method of cloud computer application software according to an embodiment of the application; Figure 2 FIG. 2 is a flowchart of automatic testing according to an embodiment of the application; Figure 3 FIG. 3 is a structural diagram of a compatibility test device of cloud computer application software according to an embodiment of the application; Figure 4 FIG. 4 is a structural diagram of a test device according to an embodiment of the application. DETAILED DESCRIPTION

[0019] The application will be described in further detail below with reference to the drawings and embodiments.

[0020] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used in the description herein is for describing specific embodiments only and is not intended to be limiting of the application.

[0021] Before the embodiments of the application are described in further detail, the terms and names involved in the embodiments of the application are explained, and the terms and names involved in the embodiments of the application are applicable to the following explanations: 1) Test case: refers to a set of test codes or operation processes for verifying whether a certain application software can normally run when connected to a specific peripheral device. Each test case usually comprises an application software name, a required peripheral type and corresponding test logic, and is used to simulate the compatibility behavior in an actual use scenario.

[0022] 2) Control script: refers to a collection of program codes used to automate certain operations, especially for controlling the connection and disconnection state switching of USB peripheral devices. By writing control scripts, remote control of peripheral devices can be achieved without manual plugging and unplugging of hardware, thereby improving test efficiency and consistency.

[0023] 3) Peripheral device: refers to external devices connected to terminal devices in a cloud computer environment and used to assist user operations or data interaction, such as keyboards, mice, USB drives, cameras, microphones, printers, speakers, and code scanners. These devices have different functional requirements in different application scenarios.

[0024] 4) Vendor ID and Product ID: identifiers used to uniquely identify a type of USB peripheral device, assigned by the manufacturer and written during device registration. By obtaining these two identifiers, the corresponding peripheral device can be accurately identified and controlled.

[0025] 5) Compatibility test results: refers to the result information recorded during the test process on whether the application software and peripheral devices can work normally together. This result can be used to evaluate the stability, functional integrity, and user experience quality of the software.

[0026] 6) Cartesian product: in this application, it refers to the full combination matching of multiple application software in the cloud computer with multiple types of peripheral devices on the test device, forming a comprehensive test case set to ensure that every possible combination is included in the test range.

[0027] 7) Automation platform: refers to a system platform integrated with test management, task scheduling, script calling, result collection and analysis, etc. By integrating the control script of this application into the automation platform, efficient and automated compatibility testing between the massive application software and peripheral devices in the cloud computer can be achieved.

[0028] 8) Connection control: refers to dynamically controlling the connection and disconnection state of USB peripherals through software, rather than physical plugging and unplugging. This method supports remote operation and meets the requirements of modern testing standards for devices placed in a computer room and accessed through a network.

[0029] In the related art, a user only needs one terminal device to connect to a network, and through a USB connection of a peripheral device such as a keyboard, a mouse, and a display, the user can access a personal desktop on the cloud, call various data and applications, and the use experience is not much different from a traditional computer. However, there are many types and complex models of peripheral devices, and the adaptation workload is huge. Terminal manufacturers will highly customize the terminal device system, which exacerbates the fragmentation of cloud computers in peripheral device adaptation support, and each manufacturer's terminal device has its specific problems. In addition, the adaptability and compatibility of the massive application software in the cloud computer to the same peripheral device are not the same, and often a peripheral device can be used on software A, but cannot work normally on software B, which has a bad impact on the user experience. Therefore, improving the adaptability and compatibility of the peripheral device is of great significance to improve the use experience of the cloud computer and promote the use of the cloud computer.

[0030] In the related art, there is a method of automatically obtaining peripheral device information in a local and cloud desktop through a script and comparing, so as to determine whether the redirection of the peripheral device is successful, and to simulate the use behavior of the peripheral device for testing. Although this method can achieve automatic testing to a certain extent, reduce manual intervention, and improve testing efficiency. However, such a method usually only focuses on the consistency of the peripheral device information, and does not further verify whether the specific application software in the cloud desktop can normally recognize and use a certain peripheral device, resulting in that the replacement of the peripheral device still needs to be manually inserted and unplugged to achieve, and complete automation cannot be achieved.

[0031] The method of manually inserting and unplugging the USB peripheral device to test the compatibility and adaptability of the application software in the cloud computer to the peripheral device has a significantly low test efficiency, especially when performing adaptation and compatibility testing of massive application software, there will be a large number of repeated manual insertion and removal of peripheral devices, which consumes a lot of time and effort of the tester. Based on this, the present application introduces a cloud computer application software compatibility automatic testing method based on a control script, which realizes efficient testing of the compatibility between massive application software in the cloud computer and various peripheral devices by constructing test cases, writing control scripts and integrating them into an automatic platform. Compared with the traditional manual testing method, not only the test efficiency is improved, but also the error risk caused by manual intervention is reduced, and at the same time, it has good scalability and applicability, and is suitable for compatibility testing of application software and peripheral devices in various cloud desktop environments.

[0032] The compatibility testing methods for cloud computer application software provided in the various embodiments of this application can be executed by an automated platform. The automated platform can be an integrated testing system based on script control and UI automation. That is, the compatibility testing methods for cloud computer application software in the various embodiments of this application can be executed by an automated platform, which can be deployed in a testing device to run the compatibility testing methods for cloud computer application software in the embodiments of this application.

[0033] Reference Figure 1 The compatibility testing method for cloud computer application software in this application includes the following steps: Step 101: Obtain test cases for at least one application software of the cloud computer; the test cases correspond to the application software, and each test case includes test code for the application software and one or more peripheral devices.

[0034] Here, a test case refers to a set of test code or operational procedures used to verify whether an application software can function properly when connected to a specific peripheral device. Each test case typically includes the application software name, the type of required peripheral device, and corresponding test logic to simulate compatibility behavior in real-world usage scenarios. For example, common office applications in cloud computing (such as WPS and Office) require the use of peripheral devices such as keyboards, mice, and USB drives; therefore, test cases for office applications will include test code for these peripheral devices. Similarly, video conferencing applications (such as WeChat and Tencent Meeting) may require the use of peripheral devices such as cameras, microphones, and speakers; therefore, test cases for video conferencing applications will also include test code for these peripheral devices. The purpose of test cases is to comprehensively cover all possible combinations of application software and peripheral devices, ensuring the stability and functional integrity of each application software under different peripheral device environments.

[0035] For example, a comprehensive test case library can be built by analyzing and organizing application software on a cloud computer. This library contains Cartesian product relationships between various application software programs and the peripheral devices they might use. For instance, for WPS Office, test cases might include combined tests with peripheral devices such as keyboards, mice, USB drives, and printers; for WeChat, a communication application, test cases might include combined tests with peripheral devices such as cameras, microphones, and speakers. The establishment of this test case library enables subsequent automated testing to proceed efficiently and systematically.

[0036] Step 102: Start the test cases of the at least one application software, and during the operation of each test case, switch the connection state and disconnection state of one or more peripheral devices of the corresponding test case based on the first control script to obtain the compatibility test results of each application software with one or more peripheral devices.

[0037] Here, the first control script refers to a set of program code used to automate certain operations, particularly for controlling the connection and disconnection states of USB peripheral devices. By writing first control scripts, remote control of peripheral devices can be achieved without manually plugging and unplugging hardware, thus improving testing efficiency and consistency. For example, a first control script can be written in Python, using the pyusb library to identify and control specific peripheral devices through vendor ID and product ID, and calling the detach_kernel_driver and attach_kernel_driver functions to disconnect and connect the peripheral device. A system composed of first control scripts is not only suitable for controlling a single peripheral device, but can also be extended to support the combined control of multiple peripheral devices, meeting the needs of complex testing scenarios.

[0038] Peripheral devices refer to external devices connected to terminal devices in a cloud computing environment to assist user operation or data interaction, such as keyboards, mice, USB flash drives, cameras, and microphones. Peripheral devices have different functional requirements in different application scenarios. For example, in an office setting, users may need to use a keyboard to input text, a mouse to select and click, and a USB flash drive to transfer files; while in a video conferencing scenario, users may need to use a camera to capture video, a microphone to input voice, and a speaker to output audio. Different application software has varying degrees of dependence on peripheral devices, therefore testers need to conduct detailed testing for each combination during the testing process.

[0039] In practice, the automated testing platform uses information from the test case library to sequentially launch each application software. During the execution of each test case, it calls the first control script to dynamically control the connection and disconnection status of required peripheral devices. For example, when testing the compatibility of the office application WPS with a USB flash drive, the testing platform will call the first control script to connect the USB flash drive after launching WPS, and then perform read and write operations to verify compatibility. After the test is completed, it will call the first control script to disconnect the USB flash drive and proceed to the next test case. This approach not only avoids the inefficiency of manually plugging and unplugging peripheral devices but also achieves a high degree of automation and standardization in the testing process.

[0040] The cloud computer application software compatibility testing method provided in this application embodiment achieves efficient testing between a large number of application software programs within the cloud computer and various peripheral devices by constructing test cases, writing a first control script, and integrating the first control script into an automated testing platform. Compared with traditional manual testing methods, the cloud computer application software compatibility testing method provided in this application embodiment not only improves testing efficiency but also reduces the risk of errors caused by manual intervention. It also possesses good scalability and applicability, making it suitable for peripheral device adaptation testing in various cloud desktop environments.

[0041] In some embodiments, during the execution of each test case, switching the connection and disconnection states of one or more peripheral devices for the corresponding test case based on a first control script to obtain compatibility test results between each application software and one or more peripheral devices includes: For the current test case, based on the first control script, the peripheral devices of the current test case are sequentially controlled to change from a connected state to a disconnected state. In the connected state, the test code of the corresponding peripheral devices is run to obtain the compatibility test results between the application software and the corresponding peripheral devices.

[0042] Here, the first control script refers to a set of computer program instructions used to automate the connection and disconnection of USB peripheral devices. The first control script is typically written by developers using languages ​​such as Python, and implements soft connection and soft disconnection operations on peripheral devices by calling the USB interface library provided by the operating system (such as pyusb). The purpose of the first control script is to replace the traditional manual plugging and unplugging method, achieving remote and automated peripheral control, thereby improving testing efficiency and accuracy.

[0043] The connection status refers to the state in which a peripheral device is recognized by the system and can be used normally. In the connection status, the application can access the functional modules of the peripheral device, such as reading files from a USB flash drive, controlling mouse movement, or calling the camera to capture image data.

[0044] A disconnected state refers to a situation where a peripheral device is physically connected to a terminal device but is not recognized by the system or cannot be used normally. Using the first control script, a disconnection can be simulated without actually plugging or unplugging the hardware, putting the application software into a scenario where no peripheral device is available, thereby testing the application software's ability to handle abnormal situations.

[0045] Peripheral devices refer to external input / output devices that connect to the cloud computer's terminal via USB or other means, such as keyboards, mice, USB flash drives, cameras, and microphones. These devices provide different functional support for application software, and different types of software have varying degrees of support for external input / output devices.

[0046] Understandably, by controlling the soft connection and soft disconnection operations of each peripheral device in the current test case one by one based on the first control script, compatibility testing between the application software and its corresponding peripheral devices can be achieved, and the compatibility test results can be obtained. By using the first control script to switch the connection and disconnection states of peripheral devices, the inefficiency of manually plugging and unplugging USB peripherals can be avoided, thus significantly improving the efficiency of compatibility testing between the massive number of applications within the cloud computer and its peripheral devices. The method of switching the connection and disconnection states of peripheral devices based on the first control script can reduce the workload of testers while ensuring the consistency and repeatability of the testing process, thereby enabling large-scale, high-precision automated testing workflows.

[0047] In some embodiments, during the execution of each test case, switching the connection and disconnection states of one or more peripheral devices for the corresponding test case based on the first control script to obtain compatibility test results between each application software and one or more peripheral devices further includes: If it is confirmed that the test code for each peripheral device in the current test case has been executed, then the next test case will be executed. The process continues until all test cases have been executed, yielding compatibility test results between each application software and one or more peripheral devices.

[0048] Once the test code for all peripheral devices corresponding to the current test case has been executed, the system determines that the testing process for the current test case is complete and automatically proceeds to the execution phase of the next test case. This automatic transition from the current test case to the next avoids manual intervention by testers, thus improving the consistency and efficiency of automated testing.

[0049] By employing an automated test scheduling mechanism, the system can complete the test tasks of each test case one by one according to the preset test order, thereby ensuring the orderly progress of the test process.

[0050] In this embodiment, the system automatically executes the next test case after all the test code has been run. The system can reduce manual operation, improve testing efficiency, and achieve efficient compatibility testing of a large number of application software and various peripheral devices.

[0051] After all test cases have been executed, the system will collect and organize the compatibility test results for each test case, generating a complete compatibility test report. The compatibility test results include the compatibility performance between each application software and one or more connected peripheral devices, facilitating subsequent analysis and optimization.

[0052] Through the integration of an automated platform, the system can complete all testing tasks without relying on manual labor and generate standardized compatibility test results, ensuring the consistency and traceability of test data.

[0053] In this embodiment of the application, by automatically generating compatibility test results after all test cases have been executed, the integrity of the testing process can be ensured, thereby improving the accuracy of the compatibility test results and providing a reliable basis for the adaptation and optimization of application software within the cloud computer.

[0054] In the above scheme, before launching the test case of the at least one application software, the method further includes: The second control script is used to obtain the manufacturer and product identifiers of each locally connected peripheral device. Based on the obtained manufacturer identifier and product identifier of each peripheral device, a unique identity identifier for each peripheral device is obtained; The first control script is generated based on the unique identifier of each peripheral device and the control code used to control the switching between the connection and disconnection states of the peripheral devices.

[0055] Here, the second control script refers to an automated script used to scan and identify information about all USB peripheral devices connected to the current terminal. The second control script is typically written in Python and obtains the vendor ID (vendor_id) and product ID (product_id) of the peripheral device by calling the usb.core.find() interface. The second control script can automatically identify all connected peripheral devices and record their basic information for subsequent processing.

[0056] The manufacturer identifier refers to a unique number corresponding to the manufacturer of each peripheral device. The manufacturer identifier is uniformly assigned by the USB standardization organization and can be used to quickly identify the origin of the device.

[0057] Product identification refers to the specific model number of each peripheral device. Together with the manufacturer's identification, product identification uniquely identifies a particular type of peripheral device, facilitating system-wide classification and management of the devices.

[0058] Understandably, using automated scripts to obtain the manufacturer and product identifiers of peripheral devices avoids the tedious process of manual recording and configuration, thus improving efficiency in the test preparation phase. It also provides a data foundation for generating unique identifiers for peripheral devices later.

[0059] A unique identifier for a peripheral device is a string or code that combines the manufacturer's identifier and the product identifier to uniquely identify a specific type of peripheral device. For example, if a keyboard's manufacturer identifier is 0x046d and its product identifier is 0xc31c, then the keyboard's unique identifier can be represented as 046d_c31c. This unique identifier is used throughout the testing process to uniquely distinguish between different types of peripheral devices.

[0060] Understandably, by combining manufacturer and product identifiers to generate a unique identifier, accurate identification and management of peripheral devices are achieved. This way, even if multiple peripheral devices of the same model from different manufacturers are connected to the system, they can be distinguished by the unique identifier, thus ensuring the accuracy and traceability of the testing process.

[0061] Here, control code refers to program instructions used to connect and disconnect peripheral devices. For example, in Python, the `detach_kernel_driver()` function can be used to disconnect, and the `attach_kernel_driver()` function can be used to connect. Control code can be encapsulated for specific peripheral devices to achieve unified control.

[0062] The first control script refers to the final generated automated script used to perform connection / disconnection operations for specific peripheral devices. The first control script contains control logic for each peripheral device. It can call the corresponding control code according to actual testing needs, thereby achieving remote and automated peripheral connection and disconnection operations.

[0063] Understandably, by integrating unique identifiers and control codes, control scripts applicable to different peripheral devices can be generated, allowing testers to connect and disconnect peripherals without manually plugging and unplugging them, greatly improving testing efficiency and accuracy.

[0064] In summary, in this embodiment, the manufacturer and product identifiers of each locally connected peripheral device are obtained based on the second control script, and a unique identifier for each peripheral device is generated accordingly. This identifier is then combined with control code to generate the first control script. This enables automatic identification and control of multiple peripheral devices, thereby automating the compatibility testing of application software within the cloud computer, significantly improving testing efficiency and reducing labor costs.

[0065] In some embodiments, the method further includes: Based on the relationship between application software and peripheral devices in cloud computing, test cases are generated for each application software.

[0066] Here, cloud computing refers to a remote computing environment built using virtualization technology. Users can connect to the virtual machines running on the cloud computing platform via a network to access the desktop, data, and applications. Cloud computing offers high flexibility and scalability, supporting various terminal access methods and application scenarios.

[0067] Application software refers to various programs deployed within cloud computers, including but not limited to office software (such as WPS and Office), communication software (such as WeChat and Tencent Meeting), and entertainment software (such as Honor of Kings and Bilibili). Different types of software have significantly different requirements for peripheral devices. For example, office software mainly relies on keyboards, mice, and USB drives, while video call software relies on cameras, microphones, and speakers.

[0068] Peripheral devices refer to external hardware devices that connect to the cloud computer terminal via USB interface or other means, such as keyboards, mice, USB flash drives, cameras, printers, microphones, speakers, barcode scanners, etc. These devices may exhibit different characteristics in terms of compatibility and adaptability when interacting with different application software.

[0069] Relationships refer to the functional requirements of each application software and the peripheral devices it needs. Developers can establish these relationships through systematic analysis or manual annotation, creating a mapping table to guide the design of subsequent test cases. For example, a video conferencing software might require a camera, microphone, and speakers, while a document processing software might only need a keyboard and mouse.

[0070] Test cases are specific test scenarios designed based on the above relationships, used to verify whether a particular application software can function properly when connected to a specific peripheral device. Test cases typically include information such as input conditions, expected behavior, and assertion results, and can be invoked and executed by automated testing platforms.

[0071] In this embodiment, the system generates test cases based on the association between application software and peripheral devices. It can automatically complete compatibility and adaptability tests between a large number of application software programs and various peripheral devices without manual plugging and unplugging operations. This avoids testers repeatedly performing physical plugging and unplugging operations, thereby improving testing efficiency. Simultaneously, the system ensures the consistency and repeatability of the testing process, reducing human error and improving test quality. Furthermore, the system can achieve comprehensive automated testing of the application software within the cloud computer and various peripheral devices, thereby promoting the stability improvement of the cloud computer system and the continuous optimization of the user experience.

[0072] In some embodiments, the method further includes: Acquire a first set of information indicating the application software on the cloud computer and a second set of information indicating the peripheral devices deployed on the test device; Based on the Cartesian product of the first information set and the second information set, as well as the peripheral device requirements of each application software, the association between the application software and peripheral devices of the cloud computer is obtained.

[0073] Here, the first information set refers to the basic information set describing all the application software to be tested on the cloud computer. The information in the first information set includes, but is not limited to, application name, version number, functional category (such as office, communication, entertainment, etc.), and the application software's functional dependencies on peripheral devices. Some application software to be tested may only rely on a keyboard and mouse, while others may also require the support of a camera or microphone.

[0074] The second information set refers to the collection of information describing the peripheral devices deployed on the test equipment. This second information set typically includes the peripheral device's vendor ID, product ID, device type (e.g., USB flash drive, keyboard, mouse, camera, printer, etc.), and its unique identifier within the system. This information can be scanned and automatically collected using automated scripting tools.

[0075] By acquiring these two sets of information, foundational data support can be established for subsequent automated testing. The testing platform generates corresponding test cases based on the specific application software and peripheral device combinations, achieving precise matching and avoiding duplicate testing or omission of key test points.

[0076] In this embodiment, by acquiring the first information set and the second information set, a comprehensive and accurate test object database can be constructed. Constructing such a database improves test coverage, reduces human intervention, and thus enhances testing efficiency, further enabling efficient compatibility testing between the massive amounts of application software within the cloud computer and various peripheral devices.

[0077] Here, the Cartesian product is a mathematical operation used to calculate all possible combinations between two sets. In this embodiment, the Cartesian product is applied to perform full permutations of each application software in the first information set with each peripheral device in the second information set, thereby generating a complete test case matrix. The combinations generated by the Cartesian product ensure that each application software can be adapted and compatible with each peripheral device.

[0078] Peripheral device requirements refer to the specific usage needs of each application software for particular peripheral devices, such as whether it needs to access a camera, read files from a USB drive, or use a microphone. Obtaining peripheral device requirements is typically done in the early stages of project development by analyzing functionality and clarifying user needs.

[0079] Association relationships refer to determining which application software can work normally with which peripheral devices based on the aforementioned Cartesian product and peripheral device requirements information. These association relationships determine the connection and disconnection sequence of peripheral devices during actual testing, and how the testing platform allocates resources to complete the testing tasks.

[0080] In this embodiment, precise test cases and test plans can be constructed based on the Cartesian product of the first and second information sets and peripheral device requirement information. By constructing precise test cases and test plans based on the Cartesian product of the first and second information sets and peripheral device requirement information, the method of this embodiment can achieve intelligent matching between application software and peripheral devices, thereby optimizing the testing process and significantly improving the efficiency and accuracy of compatibility testing between cloud computer application software and peripheral devices.

[0081] It is understood that, in this embodiment of the application, by acquiring the first information set and the second information set, and constructing a correlation based on the Cartesian product and peripheral device requirement information, the operation of the automated testing platform can be effectively supported. By acquiring the first information set and the second information set, and constructing a correlation based on the Cartesian product and peripheral device requirement information, highly efficient compatibility testing between a large number of application software within the cloud computer and multiple peripheral devices can be achieved, thereby improving overall testing efficiency and promoting the rapid iteration and high-quality delivery of cloud computer products.

[0082] In some embodiments, if the application software on the cloud computer and / or the peripheral devices deployed on the test device are updated, the method further includes: Obtain the updated association between the application software and peripheral devices of the cloud computer; Based on the updated association, test cases for each application software are generated.

[0083] Here, when the application software version inside the cloud PC changes, or when the model, driver, or other information of the USB peripheral devices deployed on the test device is updated, the original association between the cloud PC's application software and peripheral devices may change. Therefore, the system needs to re-identify and obtain the latest association between the cloud PC's application software and peripheral devices. For example, if an office software upgrade adds support for a camera, a feature not previously supported, the system needs to re-record the association between the cloud PC's application software and peripheral devices. A script automatically scans all peripheral devices in the current operating environment and matches them with the currently installed application software to generate new associations between the cloud PC's application software and peripheral devices.

[0084] After obtaining the latest associations between cloud PC application software and peripheral devices, the system automatically generates corresponding test cases based on these associations. Each test case contains a specific combination of application software and peripheral devices to verify the compatibility and adaptability between the application software and peripheral devices. For example, if a video conferencing software now supports microphone input, the system will automatically generate a test case to test the software's performance when a microphone is connected. Through this mechanism, new test cases can be generated promptly after updates to the application software or peripheral devices deployed on the cloud PC, ensuring the comprehensiveness and effectiveness of the testing.

[0085] Understandably, by dynamically obtaining the new associations between the application software and peripheral devices deployed on the cloud PC after updates to the application software or testing equipment, and generating test cases based on these associations, this approach ensures that the test content remains consistent with the latest version. This improves test coverage and accuracy. Increased test coverage and accuracy, in turn, enhance the overall stability of the cloud PC platform and the user experience.

[0086] The present application will now be described in further detail with reference to an application embodiment.

[0087] This application example provides a method for automatically connecting and disconnecting USB peripheral devices on a terminal, improving the efficiency of compatibility testing for a vast number of applications within a cloud computer. A control script is used to control the connection and disconnection of USB peripheral devices. This script is then provided to testers or an automation platform for use. When performing compatibility testing on a large number of applications within the cloud desktop, the script can automatically connect and disconnect peripheral devices, avoiding manual operation and improving testing efficiency. Furthermore, it identifies repetitive parts in the compatibility and adaptation testing process for each software application, enabling automated testing of USB peripheral compatibility and adaptation for a vast number of applications.

[0088] The following is an exemplary description of the specific implementation process of this application embodiment, which includes the following steps: Step 1: Analyze the functional requirements of the massive application software within the cloud computer for peripheral devices.

[0089] For the massive number of applications within the cloud PC, analyze their peripheral device requirements, that is, identify the types of peripheral devices needed and the functions they require. For example, a 0 / 1 table can be created corresponding to the top 100 most used applications in the cloud PC and their required peripherals. 1 represents that the application requires the function of that peripheral device, and 0 represents that the application does not require that peripheral device. A list like Table 1 can be provided below: Table 1

[0090] Step 2: Perform Cartesian products on numerous application software programs and different peripheral devices to generate test cases for different application software programs and their corresponding one or more peripheral devices.

[0091] Because the complexity of each application software varies, the types of peripheral devices required also differ. Office software typically involves peripherals such as keyboards, mice, and USB drives. Conferencing and communication software, on the other hand, requires peripherals such as microphones, speakers, and cameras. Therefore, the peripheral devices required by various applications vary depending on their functions. A Cartesian product can be performed on numerous applications and their corresponding peripherals to generate test cases for one or more peripheral devices for each application.

[0092] Step 3: Generate the first control script for unified disconnection control of different types of peripheral devices.

[0093] To enable software-based disconnection and connection control of USB peripheral devices, a first control script needs to be generated. The specific steps are as follows: 1) Connect the peripheral device to be tested to the terminal (i.e., test device) of the cloud computer via a docking station.

[0094] 2) By writing a script (i.e., the aforementioned second control script), the vendor ID and product ID of the peripheral devices connected to the current terminal can be scanned. This can be obtained using a Python script, the core code of which is as follows: usb.core.find(find_all=True) It can obtain the vendor ID (vendor_id) and product ID (product_id) of all peripheral devices connected to the terminal. Subsequent scripts will establish a correspondence between the ID numbers and the specific peripheral devices and save them.

[0095] 3) Continue writing the script to uniquely identify the peripheral device using its product ID and manufacturer ID. Write Python code to connect and disconnect the USB device. This connection and disconnection is software-based, not physical. The Python code requires the pyusb library to be installed.

[0096] Pip install pyusb dev = usb.core.find(idVendor=vendor_id, idProduct=product_id) device_id = dev.device The code above retrieves the corresponding USB device using the vendor ID and product ID, and obtains the device's unique device ID on the system.

[0097] After obtaining the device ID, you can disconnect the peripheral using `detach_kernel_driver`, as shown in the following code: dev.detach_kernel_driver(device_id) Similarly, to connect to peripheral devices, you can use the `attach_kernel_driver` method to make the connection, as shown in the following code: dev.attach_kernel_driver(device_id) For example, once the script is written, it can be packaged into a human-computer interaction interface. Testers only need to select a peripheral device on the interface to connect and disconnect it, without physically plugging or unplugging the peripheral device.

[0098] Step 4: Integrate the script from Step 3 (i.e., the first control script) into the automation platform to achieve efficient testing of the compatibility of peripheral devices for numerous application software through automated testing.

[0099] For example, refer to Figure 2 The automated testing steps include: Step 201: Obtain multiple test cases.

[0100] Here, an automation platform can be deployed locally on the test equipment. This automation platform includes the aforementioned first control script and test cases for compatibility testing of multiple application software.

[0101] Step 202: Start the application software to be tested based on the current test case.

[0102] Here, test cases correspond to application software. Based on the corresponding test cases, compatibility testing of the corresponding application software can be initiated, and the application software to be tested can be initiated based on the instructions in the test cases.

[0103] Step 203: Call the script to connect to the corresponding peripheral device.

[0104] Here, after the application software to be tested is started, it can connect to any USB peripheral device that the application software needs to test based on the first control script.

[0105] Step 204: Begin compatibility testing between the application software and peripheral devices.

[0106] Here, after the peripheral devices are connected, the functions that require the peripheral devices are enabled based on the test cases, and the corresponding functions are checked to see if they are working properly. The compatibility test results between the application software and the current peripheral devices are also recorded.

[0107] Step 205: Call the script to disconnect the corresponding peripheral device.

[0108] Here, after completing the above compatibility test, the corresponding peripheral device can be disconnected based on the first control script.

[0109] Step 206: Determine if there is a peripheral device to be tested. If yes, proceed to step 207; otherwise, proceed to step 208.

[0110] Step 207: Call the next peripheral device and return to step 203.

[0111] Here, if the application software involves other peripheral devices, the next peripheral device is called and the process returns to step 203 to continue calling the script to start the corresponding peripheral device, perform compatibility testing, and record and archive the test results and the application software. Then, the script is called again to disconnect the USB peripheral device, and this process is repeated until the peripheral device corresponding to the test case has been tested, at which point step 208 is executed.

[0112] Step 208: Close the current application and record the compatibility test results of the application.

[0113] Step 209: Determine if there are any test cases to be tested. If yes, proceed to step 210; otherwise, proceed to step 211.

[0114] Step 210: Execute the next test case and return to step 202.

[0115] Here, the next application software to be tested is launched based on the next test case, and based on the above steps 202 to 208, the compatibility test results of one or more peripheral devices of the application software are obtained.

[0116] Step 211: After the test cases are executed, a final test report is generated based on the compatibility test results of each application software.

[0117] To implement the method of the embodiments of this application, the embodiments of this application also provide a compatibility testing device for cloud computer application software. This compatibility testing device for cloud computer application software corresponds to the compatibility testing method for cloud computer application software described above. The steps in the embodiments of the compatibility testing method for cloud computer application software are also fully applicable to the embodiments of the compatibility testing device for cloud computer application software described above.

[0118] Reference Figure 3 The compatibility testing device for the cloud computer application software includes an acquisition module 301 and a testing module 302. The acquisition module 301 acquires test cases for at least one application software of the cloud computer; each test case corresponds to an application software, and each test case includes test code corresponding to one or more peripheral devices. The testing module 302 starts the test cases for the at least one application software, and during the execution of each test case, switches the connection and disconnection states of one or more peripheral devices based on a first control script, thereby obtaining the compatibility test results between each application software and one or more peripheral devices.

[0119] In some embodiments, the test module 302 is specifically used for: For the current test case, based on the first control script, the peripheral devices of the current test case are sequentially controlled to change from a connected state to a disconnected state. In the connected state, the test code of the corresponding peripheral devices is run to obtain the compatibility test results between the application software and the corresponding peripheral devices.

[0120] In some embodiments, the test module 302 is specifically used for: If it is confirmed that the test code for each peripheral device in the current test case has been executed, then the next test case will be executed. The process continues until all test cases have been executed, yielding compatibility test results between each application software and one or more peripheral devices.

[0121] In some embodiments, the compatibility testing device for the cloud computer application software further includes: a generation module 303; an acquisition module 301 is further configured to acquire, based on a second control script, the manufacturer identifier and product identifier of each locally connected peripheral device before starting the test cases of the at least one application software; and to obtain a unique identifier for each peripheral device based on the acquired manufacturer identifier and product identifier; the generation module 303 is configured to generate the first control script based on the unique identifier of each peripheral device and control code for controlling the switching of the connection state and disconnection state of the peripheral device.

[0122] In some embodiments, the generation module 303 is further configured to: generate test cases for each application software based on the association between the application software and peripheral devices of the cloud computer.

[0123] In some embodiments, the acquisition module 301 is further configured to: acquire a first information set indicating the application software on the cloud computer and a second information set indicating the peripheral devices deployed on the test device; the generation module 303 is further configured to: obtain the association relationship between the application software and the peripheral devices of the cloud computer based on the Cartesian product of the first information set and the second information set and the peripheral device requirement information of each application software.

[0124] In some embodiments, if the application software on the cloud computer and / or the peripheral devices deployed on the test device are updated, the acquisition module 301 is further configured to: acquire the updated association relationship between the application software and the peripheral devices of the cloud computer; the generation module 303 is further configured to generate test cases for each application software based on the updated association relationship.

[0125] In practical applications, the acquisition module 301, the testing module 302, and the generation module 303 can be implemented by the processor in the testing device. Of course, the processor needs to run the computer program in memory to perform its functions.

[0126] It should be noted that the cloud computer application software compatibility testing device provided in the above embodiments is only illustrated by the division of the above program modules when performing compatibility testing of cloud computer application software. In actual applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device can be divided into different program modules to complete all or part of the processing described above. In addition, the cloud computer application software compatibility testing device and the cloud computer application software compatibility testing method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process is detailed in the method embodiments, which will not be repeated here.

[0127] Based on the hardware implementation of the above program modules, and in order to implement the method of the embodiments of this application, the embodiments of this application also provide a testing device. Figure 4 This is only an exemplary structure of the test equipment, not the entire structure; implementation is possible as needed. Figure 4 The structure shown may be part or all of the structure.

[0128] like Figure 4 As shown, the test device 400 provided in this embodiment includes at least one processor 401, a memory 402, a user interface 403, and at least one network interface 404. The various components in the test device 400 are coupled together via a bus system 405. It can be understood that the bus system 405 is used to implement communication between these components. In addition to a data bus, the bus system 405 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in… Figure 4 The general designated all buses as Bus System 405.

[0129] The user interface 403 may include a monitor, keyboard, mouse, trackball, click wheel, buttons, touchpad, or touch screen.

[0130] The memory 402 in this embodiment is used to store various types of data to support the operation of the test equipment. Examples of such data include any computer programs used to operate on the test equipment.

[0131] The cloud computer application software compatibility testing method disclosed in this application embodiment can be applied to or implemented by processor 401. Processor 401 may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the cloud computer application software compatibility testing method can be completed by the integrated logic circuits in the hardware of processor 401 or by software instructions. The processor 401 can be a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Processor 401 can implement or execute the methods, steps, and logic block diagrams disclosed in this application embodiment. A general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this application embodiment can be directly manifested as execution by a hardware decoding processor, or execution by a combination of hardware and software modules in the decoding processor. The software modules can be located in a storage medium, specifically memory 402. Processor 401 reads information from memory 402 and, in conjunction with its hardware, completes the steps of the cloud computer application software compatibility testing method provided in this application embodiment.

[0132] In an exemplary embodiment, the test device may be implemented by one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers (MCUs), microprocessors, or other electronic components to perform the aforementioned method.

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

[0134] In an exemplary embodiment, this application also provides a computer storage medium, specifically a computer-readable storage medium, such as a memory 402 storing a computer program. This computer program can be executed by the processor 401 of a test device to complete the steps described in the method of this application embodiment. The computer-readable storage medium can be a ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disc, or CD-ROM, etc.

[0135] In an exemplary embodiment, this application also provides a computer program product, including a computer program that can be executed by the processor 401 of the test device 400 to complete the steps described in the method of this application embodiment.

[0136] It should be noted that terms such as "first" and "second" are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0137] Furthermore, the technical solutions described in the embodiments of this application can be combined arbitrarily without conflict.

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

Claims

1. A compatibility testing method for cloud computer application software, characterized in that, include: Obtain test cases for at least one application software of the cloud computer; The test cases correspond to the application software, and each test case includes test code for the application software and one or more peripheral devices. The test cases of the at least one application software are started, and during the operation of each test case, the connection and disconnection states of one or more peripheral devices of the corresponding test case are switched based on the first control script to obtain the compatibility test results of each application software with one or more peripheral devices.

2. The method according to claim 1, characterized in that, During the execution of each test case, the connection and disconnection states of one or more peripheral devices for the corresponding test case are switched based on the first control script, thereby obtaining the compatibility test results between each application software and one or more peripheral devices, including: For the current test case, based on the first control script, the peripheral devices of the current test case are sequentially controlled to change from a connected state to a disconnected state. In the connected state, the test code of the corresponding peripheral devices is run to obtain the compatibility test results between the application software and the corresponding peripheral devices.

3. The method according to claim 2, characterized in that, During the execution of each test case, the connection and disconnection states of one or more peripheral devices for the corresponding test case are switched based on the first control script to obtain the compatibility test results between each application software and one or more peripheral devices, and the method further includes: If it is confirmed that the test code for each peripheral device in the current test case has been executed, then the next test case will be executed. The process continues until all test cases have been executed, yielding compatibility test results between each application software and one or more peripheral devices.

4. The method according to claim 1, characterized in that, Before launching the test cases of the at least one application software, the method further includes: The second control script is used to obtain the manufacturer and product identifiers of each locally connected peripheral device. Based on the obtained manufacturer identifier and product identifier of each peripheral device, a unique identity identifier for each peripheral device is obtained; The first control script is generated based on the unique identifier of each peripheral device and the control code used to control the switching between the connection and disconnection states of the peripheral devices.

5. The method according to claim 1, characterized in that, The method further includes: Based on the relationship between application software and peripheral devices in cloud computing, test cases are generated for each application software.

6. The method according to claim 5, characterized in that, The method further includes: Acquire a first set of information indicating the application software on the cloud computer and a second set of information indicating the peripheral devices deployed on the test device; Based on the Cartesian product of the first information set and the second information set, as well as the peripheral device requirements of each application software, the association between the application software and peripheral devices of the cloud computer is obtained.

7. The method according to claim 6, characterized in that, If the application software on the cloud computer and / or the peripheral devices deployed on the test device are updated, the method further includes: Obtain the updated association between the application software and peripheral devices of the cloud computer; Based on the updated association, test cases for each application software are generated.

8. A compatibility testing device for cloud computer application software, characterized in that, include: The acquisition module is used to acquire test cases for at least one application software of the cloud computer; The test cases correspond to the application software, and each test case includes test code for the application software and one or more peripheral devices. The testing module is used to launch test cases of the at least one application software, and during the operation of each test case, to switch the connection state and disconnection state of one or more peripheral devices of the corresponding test case based on the first control script, so as to obtain the compatibility test results of each application software with one or more peripheral devices.

9. A testing device, characterized in that, include: A processor and memory for storing computer programs that can run on the processor, wherein, The processor, when running a computer program, performs the steps of the method according to any one of claims 1 to 7.

10. A computer storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.

11. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.