Terminal testing method, platform, electronic device, storage medium and product

By combining the agent module, playback module, and acquisition module, the automated testing of set-top boxes is decoupled, solving the problems of high performance, poor compatibility, and insufficient security of existing test terminals, and improving testing accuracy and efficiency.

CN122138007APending Publication Date: 2026-06-02ZTE CORP

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
ZTE CORP
Filing Date
2024-12-02
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

Existing automated testing methods for set-top boxes have high requirements for the performance of the test terminals, resulting in inaccurate test results and inability to adapt to different operating systems and meet security requirements.

Method used

By employing a combination of a proxy module, a playback module, and a data acquisition module, the test terminal's video information is acquired, the playback module samples the video information, and the proxy module controls the sampling process. This avoids direct control of the test terminal's internal operating system and decouples the test terminal from the test platform.

Benefits of technology

It reduces the performance requirements of the test terminal, improves the accuracy of the test, meets the compatibility and security requirements of different terminals, and reduces resource consumption and manpower costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122138007A_ABST
    Figure CN122138007A_ABST
Patent Text Reader

Abstract

This application provides a terminal testing method, platform, electronic device, storage medium, and product. The terminal testing method is applied to a testing platform, which includes a proxy module, a playback module, and a data acquisition module. The method includes: acquiring video information from the test terminal through the data acquisition module; acquiring and playing the video information through the playback module; controlling the playback module to sample the played video information through the proxy module to obtain a test dataset; and analyzing the test dataset to obtain the test results of the test terminal. This application aims to reduce the performance requirements of the test terminal during testing and improve testing accuracy.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of automated testing technology, and in particular to a terminal testing method, platform, electronic device, storage medium, and product. Background Technology

[0002] Testing is the last line of defense for product quality and plays a crucial role in the entire product delivery process. For set-top boxes, which serve as the information access and user operation interface for digital television systems, testing is the final critical step in ensuring commercial viability.

[0003] In current automated system testing of set-top boxes, methods typically involve taking screenshots and recording video of the operation process using graphical menus and buttons based on windows or internal pages. However, the industry-standard AI-based automated testing methods for automatic screenshotting, recording, and analysis place high demands on the performance of the testing terminal, affecting the test results. How to reduce the performance requirements of the testing terminal and improve testing accuracy is a problem that urgently needs to be discussed and solved. Summary of the Invention

[0004] This application provides a terminal testing method, platform, electronic device, storage medium, and product, aiming to reduce the performance requirements of the test terminal during the testing process and improve the test accuracy.

[0005] In a first aspect, embodiments of this application provide a terminal testing method applied to a testing platform, the testing platform including a proxy module, a playback module, and a data acquisition module; the method includes: acquiring video information of the test terminal through the data acquisition module; acquiring and playing the video information through the playback module; controlling the playback module through the proxy module to sample the played video information to obtain a test dataset; and analyzing the test dataset to obtain the test results of the test terminal.

[0006] Secondly, embodiments of this application provide a terminal testing platform, including: a collection module for collecting video information of a test terminal; a playback module for acquiring and playing the video information; a proxy module for controlling the playback module to sample the played video information to obtain a test dataset; and an analysis module for analyzing the test dataset to obtain the test results of the test terminal.

[0007] Thirdly, embodiments of this application provide an electronic device, including: at least one processor; at least one memory for storing at least one program; and when at least one of the programs is executed by at least one of the processors, implementing the terminal testing method as described in the first aspect.

[0008] Fourthly, embodiments of this application provide a computer-readable storage medium, characterized in that the computer-readable storage medium stores computer-executable instructions for performing the terminal testing method as described in the first aspect.

[0009] Fifthly, embodiments of this application provide a computer program product, including a computer program or computer instructions, characterized in that the computer program or computer instructions are stored in a computer-readable storage medium, a processor of a computer device reads the computer program or computer instructions from the computer-readable storage medium, and the processor executes the computer program or computer instructions, causing the computer device to perform the terminal testing method as described in the first aspect.

[0010] In this embodiment, the test platform includes at least a proxy module, a playback module, and a data acquisition module. During testing, the acquisition module collects video information from the test terminal, and the playback module, in response to the control of the proxy module, samples the test dataset. The test terminal only needs to maintain normal operation; it does not need to respond to instructions to collect or upload test data. This avoids impacting the test terminal's resource consumption and performance during testing. Since the dataset required for testing is based on the video information collected by the acquisition module and sampled on the test platform side, it does not involve control of the test terminal's internal operating system scripts. By configuring different modules to execute corresponding actions, the test terminal and test platform are decoupled, thus ensuring compatibility with various test terminals and meeting security and test terminal performance requirements.

[0011] Other features and advantages of this application will be set forth in the following description and will be apparent in part from the description or may be learned by practicing the application. The objectives and other advantages of this application may be realized and obtained by means of the structures particularly pointed out in the description, claims and drawings. Attached Figure Description

[0012] Figure 1 A test system for the terminal testing method provided in one embodiment of this application;

[0013] Figure 2 A flowchart of a terminal testing method provided in an embodiment of this application;

[0014] Figure 3 A flowchart illustrating the set-top box testing process provided as an example in this application;

[0015] Figure 4 This is a schematic diagram of the structure of a terminal testing platform provided in one embodiment of this application;

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

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

[0018] It should be noted that although functional modules are divided in the device schematic diagram and a logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the device or the order in the flowchart. The terms "first," "second," etc., in the specification, claims, and the aforementioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.

[0019] In the description of the embodiments of this application, unless otherwise expressly limited, terms such as setting, installing, and connecting should be interpreted broadly, and those skilled in the art can reasonably determine the specific meaning of the above terms in the embodiments of this application in combination with the specific content of the technical solution.

[0020] In this application, the terms "furthermore," "exemplarily," or "optionally" are used as examples, illustrations, or descriptions and should not be construed as being more preferred or advantageous than other embodiments or designs. The use of terms such as "furthermore," "exemplarily," or "optionally" is intended to present the relevant concepts in a specific manner.

[0021] Before providing a further detailed description of the embodiments of this application, the nouns and terms used in the embodiments of this application are explained, and the nouns and terms used in the embodiments of this application shall be interpreted as follows:

[0022] IPTV (Internet Protocol Television): IPTV is a television service based on the Internet Protocol (IP), delivering television content directly to users' homes via cable networks, DSL, or fiber optic broadband. It relies on dedicated networks provided by telecommunications operators to ensure network bandwidth and video quality.

[0023] OTT (Over-The-Top): OTT refers to services that provide various video and data services to users via the internet, bypassing traditional cable or satellite TV platforms. Users can access content without subscribing to traditional cable TV services.

[0024] DVB (Digital Video Broadcasting): DVB is a digital video broadcasting standard that involves a large number of technical specifications and is used for digital television transmission in terrestrial, satellite and cable television networks;

[0025] HDMI (High-Definition Multimedia Interface): is a digital interface standard used to transmit high-definition video and audio signals;

[0026] CVBS (Composite Video Broadcast Signal): A traditional audio and video signal interface widely used in broadcast television, security monitoring, and home entertainment equipment;

[0027] PC: Personal Computer, is a small, flexible, inexpensive and easy-to-use computer.

[0028] In related technologies, testing is the last line of defense for product quality and occupies a crucial position in the entire product delivery process. For set-top boxes, which serve as the information access and user operation entry point for digital television systems, testing is the final critical step in ensuring commercial viability. Because set-top boxes from different manufacturers support different operating systems and are designed and manufactured using different hardware and software frameworks, and with the increasing richness of television content formats and application scenarios, set-top boxes are required to support more complex television operations and user experiences. This brings new requirements and complexity to the system testing of set-top boxes before they leave the factory. Currently, automated system testing of set-top boxes generally relies on methods based on graphical menus and buttons on windows or internal pages to take screenshots and record video of the operation process. However, such automated processes face the following problems:

[0029] 1) Application and resource consumption issues of computer image technology: Image recognition, as one of the fundamental technologies of AI (Artificial Intelligence), has been widely used in various industries, such as image similarity comparison analysis and image text extraction. However, this technology requires a large amount of memory and CPU computing resources from the device, which cannot be directly applied to set-top boxes, which have limited resources and strict performance evaluation criteria.

[0030] 2) The diversity of set-top box operating systems and hardware / software means that current automated testing systems cannot be adapted to every device: Set-top boxes are divided into Android-based set-top boxes (e.g., IPTV / OTT (Over-The-Top) set-top boxes) and set-top boxes with embedded operating systems (slimmed-down Linux operating systems, such as DVB set-top boxes (receiving digital satellite TV, terrestrial waves, and coaxial cable signals)). Android set-top boxes use the open-source Android platform, offering good openness and adaptability, and many third-party apps can be used for automated testing. However, this also introduces many security risks and system vulnerabilities, which is unacceptable for large-scale commercial operators. DVB set-top boxes, on the other hand, have dedicated operating systems and software platforms, possessing strong stability and security, and prohibit the execution of commands and scripts commonly used in the operating system but unrelated to business operations. This severely limits the available automated testing tools and platforms for integration.

[0031] 3) Technical requirements for product security: As a device for TV users to access and operate, the set-top box product directly faces the end user. Operators have strict security regulations and do not allow any backdoors or vulnerabilities that threaten product security. They require that all ports and permissions unrelated to business in the system be blocked. This greatly limits the tools and methods that can be selected for automated testing. For example, in the commercial version, any testing method that logs into the set-top box system through a super user is not allowed. Testers cannot perform remote screenshot and recording operations through the set-top box.

[0032] 4) Product cost and performance technical requirements: When operators procure set-top box products, they have clear and strict requirements for the performance indicators. Therefore, any test method that consumes a lot of the set-top box's performance resources will not be used easily. It must be ensured that the test does not affect the business performance of the tested object. For example, using the industry-standard AI automatic screenshot, recording and analysis automated test method will consume a lot of set-top box CPU resources and memory, which will not meet the operator's requirements for set-top box performance testing.

[0033] To address the aforementioned issues, embodiments of this application provide a terminal testing method, platform, electronic device, storage medium, and product. The testing platform includes at least a proxy module, a playback module, and a data acquisition module. The data acquisition module collects video information from the test terminal, the playback module plays the collected video information, the proxy module controls the playback module to sample the played video information to obtain a test dataset, and finally, the test dataset is analyzed to obtain the test results of the test terminal.

[0034] During testing, the acquisition module collects video information from the test terminal, and the playback module, responding to the control of the proxy module, samples the test dataset. The test terminal only needs to maintain normal operation; it does not need to respond to commands to collect or upload test data. This avoids impacting the test terminal's resource consumption and performance during testing. Since the dataset required for testing is based on sampling of the video information from the test terminal collected by the acquisition module on the test platform side, it does not involve control of the test terminal's internal operating system scripts. By configuring different modules to execute corresponding actions, decoupling the test terminal from the test platform is achieved, thus ensuring compatibility with various test terminals and meeting security and test terminal performance requirements.

[0035] In some embodiments of this application, the proxy module controls the playback module based on windowless message manipulation, employing a separate proxy module and playback module. The proxy module controls the playback block using windowless messages, replacing the traditional Application Programming Interface (API) and Software Development Kit (SDK) call methods. Based on multithreading, the playback module implements real-time, random screenshot and recording functions, and can generate test result images and videos. Image analysis technology is then used through a remote control module to automate the testing of functions and performance such as set-top box channel switching, mouse focus movement, and page switching. This improves the accuracy and effectiveness of testing, meets product safety requirements, reduces manpower consumption during the testing phase, and increases the efficiency of the testing terminal.

[0036] The embodiments of this application will be further described below with reference to the accompanying drawings.

[0037] Figure 1 A test system for the terminal testing method provided in one embodiment of this application. For example... Figure 1 As shown, the test system includes, but is not limited to: a main control module, an agent module, a playback module, a data acquisition module, a remote control module, and relays.

[0038] The testing system is typically deployed on a server. The main control module, agent module, and playback module can be deployed on a single server or separately. The acquisition module, remote control module, and relays can be deployed on the server or connected as peripheral devices via USB, serial port, or Ethernet port. In this application, the server can be a single high-performance computer within a network platform, a cluster of multiple high-performance computers, a portion of a single high-performance computer (e.g., a virtual machine), or a combination of portions of multiple high-performance computers (e.g., virtual machines).

[0039] In the testing system, the main control module is used to store test cases and test data, and to control and coordinate the operation of the entire testing system.

[0040] The proxy module receives commands from the main control module and forwards them to the playback module, enabling operations such as starting the playback module, taking screenshots, recording screens, and exiting. This completely decouples the playback module, the test equipment, and the main control module, avoiding hardware and software differences between different manufacturers and devices.

[0041] The playback module receives commands from the agent module to perform operations such as starting playback, taking screenshots, recording screens, and exiting. For example, the playback module reads the video information captured by the acquisition module according to the command parameters issued by the agent module, plays it at the set frame rate (e.g., 100 milliseconds / frame), and can take single or consecutive screenshots based on received message commands. It can also name, reorder, or sequentially sort the screenshots and save the data to a specified path.

[0042] The acquisition module is used to acquire video data from the test equipment, providing a data source for the playback module. Exemplarily, the acquisition module can be a USB video capture card, an embedded camera, or an external camera. In one example, the capture card converts the set-top box's HDMI output to a USB output to the server hosting the test system, providing the playback module with the video data corresponding to the test equipment. In another example, if a camera is used for acquisition, the camera needs to be angled towards the display device (TV or monitor) output by the test equipment for taking photos or recording, where the photo taking and recording are controlled by the playback module.

[0043] The remote control module responds to commands from the main control module to control the test equipment, thereby simulating normal user operation of the test equipment to achieve fully automated testing. For example, the remote control module can be an infrared simulator, a Bluetooth remote control simulator, etc., and the simulator can connect to the server via a USB interface or serial port.

[0044] The relay is used to supply power to the test equipment and respond to commands from the main control module to perform operations such as power-off and restart of the test equipment. For example, the relay can be connected to the server where the main control module resides via a network port, allowing the main control module to directly control the relay through the network.

[0045] The test equipment is a set-top box, used to receive and play various video streams or signal sources such as IPTV, OTT, and DVB. For example, the set-top box includes IPTV, OTT, and DVB set-top boxes. Depending on the type of set-top box, different video streams or signal sources are connected, and video playback information is output to a video capture card or display device such as a monitor or television via HDMI or CVBS.

[0046] The testing equipment can be connected to the testing system via wired or wireless means. In this embodiment, the testing equipment only needs to be able to receive commands from the remote control module to perform operations such as channel switching, mouse focus movement, and page switching, and to be able to have relevant video information acquired by the acquisition module.

[0047] In one embodiment, multiple playback modules can be configured, and the proxy module controls multiple playback modules concurrently through multi-threading.

[0048] In one embodiment, multiple acquisition modules may be configured, and each acquisition module may acquire video information from at least one test device.

[0049] The embodiments of this application can be applied in various scenarios, such as set-top box testing. Taking a set-top box test as an example:

[0050] The set-top box under test is connected to the relay of the test system and then connected to the test system. The test system starts the test by running the main control module, which sends a command to the relay to control the set-top box to turn on. The acquisition module collects video information from the set-top box.

[0051] The main control module sends the player start command and the device parameters corresponding to the set-top box to the agent module. The agent module responds to the command and controls the playback module to start. The playback module obtains the video information from the set-top box and plays it.

[0052] The main control module sends operation commands to the remote control module for the set-top box. The remote control module then performs user operations on the set-top box according to the commands, such as moving the menu mouse, switching channels, and searching for programs.

[0053] The main control module sends screenshot or screen recording commands to the agent module. The agent module controls the playback module to sample the video information being played (i.e., screenshot or screen recording) based on the commands to obtain the test dataset.

[0054] The main control module analyzes the test dataset to obtain the test results of the test terminal.

[0055] In the example above, during testing, the acquisition module collects video information from the set-top box, and the playback module, responding to the control of the proxy module, samples the test dataset. The test terminal only needs to maintain normal operation; it does not need to respond to instructions to collect or upload test data. This avoids impacting the test terminal's resource consumption and performance during testing. Since the dataset required for testing is based on the video information collected by the acquisition module from the test terminal and sampled on the test platform side, it does not involve control of the test terminal's internal operating system scripts. By configuring different modules to execute corresponding actions, decoupling the test terminal from the test platform is achieved, thus ensuring compatibility with various test terminals and meeting security and test terminal performance requirements.

[0056] It should be understood that the above description only illustrates some application scenarios of this application. The business scenarios to which this application can be applied may include, but are not limited to, the specific embodiments described above.

[0057] Figure 2 This is a flowchart illustrating a terminal testing method provided in an embodiment of this application. This terminal testing method can be applied to, but is not limited to, computer devices, servers, test platforms including at least a proxy module, a playback module, and a capture module, or other similar devices. Figure 1 The test system shown Figure 1 The main control module, etc. Figure 2 As shown, the terminal testing method includes, but is not limited to:

[0058] Step 210: Collect video information from the test terminal using the acquisition module;

[0059] Step 220: Obtain video information and play it through the playback module;

[0060] Step 230: Control the playback module through the proxy module to sample the video information being played, and obtain the test dataset;

[0061] Step 240: Analyze the test dataset to obtain the test results of the test terminal.

[0062] In step 210, the acquisition module refers to a device or module used to acquire video information of the test terminal during operation. For example, the acquisition module can be a USB video capture card, an embedded camera, or an external camera. By configuring the acquisition module, the test terminal does not need to upload video data independently, reducing resource consumption on the test terminal.

[0063] A test terminal refers to a terminal device used to receive and play various video streams or signal sources such as IPTV, OTT, and DVB. For example, a set-top box includes IPTV, OTT set-top boxes, and DVB set-top boxes.

[0064] In step 220, the playback module refers to the module used to acquire and play video information from the test terminal. The playback module can play data from the acquisition device (video capture card or camera) according to command parameters and at a preset frame rate. By playing video information from the test terminal through the playback module, image recognition and test data acquisition can be performed on the video. The test terminal does not need to perform acquisition and reporting actions to maintain normal operation, thus avoiding resource consumption on the test terminal.

[0065] In step 230, the proxy module refers to the player proxy set up between the main control module and the playback module. It receives commands from the main control module and forwards them to the playback module, enabling operations such as starting, taking screenshots, recording, and exiting the playback module. The proxy module can bypass protocols or formats not supported by the playback module, achieving transcoding of video data in different formats. This completely decouples the playback module, the main control module, and the test terminal, avoiding hardware and software differences between different manufacturers and devices.

[0066] Sampling video information refers to capturing video playback frames by performing operations such as single screenshots, multiple screenshots, and screen recording on the video played by the playback module. These captured video frames or segments are then processed to obtain the test dataset.

[0067] In step 240, analyzing the test dataset means that the main control module performs operations such as image recognition and text extraction on the test dataset according to the preset test rules and objectives, and judges whether the relevant content in the test dataset meets the expectations.

[0068] It should be noted that if steps 210 to 240 above are applied to a test platform or, for example... Figure 1 The main control module within the provided testing system is the corresponding execution entity.

[0069] In steps 210 to 240 above, the test platform includes at least a proxy module, a playback module, and a data acquisition module. The acquisition module collects video information from the test terminal, which is then played back by the playback module. The proxy module controls the playback module to sample the played video information to obtain a test dataset. Finally, the test dataset is analyzed to obtain the test results for the test terminal. During the test, the acquisition module collects video information from the test terminal, and the playback module, in response to the control of the proxy module, samples the test dataset. The test terminal only needs to maintain normal operation; it does not need to respond to instructions to collect or upload test data. This avoids impacting the test terminal's resource consumption and performance during the test. Since the dataset required for the test is based on the video information collected by the acquisition module and sampled on the test platform side, it does not involve control of the test terminal's internal operating system scripts. By configuring different modules to execute corresponding actions, the test terminal and the test platform are decoupled, thus ensuring compatibility with various test terminals and meeting security and test terminal performance requirements.

[0070] The above is a general description of steps 210 to 240. The following is a detailed description of the specific implementation process of steps 210 to 240.

[0071] In one embodiment, the test platform further includes a remote control module. Step 210 includes:

[0072] The test terminal is controlled via a remote control module to perform test operations.

[0073] The acquisition module collects video information generated by the test terminal based on the test operation.

[0074] In this embodiment, the remote control module refers to a device or module used to simulate a user's remote control of the test terminal under actual usage conditions. Under the control of the main control module, the remote control module performs operations on the test terminal that simulate a user's use of a set-top box, such as moving the menu mouse, switching channels, and searching for programs. For example, the remote control module can be an infrared remote control connected via a USB port or serial port, or a Bluetooth remote control controlled via the Bluetooth protocol.

[0075] The main control module controls the remote control module to remotely control the test terminal, simulating user control of the test terminal to perform operations such as menu mouse movement, channel switching, and program search. The acquisition module collects video information of the test terminal during this process. The collected video information includes the screen of the test terminal performing relevant operations, which is used for subsequent sampling and analysis of test data.

[0076] The above embodiments utilize a remote control module to simulate user control of the test terminal, achieving fully automated testing. Compared to related technologies that simulate operation software via API interfaces or third-party programs, the remote control module in this embodiment does not require an API interface for the test equipment, thus meeting security requirements. Furthermore, all operations performed by the test terminal are normal operations, eliminating the need for third-party programs to run on the test terminal, further reducing resource consumption.

[0077] In one embodiment, step 220 includes:

[0078] The terminal identifier is sent to the playback module through the proxy module;

[0079] The frame rate of the playback module is set according to the terminal identifier, and the video information corresponding to the terminal identifier is determined.

[0080] The playback module plays the video information corresponding to the terminal identifier based on the frame rate.

[0081] In this embodiment, the terminal identifier refers to the identifier of the test terminal. After the test terminal connects to the test system / platform, the main control module obtains the terminal identifier of the connected test terminal. The playback module obtains the corresponding video frame rate of the test terminal through the terminal identifier and sets its own frame rate to correspond to the test terminal's video frame rate, thus achieving video adaptation for the test terminal. The playback module can also identify the corresponding test terminal through the terminal identifier and obtain the corresponding video information. In scenarios where multiple test terminals are tested simultaneously, the playback module can accurately obtain the video information of the test terminal corresponding to the terminal identifier from the video information of multiple test terminals, preventing mistransmission and improving test accuracy.

[0082] In one embodiment, step 230 includes:

[0083] The proxy module sends control commands to the playback module based on windowless messages;

[0084] The test dataset is obtained by sampling video information through the playback module in response to control commands.

[0085] In this embodiment, windowless messages refer to messages that are not processed through the traditional window message loop, but rather through other mechanisms for transmission and reception. Control commands are instructions generated by the proxy module in response to instructions from the main control module, used to control the playback module to perform operations such as starting, taking screenshots, recording, pausing, and closing. In other embodiments, control commands can also be instructions forwarded by the proxy module based on instructions from the main control module.

[0086] After receiving control commands from the main control module, the proxy module forwards the corresponding commands to the playback module using windowless messages. This automatically controls the playback module's startup, screenshotting, and recording operations, ensuring the real-time performance and coordination of the overall testing system. By transmitting control commands through windowless messages, there's no need to create windows for the proxy module or playback module, reducing resource consumption and instantiation time overhead, and improving the efficiency of the overall testing process.

[0087] In one embodiment, a test dataset is obtained by sampling video information in response to control commands by a playback module, including:

[0088] The playback module extracts multiple target frames and multiple target segments from the video information according to control commands.

[0089] The target frames and target segments are named and sorted according to a preset strategy to obtain the test dataset.

[0090] In this embodiment, the target frame is a video frame obtained by the playback module from the video information of the test terminal being played, based on control commands. The target segment is a video segment obtained by the playback module from the screen recording of the video information of the test terminal being played, based on control commands.

[0091] For example, a preset strategy could be to sort the target frames and target segments separately according to their capture time, number them according to the capture order, and name them in conjunction with the corresponding test terminal identifier. Alternatively, the strategy could be to classify the target segments based on their correspondence. Target segments and their associated target frames could be grouped together, with target frames within each group sorted and numbered chronologically. Between each group, the target segments could be sorted and numbered according to the capture order of their respective segments.

[0092] The above embodiment uses a playback module decoupled from the test terminal to extract, sort, and name target frames and segments of the video played by the test terminal to obtain a test dataset. Without special hardware, it achieves automatic screenshotting, recording, and analysis of the test terminal, eliminating the need for the test terminal to manually extract and upload test datasets, thus reducing the test system's resource consumption and performance impact on the test terminal. Furthermore, this embodiment does not require the set-top box to open additional access permissions and ports, meeting the product security requirements of the test terminal.

[0093] In one embodiment, the test platform includes multiple playback modules. Step 230 includes:

[0094] Multiple control threads are started through the proxy module, and each control thread corresponds one-to-one with the playback module;

[0095] The proxy module controls the corresponding playback module based on the control thread to sample the video information being played, thus obtaining a test dataset. The playback module corresponds one-to-one with the video information.

[0096] In this embodiment, a control thread refers to an independent execution unit within the terminal testing process. It is the basic unit of system scheduling and can be executed concurrently. The proxy module, based on multiple control threads, can concurrently control multiple playback modules corresponding to those control threads, enabling simultaneous control of multiple playback modules to play video information from their respective test terminals and perform operations such as screenshotting and screen recording to collect test data from multiple test terminals.

[0097] The above embodiments achieve simultaneous sampling and testing of multiple test terminals by controlling multiple playback modules concurrently through multi-threading, thereby improving the working efficiency of the testing system.

[0098] In one embodiment, step 240 includes:

[0099] Based on the preset test rules and test objectives, determine the target analysis area;

[0100] Based on the target analysis region, image recognition and text extraction are performed on each target frame and each target fragment in the test dataset to obtain the target image and target text.

[0101] The test results are obtained by comparing and analyzing the target image and target text.

[0102] In this embodiment, the preset test rules refer to the analysis process and rules for the test dataset that are pre-set based on the test requirements. For example, the selection rules for the analysis area of ​​the image or video clip in the test dataset, or the rules for matching screenshots with the expected results to identify whether they meet the expectations.

[0103] The test objective refers to the test performance target set according to the test requirements. For example, the test objective can be to test the response time of the test terminal, to test the image quality of the test terminal, or to test the user interface of the test terminal.

[0104] The target analysis region refers to the key area of ​​focus in an image, determined according to the testing rules and testing objectives; for example, the entire image, a single specified region, or multiple different regions may be used as the target analysis region.

[0105] Comparative analysis of target images and target text refers to comparing the target image and / or target text with the expected image or text, analyzing whether the target image and target text obtained from the test dataset match the expectation, thereby determining whether the test result is qualified or scoring to obtain the corresponding test result.

[0106] In some embodiments, the time consumed can be calculated based on the number of target frames and the playback frame rate obtained from the video information collected from the test terminal, thereby calculating the switching performance and operation performance such as mouse focus movement of the test terminal and automatically generating an automatic test result report.

[0107] The following example provides a comprehensive and detailed description of the terminal testing method of this application. It is understood that the following embodiments are merely illustrative examples to better illustrate the terminal testing method of this application and are not intended to limit its scope.

[0108] Figure 3 The flowchart illustrates the set-top box testing process provided as an example in this application.

[0109] For example, such as Figure 3 As shown, the test terminal is a set-top box, and the test system includes a main control module, a proxy module, a playback module, a data acquisition module, a remote control module, and relays.

[0110] Taking a set-top box as an example, the testing process is as follows:

[0111] S000: The information source has been successfully connected to the set-top box under test, and the corresponding information has been input into the set-top box under test;

[0112] S001: Run the main control module and start the test case scripts for automated testing;

[0113] S002: After the main control module starts successfully, it sends a command to the relay to power on the set-top box;

[0114] S003: The relay executes the power-on command to supply power to the set-top box;

[0115] S004: The set-top box powers on and receives signals from the information source; all subsequent operations that require restarting the set-top box follow this process; the set-top box starts up and connects to the test system, reporting its unique identifier ID to the test system;

[0116] S005: Start the agent module using the script command line;

[0117] S006: The main control module sends a command to the agent module to start the playback module, and the command carries the set-top box's unique identifier ID parameter;

[0118] S007~S008: After receiving the command to start the playback module and the unique identifier ID of the set-top box from the main control module, the agent module starts the playback module thread, creates a message queue, sets the default frame rate of the playback module, and the playback module starts.

[0119] S009: The playback module reads video data captured by the video capture card from the set-top box, or reads video captured by the camera from the set-top box, and plays it; where the video capture card or camera is the capture module.

[0120] S010: The main control module sends operation commands to the set-top box to the remote control module according to the test case script, so as to simulate the user's remote control operation of the set-top box;

[0121] S011: The remote control module controls the set-top box under test and sends operation commands to the set-top box, such as menu mouse movement, channel switching, program search, etc. The remote control module can be an infrared remote control connected via USB port or serial port, or a Bluetooth remote control controlled via Bluetooth protocol.

[0122] S012: Depending on the different test case scripts being executed, the main control module sends a command to the agent module to take a single screenshot or a series of screenshots.

[0123] S013~S014: The proxy module forwards the corresponding command to the playback module thread through windowless messages, realizes the screenshot and recording of the test result video (i.e. the video of the set-top box captured by the acquisition module), and names and sorts the obtained images according to the set logic, obtains the test dataset and saves it in the specified directory, so as to prepare data for subsequent image comparison and analysis.

[0124] S015~S016: The main control module acquires screenshots or recorded images, and uses image analysis technology to perform image recognition, text extraction, and comparison based on the test rules and objectives, whether for the entire page, a single specified area, or multiple areas with different requirements, to check whether the test results match expectations. Alternatively, it can calculate the time consumed based on the number of screenshots and the playback frame rate, thereby calculating the set-top box's channel switching performance and mouse focus movement performance, and automatically generating a test result report.

[0125] In the example above, the proxy module controls the playback module using windowless messages. The proxy module and playback module are separated, and the proxy module controls the playback block using windowless messages, replacing the traditional Application Programming Interface (API) and Software Development Kit (SDK) call methods. Based on multithreading, the playback module implements real-time, random screenshot and recording functions, and can generate test result images and videos. Image analysis technology is then used through a remote control module to automate the testing of functions and performance such as set-top box channel switching, mouse focus movement, and page switching. This improves the accuracy and effectiveness of testing, meets product safety requirements, reduces manpower consumption during the testing phase, and increases the efficiency of the testing terminal.

[0126] Figure 4 This is a schematic diagram of the structure of a terminal testing platform provided in an embodiment of this application. The terminal testing platform 400 includes, but is not limited to:

[0127] Acquisition module 410 is used to acquire video information from the test terminal;

[0128] The playback module 420 is used to acquire video information and play it.

[0129] The proxy module 430 is used to control the playback module 420 to sample the video information being played to obtain a test dataset;

[0130] Analysis module 440 is used to analyze the test dataset to obtain the test results of the test terminal.

[0131] It should be noted that each module of the terminal testing platform 400 in this application embodiment can also be used to execute the specific implementation details of the terminal testing methods provided in the above embodiments. That is, the terminal testing platform 400 in this application embodiment can also be used to execute any or a combination of the above embodiments, which will not be repeated here.

[0132] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. For example... Figure 5 As shown, the electronic device 2000 includes a memory 2100 and a processor 2200. The number of memory 2100 and processor 2200 can be one or more. Figure 5 Taking a memory 2101 and a processor 2201 as an example; the memory 2101 and processor 2201 in the network device can be connected via a bus or other means. Figure 5 Taking the example of a connection between China and Israel via a bus.

[0133] The memory 2101, as a computer-readable storage medium, can be used to store software programs, computer-executable programs, and modules, such as program instructions / modules corresponding to the methods provided in any embodiment of this application. The processor 2201 implements the terminal testing method provided in any of the above embodiments by running the software programs, instructions, and modules stored in the memory 2101.

[0134] Memory 2101 may primarily include a program storage area and a data storage area, wherein the program storage area may store the operating system and application programs required for at least one function. Furthermore, memory 2101 may include high-speed random access memory and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other non-volatile solid-state storage device. In some instances, memory 2101 further includes memory remotely located relative to processor 2201, and this remote memory can be connected to the device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0135] One embodiment of this application also provides a computer-readable storage medium storing computer-executable instructions for performing a terminal testing method as provided in any embodiment of this application.

[0136] An embodiment of this application also provides a computer program product, including a computer program or computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer program or computer instructions from the computer-readable storage medium and executes the computer program or computer instructions, causing the computer device to perform a terminal testing method as provided in any embodiment of this application.

[0137] The system architecture and application scenarios described in this application are intended to more clearly illustrate the technical solutions of this application and do not constitute a limitation on the technical solutions provided in this application. Those skilled in the art will understand that as system architectures evolve and new application scenarios emerge, the technical solutions provided in this application are also applicable to similar technical problems.

[0138] Those skilled in the art will understand that all or some of the steps in the methods disclosed above, as well as the functional modules / units in the systems and devices, can be implemented as software, firmware, hardware, or suitable combinations thereof.

[0139] In hardware implementations, the division between functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed collaboratively by several physical components. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit. Such software may be distributed on a computer-readable medium, which may include computer storage media (or non-transitory media) and communication media (or transient media). As is known to those skilled in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible to a computer. Furthermore, as is known to those skilled in the art, communication media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.

[0140] The terms “component,” “module,” “system,” etc., used in this specification are used to refer to computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, or a computer. As illustrated, applications running on computing devices and computing devices can both be components. One or more components may reside in a process or execution thread, and components may be located on a single computer or distributed among two or more computers. Furthermore, these components can be executed from various computer-readable media on which various data structures are stored. Components can communicate, for example, via local or remote processes based on signals having one or more data packets (e.g., data from two components interacting with another component between a local system, a distributed system, or a network, such as the Internet interacting with other systems via signals).

[0141] The above description, with reference to the accompanying drawings, illustrates some embodiments of this application, but does not limit the scope of this application. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and spirit of this application shall be within the scope of this application.

Claims

1. A terminal testing method, characterized in that, It is applied to a testing platform, which includes an agent module, a playback module, and a data acquisition module; The method includes: The acquisition module collects video information from the test terminal. The video information is obtained and played through the playback module; The proxy module controls the playback module to sample the video information being played, thereby obtaining a test dataset; The test results of the test terminal are obtained by analyzing the test dataset.

2. The terminal testing method according to claim 1, characterized in that, The testing platform also includes a remote control module; The process of acquiring video information from the test terminal via the acquisition module includes: The remote control module controls the test terminal to perform test operations. The acquisition module acquires the video information generated by the test terminal based on the test operation.

3. The terminal testing method according to claim 1, characterized in that, The step of obtaining and playing the video information through the playback module includes: The proxy module sends the terminal identifier to the playback module; The frame rate of the playback module is set according to the terminal identifier, and the video information corresponding to the terminal identifier is determined. The playback module plays the video information corresponding to the terminal identifier according to the frame rate.

4. The terminal testing method according to claim 1, characterized in that, The step of controlling the playback module through the proxy module to sample the video information being played to obtain a test dataset includes: The proxy module sends control commands to the playback module based on windowless messages; The test dataset is obtained by sampling the video information through the playback module in response to the control command.

5. The terminal testing method according to claim 4, characterized in that, The step of sampling the video information by the playback module in response to the control command to obtain the test dataset includes: The playback module extracts multiple target frames and multiple target segments from the video information according to the control instructions. The target frames and target segments are named and sorted according to a preset strategy to obtain the test dataset.

6. The terminal testing method according to claim 5, characterized in that, The analysis of the test dataset to obtain the test results of the test terminal includes: Based on the preset test rules and test objectives, determine the target analysis area; Based on the target analysis region, image recognition and text extraction are performed on each target frame and each target segment in the test dataset to obtain target images and target text. The test results are obtained by comparing and analyzing the target image and the target text.

7. The terminal testing method according to claim 1, characterized in that, The testing platform includes multiple playback modules; The step of controlling the playback module through the proxy module to sample the video information being played to obtain a test dataset includes: Multiple control threads are started through the proxy module, and each control thread corresponds one-to-one with the playback module; The proxy module controls the corresponding playback module based on the control thread to sample the video information being played, thereby obtaining the test dataset, wherein the playback module corresponds one-to-one with the video information.

8. A terminal testing platform, characterized in that, include: The acquisition module is used to acquire video information from the test terminal. A playback module is used to acquire the video information and play it. The proxy module is used to control the playback module to sample the video information being played to obtain a test dataset; The analysis module is used to analyze the test dataset to obtain the test results of the test terminal.

9. An electronic device, characterized in that, include: At least one processor; At least one memory for storing at least one program; The terminal testing method as described in any one of claims 1 to 7 is implemented when at least one of the programs is executed by at least one of the processors.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions for performing the terminal testing method as described in any one of claims 1 to 7.

11. A computer program product, comprising a computer program or computer instructions, characterized in that, The computer program or the computer instructions are stored in a computer-readable storage medium. The processor of the computer device reads the computer program or the computer instructions from the computer-readable storage medium and executes the computer program or the computer instructions, causing the computer device to perform the terminal testing method as described in any one of claims 1 to 7.