Abstract: A system for automatically testing a functionality of a media device (104A) is provided. The system includes a remote control unit (102A) communicatively coupled to the media device (104A), and a test automation system (100) that stores test scripts indicating a specific key (204) on the remote control unit (102A) to be electronically induced for testing the media device (104A). Further, the system includes a remote-keys press controller (106A) that identifies an input-output pin (202A) that is mapped to the specific key (204) and sets the input-output pin (202A) to a high state to output a first electrical signal. Based on the first electrical signal, a key press inducing circuitry (107A) in the system electronically induces the specific key (204). Subsequently, the remote control unit (102A) transmits a key command to the media device (104A) based on the electronically induced specific key (204) for automatically testing the media device (104A).
Description:RELATED ART
[0001] Embodiments of the present disclosure relate generally to a remote control unit. More particularly, the present disclosure relates to a system and method for electronically actuating keys or buttons of the remote control unit.
[0002] Generally, consumers consume digital content such as digital images, videos, audios, and related media using media devices. Examples of the media devices include set-top-boxes, televisions, and game consoles. These media devices are typically sold in the market with dedicated remote control units (RCUs). Further, the media devices need to be thoroughly tested before launching them in the market to ensure that the media devices function as expected without any failures when used by the consumers.
[0003] A conventional approach used for testing functionalities of the media devices, for example, a set-top-box employs a human who manually presses keys on a physical remote control unit (RCU) and verifies the functionalities of the set-top-box by manually observing outputs of the set-top-box. For example, a user may press a power ‘ON’ key on the RCU and manually verify if the set-top-box powers up and initializes correctly. In another example, a user may press a ‘Channel’ key on the RCU and manually verifies if the set-top-box tunes to an intended channel. However, a substantial amount of human effort, testing time and costs are involved if multiple such set-top-boxes need to be tested simultaneously and continuously for a period of time such as for a week.
[0004] Accordingly, another approach is known to use a test automation system that includes a simulated RCU in lieu of the physical RCU. The simulated RCU is implemented using software codes and includes a plurality of virtual keys, where each of the virtual keys is mapped to a particular device-function code. When testing a particular functionality, for example, a channel changing functionality of a set-top-box, the simulated RCU mimics a manual pressing of a ‘channel+’ key on an actual RCU in the simulated RCU by transmitting a device-function code specific to the ‘channel+’ key to the set-top-box to verify if the set-top-box tunes to a next channel as expected. Though the simulated RCU mimics manual pressing of keys in the actual RCU in software, and thereby eliminates human intervention in a testing process, the same simulated RCU cannot be reused for testing different types of proprietary RCUs used to control different types of media devices. For example, the RCUs used to control a media device such as an Amazon Firestick with both key and voice inputs are significantly different in both circuitry and functioning from the RCUs used to control conventional televisions. Hence, prior to testing the media devices, the actual proprietary RCUs associated with the respective media devices need to be simulated in software, which requires significant effort, time, and cost, especially as these devices experience frequent updates.
[0005] Another conventional approach is described in the US patent application US20210092541A1, which includes a test station for mechanically pressing key in a physical RCU. Specifically, the test station includes a controller and a test fixture, which includes a plurality of actuators. Each of the plurality of actuators is positioned in proximity to a particular key in the RCU. For testing a specific functionality, for example, a volume up functionality of the RCU, the controller causes movement of a particular actuator positioned in proximity to a ‘volume+’ key in the RCU, where movement of the particular actuator causes mechanical pressing of the ‘volume+’ key. Though the test station mechanically presses keys in the RCU, the same test station cannot be used to mechanically press keys associated with different types of RCUs as the way in which keys arranged on RCUs vary from one RCU to another RCU.
[0006] Accordingly, there is a need for an improved system and method for automatically testing functionalities of a media device using a physical RCU that is neither actuated manually nor actuated mechanically.
BRIEF DESCRIPTION
[0007] It is an objective of the present disclosure to provide a system for testing a functionality of a media device. The system includes a remote control unit that is communicatively coupled to the media device to be tested. The remote control unit includes a plurality of keys. Further, the system includes a test automation system that that stores a set of test scripts that indicate a specific key on the remote control unit to be electronically induced for testing the functionality of the media device, and a remote-keys press controller. The remote-keys press controller includes a plurality of input-output pins that are mapped to the plurality of keys on the remote control unit. The remote-keys press controller identifies a particular input-output pin that is mapped to the specific key to be electronically induced and further sets the particular input-output pin to a high state that causes the particular input-output pin to output a first electrical signal.
[0008] Furthermore, the system includes a key press inducing circuitry that electrically connects a set of designated electrical lines disposed underneath the specific key based on the first electrical signal output by the particular input-output pin, which electronically induces the specific key. The remote control unit subsequently transmits a key command to the media device based on the specific key that is electronically induced for automatically testing the functionality of the media device. The media device includes one of a set-top-box, a television, and a game console. The remote control unit includes one of an infrared remote control unit, a Bluetooth remote control unit, an Internet protocol remote control unit, and a Zigbee remote control unit. The remote-keys press controller includes one of a single-board computer including a Raspberry Pi and a microcontroller board including an Arduino. The key press inducing circuitry includes one of an optocoupler and a solid-state relay.
[0009] The test automation system identifies a unique identifier of the specific key to be electronically induced and a unique identifier of the media device to be tested from the set of test scripts stored in an associated test database. Further, the test automation system determines that the unique identifier of the media device to be tested is mapped to a unique identifier associated with the remote-keys press controller from a first reference table that is stored in the test database. The first reference table stored in the test database includes unique identifiers associated with a plurality of media devices that are mapped to unique identifiers associated with a plurality of remote-keys press controllers. The remote-keys press controller receives the unique identifier of the specific key to be electronically induced from the test automation system via a communications link.
[0010] Further, the remote-keys press controller determines that the unique identifier of the specific key to be electronically induced is mapped to a unique identifier associated with the particular input-output pin from a second reference table that is stored in an associated control database. The second reference table stored in the control database includes unique identifiers associated with the plurality of keys on the remote control unit that are mapped to unique identifiers associated with the plurality of input-output pins in the remote-keys press controller. The key press inducing circuitry includes a light emitting diode that is disposed at an associated input side. The light emitting diode emits light signals based on the first electrical signal output by the particular input-output pin, which causes the key press inducing circuitry to electrically connect a plurality of electrical lines that are disposed at an output side of the key press inducing circuitry and to electrically connect the set of designated electrical lines that are disposed underneath the specific key. Electrically connecting the set of designated electrical lines electronically induces the specific key and mimics a user action of manually pressing the specific key.
[0011] The media device to be tested corresponds to a voice-controlled media device. The specific key to be electronically induced for testing the functionality of the voice-controlled media device corresponds to a voice recognition key on the remote control unit. The remote-keys press controller sets the particular input-output pin to the high state that mimics a first user action of manually pressing and holding the voice recognition key. Further, the remote-keys press controller generates an audio signal including a voice command to be provided to the remote control unit for testing the functionality of the voice-controlled media device from a text or an audio file stored in a control database of the remote-keys press controller.
[0012] Furthermore, the remote-keys press controller playbacks the audio signal and subsequently sets the particular input-output pin to a low state after completing playback of the audio signal. Setting the particular input-output pin to the low state mimics a second user action of manually releasing the voice recognition key from a pressed state. Moreover, the remote-keys press controller converts the audio signal including the voice command into an acoustic-electrical signal. The remote control unit includes a speaker that is disposed at an exterior surface of the remote control unit. The speaker receives the acoustic-electrical signal from the remote-keys press controller via an electrical cable and converts the acoustic-electrical signal back into the audio signal including the voice command. The remote control unit further includes a microphone that is disposed within the remote control unit. The microphone receives the audio signal including the voice command from the speaker and recognizes the voice command from the received audio signal. The remote control unit transmits a message to the voice-controlled media device based on the recognized voice command for automatically testing and validating the functionality of the voice-controlled media device.
[0013] The system includes an impedance matching circuit that is operatively coupled to the remote-keys press controller via an electrical cable. The impedance matching circuit includes one or more resistors that match an impedance of an audio output of the remote-keys press controller with an impedance of a circuitry associated with a microphone in the remote control unit. The impedance matching circuit transmits the acoustic-electrical signal to the circuitry associated with the microphone via the electrical cable such that the circuitry associated with the microphone recognizes the voice command from the acoustic-electrical signal. The remote control unit transmits a message to the voice-controlled media device based on the recognized voice command for automatically testing and validating the functionality of the voice-controlled media device.
[0014] It is another objective of the present disclosure to provide a method for testing a functionality of a media device. The method includes identifying a specific key on a remote control unit to be electronically induced for testing the functionality of the media device from a set of test scripts stored in a test automation system. The method further includes receiving a key-induce command by a remote-keys press controller from the test automation system. The received key-induce command includes a unique identifier of the specific key to be electronically induced. Further, the method includes identifying a particular input-output pin in the remote-keys press controller whose associated unique identifier is mapped to the unique identifier of the specific key in a reference table that is stored in a control database of the remote-keys press controller. The reference table includes unique identifiers of a plurality of input-output pins in the remote-keys press controller that are mapped to unique identifiers associated with a plurality of keys on the remote control unit. Furthermore, the method includes setting the identified input-output pin in the remote-keys press controller to a high state that causes the identified input-output pin to output a first electrical signal.
[0015] Moreover, the method includes electrically connecting a set of designated electrical lines disposed underneath the specific key using a key press inducing circuitry based on the first electrical signal output by the identified input-output pin. Electrically connecting the set of designated electrical lines electronically induces the specific key and mimics a user action of manually pressing the specific key. In addition, the method includes transmitting a key command to the media device based on the specific key that is electronically induced for automatically testing the functionality of the media device.
BRIEF DESCRIPTION OF DRAWINGS
[0016] These and other features, aspects, and advantages of the claimed subject matter will become better understood when the following detailed description is read with reference to the accompanying drawings in which like characters represent like parts throughout the drawings, wherein:
[0017] FIG. 1 illustrates a block diagram depicting an exemplary test automation system that is configured to test and validate functionalities of one or more remote control units and one or more media devices that are communicatively coupled to the remote control units, in accordance with aspects of the present disclosure;
[0018] FIG. 2 illustrates a block diagram depicting a remote-keys press controller that electronically induces a particular key on a remote control unit for automatically testing and validating a media device using the test automation system of FIG. 1, in accordance with aspects of the present disclosure;
[0019] FIG. 3 illustrates a block diagram depicting a voice-controlled media device that is tested and validated using the test automation system of FIG. 1, in accordance with aspects of the present disclosure; and
[0020] FIGS. 4A-B illustrate a flow diagram depicting an exemplary method for testing and validating functionalities of the remote control unit and the media device that is communicatively coupled to the remote control unit, in accordance with aspects of the present disclosure.
DETAILED DESCRIPTION
[0021] The following description presents an exemplary test automation system that tests and validates functionalities of both remote control units and media devices that are operated using the remote control units. Particularly, embodiments described herein disclose a test automation system that is communicatively coupled to key press inducing circuitry that electronically induces keys on the remote control units for testing and validating functionalities of the media devices.
[0022] Generally, original equipment manufacturers (OEMs) and multi-system operators (MSOs) periodically update their media devices such as set-top-boxes, televisions, and game consoles by integrating new features with their media devices. Before launching each of such updated media devices into the market, the operators and OEMs need to thoroughly test their functionalities to ensure that the media devices function as expected without any failures when used by the consumers.
[0023] Conventionally, the operators and OEMs test and validate functionalities of the media devices, for example, a set-top-box by employing a human who manually presses keys on a remote control unit (RCU) of the set-top-box and verifies if the set-top-box provides an expected output. However, a substantial amount of human efforts, testing time and costs are involved if multiple such set-top-boxes need to be tested simultaneously and continuously for a period of time such as for a week.
[0024] To eliminate such human intervention in a testing process, the operators and OEMs have developed test automation systems that include simulated RCUs. The simulated RCUs are implemented using software codes and they mimic manual pressing of keys on actual RCUs in software, and thereby eliminates the need for users to sit in front of the media devices and manually press keys of RCUs. Though the RCUs simulated using software eliminate human intervention, developing such RCUs simulated using software and especially that operate based on Bluetooth protocols require significant amount of research and development efforts, time, and cost.
[0025] Accordingly, a test automation system, described in the present disclosure, tests and validates functionalities of media devices using actual RCUs in lieu of RCUs simulated using software, which saves efforts, time, and cost typically incurred in developing the RCUs simulated using software. Further, the present test automation system does not require any human resources to sit and manually press RCUs’ keys while testing the media devices. The test automation system itself electronically induces those keys using a set of electronic components, as described subsequently with reference to FIG. 1.
[0026] FIG. 1 illustrates a block diagram depicting an exemplary test automation system (100) that is configured to test and validate functionalities of one or more RCUs (102A-N) and one or more media devices (104A-N) that are communicatively coupled to the RCUs (102A-N). In one embodiment, the test automation system (100) may be implemented by suitable code on a processor-based system, such as a general-purpose or a special-purpose computer. Accordingly, the test automation system (100), for example, include one or more general-purpose processors, specialized processors, graphical processing units, microprocessors, programming logic arrays, field programming gate arrays, integrated circuits, systems on chips, and/or other suitable computing devices.
[0027] Examples of the media devices (104A-N) that are tested and validated using the test automation system (100) include set-top-boxes, televisions, and game consoles. Examples of the RCUs (102A-N) that are communicatively coupled to the media devices (104A-N) and that are tested and validated using the test automation system (100) include infrared RCUs, Bluetooth RCUs, Internet protocol RCUs, and Zigbee RF4CE (radio frequency for consumer electronics) RCUs.
[0028] In certain embodiments, the test automation system (100) is capable of testing and validating functionalities a plurality of the media devices (104A-N) simultaneously. To that end, the test automation system (100) is communicatively to a plurality of remote-keys press controllers (106A-N) via a communications link (108). Examples of the communications link (108) include a Wi-Fi network, an Ethernet, and a cellular data network. Examples of the remote-keys press controllers (106A-N) include single-board computers such as Raspberry Pi, and microcontroller boards such as Arduino.
[0029] Specifically, the test automation system (100) is communicatively coupled to a first remote-keys press controller (106A), which in turn is operatively coupled to the RCU (102A) via a first key-press inducing circuitry (107A) for electronically inducing keys on the RCU (102A) during automated testing of the media device (104A). Similarly, the test automation system (100 ) is communicatively coupled to a second remote-keys press controller (106B), which in turn is operatively coupled to the RCU (102B) via a second key-press inducing circuitry (107B) for electronically inducing keys on the RCU (102B) during automated testing of the media device (104B).
[0030] Likewise, the test automation system (100) is communicatively coupled to a third remote-keys press controller (106N), which in turn is operatively coupled to the RCU (102N) via a third key-press inducing circuitry (107N) for electronically inducing keys on the RCU (102N) during automated testing of the media device (104N).
[0031] For simultaneously testing the media devices, for example, the media devices (104A-B), the test automation system (100) transmits key-induce commands to the corresponding remote-keys press controllers (106A-B) based on one or more pre-defined test automation scripts. For example, the test automation system (100) transmits a first key-induce command to the first remote-keys press controller (106A). Based on the first key-induce command, the first remote-keys press controller (106A) electronically induces, for example, a ‘channel+’ key on the RCU (102A) to verify if the media device (104A) communicatively coupled to the RCU (102A) tunes to a next channel as expected.
[0032] While transmitting the first key-induce command to the first remote-keys press controller (106A), the test automation system (100) simultaneously transmits a second key-induce command to the second remote-keys press controller (106B). Based on the second key-induce command, the second remote-keys press controller (106B) electronically induces, for example, a ‘home’ key on the RCU (102B) to verify if the media device (104B) communicatively coupled to the RCU (102B) renders a home screen as expected.
[0033] Though the test automation system (100) is capable of testing a plurality of the media devices (104-N) simultaneously, the test automation system (100) that is used to test if a particular media device (104A) appropriately renders a home screen upon electronically inducing a ‘home’ key on a particular RCU (102A) is descried in detail subsequently.
[0034] As noted previously, for testing and verifying a home screen rendering functionality of the particular media device (104A), the ‘home’ key on the particular RCU (102A) needs to be electronically induced. For electronically inducing the ‘home’ key on the RCU (102A), the test automation system (100) determines a unique identifier (ID) of the media device (104A) that is communicatively coupled to the RCU (102A). In one embodiment, the test automation system (100) determines the unique ID of the media device (104A) from a set of test scripts stored in a test database (110) of the test automation system (100). In one embodiment, the set of test scripts include unique IDs of all of the media devices (104A-N) and examples of such unique IDs include Internet protocol (IP) addresses of the media devices (104A-N), or alphanumerical codes or numerical values assigned to the media devices (104A-N). For example, the test scripts define that a unique ID of the media device (104A) is ‘10’, a unique ID of the media device (104B) is ‘11’, and a unique ID of the media device (104N) is ‘12’. In this example, the test automation system (100) determines that the unique ID of the media device (104A) that is communicatively coupled to the RCU (102A) is ‘10’.
[0035] Upon determining the unique ID associated with the media device (104A), the test automation system (100) determines a designated remote-keys press controller from the remote-keys press controllers (106A-N) that is responsible for electronically inducing the ‘home’ key on the RCU (102A). In one embodiment, the test automation system (100) determines the designated remote-keys press controller based on the determined unique ID of the media device (104A) and a reference table that is stored in the test database (110). In certain embodiments, the reference table includes mappings between unique IDs associated with the media devices (104A-N) and unique IDs associated with the remote-keys press controllers (106A-N), as tabulated subsequently in a reference Table 1.
Reference Table 1 that maps media devices to remote-keys press controllers
Media devices (104A-N) Unique IDs of media devices (104A-N) Remote-keys press controllers (RKPC) (106A-N) Unique IDs of RKPC (106A-N)
First (104A) 10 First (106A) 192.168.1.10
Second (104B) 11 Second (106B) 192.168.1.15
Third (104N) 12 Third (106N) 192.168.1.20
[0036] As noted previously in one of the examples, the test automation system (100) determines that the unique ID of the media device (104A) is ‘10’ from the test scripts stored in the test database (110). Subsequently, the test automation system (100) compares the unique ID ‘10’ determined from the test scripts with unique IDs of the media devices (104A-N) stored in the reference table. Based on the comparison, the test automation system (100) identifies that the unique ID ‘10’ belongs to the media device (104A). Further, from the reference table, the test automation system (100) determines a particular remote-keys press controller that is mapped to the identified media device (104A). For example, the test automation system (100) determines that the particular remote-keys press controller that is mapped to the media device (104A) is the first remote-keys press controller (106A). Subsequently, the test automation system (100) determines the first remote-keys press controller (106A) as the designed remote-keys press controller (106A) that is responsible for electronically inducing the ‘home’ key on the RCU (102A).
[0037] In certain embodiments, upon determining that the first remote-keys press controller (106A) is responsible for electronically inducing the ‘home’ key on the RCU (102A), the test automation system (100) transmits a key-induce command to the first remote-keys press controller (106A) via the communications link (108). In one embodiment, the key-induce command includes a unique identifier (ID) associated with the ‘home’ key to be electronically induced. From the received unique ID, the first remote-keys press controller (106A) identifies that a key that is to be electronically induced is the ‘home’ key on the RCU (102A), and further induces the ‘home’ key on the RCU (102A) as described subsequently with reference to FIG. 2.
[0038] In certain embodiments, the first remote-keys press controller (106A) includes a plurality of input-output pins (202A-N), as depicted in FIG. 2. Each of the plurality of input-output pins (202A-N) is coupled to a particular key on the RCU (102A).
[0039] For example, an input-output pin (202A) is coupled to the ‘home’ key (204) on the RCU (102A) via a first set of electrical lines (206A-B), a second set of electrical lines (208A-B), and a key press inducing circuitry (107A) as depicted in FIG. 2. Specifically, the input-output pin (202A) is electrically coupled to the key press inducing circuitry (107A) via the first set of electrical lines (206A-B) and the key press inducing circuitry (107A) is in turn electrically coupled to the ‘home’ key (204) on the RCU (102A) via the second set of electrical lines (208A-B). Though it is not depicted in FIG. 2, it is to be understood that each of the other input-output pins (202B-N) in the first remote-keys press controller (106A) is similarly coupled to a particular key on the RCU (102A) via a corresponding first set of electrical lines, second set of electrical lines, and key press inducing circuitry.
[0040] As noted previously in one of the examples, the first remote-keys press controller (106A) receives the key-induce command, which includes the unique ID of the ‘home’ key (204) to be electronically induced. Subsequently, the first remote-keys press controller (106A) determines a designated input-output pin that is coupled to the ‘home’ key (204) on the RCU (102A) based on the unique ID of the ‘home’ key (204) and a reference table stored in a control database (210). In one embodiment, the reference table includes mappings between unique IDs associated with keys on the RCU (102A) and unique IDs associated with the input-output pins (202A-N) in the first remote-keys press controller (106A).
Reference table 2 that maps keys of RCU (102A) to input-output pins (202A-N)
Unique IDs of keys on the RCU (102A) Unique IDs of input-output pins (202A-N) in the first remote-keys press controller (106A)
Home 5
Channel+ 7
Channel- 8
Volume+ 10
Volume- 11
Power 12
Voice Command 14
[0041] For example, from the previously noted reference table, the first remote-keys press controller (106A) identifies that the ‘home’ key (204) on the RCU (102A) is mapped to the fifth input-output pin (202A) in the first remote-keys press controller (106A). Subsequently, the first remote-keys press controller (106A) identifies the fifth input-output pin (202A) as the designated input-output pin (202A) that is coupled to the ‘home’ key on the RCU (102A).
[0042] Upon identifying the designated input-output pin (202A), the first remote-keys press controller (106A) selectively sets the designated input-output pin (202A) to a high state for electronically inducing the ‘home’ key on the RCU (102A). In certain embodiments, setting the designated input-output pin (202A) to the high state causes the designated input-output pin (202A) to output a specific voltage of, for example, 3.3 volts.
[0043] The specific voltage thus output by the designated input-output pin (202A) causes a first electrical signal, for example, a designated current to flow through the first set of electrical lines (206A-B) that are coupled to the designated input-output pin (202A). The first set of electrical lines (206A-B) then carry the first electrical signal to an input side (212) of the first key press inducing circuitry (107A). In one embodiment, the first key press inducing circuitry (107A) is an optocoupler or a solid-state relay, which includes a light emitting diode (LED) (214) at the associated input side (212) and a phototransistor (216) at an associated output side (218).
[0044] Specifically, the first electrical signal, carried by the first set of electrical lines (206A-B), powers the LED (214) at the input side (212) of the first key press inducing circuitry (107A) and causes the LED (214) to emit light towards the phototransistor (216). The phototransistor (216) collects the light emitted by the LED (214) and the first key press inducing circuitry (107A) electrically connects the second set of electrical lines (208A-B), which in turn, electrically connects a third set of electrical lines (220A-B) that are positioned underneath the ‘home’ key (204). Electrically connecting the third set of electrical lines (220A-B) that are positioned underneath the ‘home’ key (204) simulates a physically pressed state of the ‘home’ key (204).
[0045] Generally, when a user manually presses the ‘home’ key (204) on the RCU (102A), a set of conductors placed at a bottom surface of the ‘home’ key (204) physically touch the third set of electrical lines (220A-B) and energize the third set of electrical lines (220A-B). In the present disclosure, the first key press inducing circuitry (107A) mimics this manual pressing of ‘home’ key (204) by electrically connecting the third set of electrical lines (220A-B) by electrically connecting the second set of electrical lines (208A-B).
[0046] In certain embodiments, electrically connecting the third set of electrical lines (220A-B) causes a microcontroller (222) in the RCU (102A) to determine that the ‘home’ key (204) is manually pressed although the ‘home’ key (204) is not actually manually pressed. As a result, the RCU (102A) transmits a home screen render message to the media device (104A), where the message includes one or more codes that indicate the media device (104A) that the media device (104A) requires to render a home screen. Subsequently, the media device (104A) renders the home screen based on the message received from the RCU (102A).
[0047] In certain embodiments, the test automation system (100) includes a frame-capturing unit (112) to validate the home screen rendering functionality of the media device (104A). An example of the frame-capturing unit includes one or more of an image-capturing unit such as a camera, High-Definition Multimedia Interface (HDMI) capture software development kits (SDKs), and a video capture card that is coupled to the media device (104A). When the media device (104A) renders a screen based on the message received from the RCU (102A), the frame-capturing unit (112) captures an image of the screen rendered by the media device (104A) and provides the image of the rendered screen as an input to the test automation system (100). Subsequently, the test automation system (100) compares the image of the rendered screen with a reference image of the home screen that is previously stored in the test database (110) using one or more image processing techniques to identify if the image of the rendered screen matches with the reference image. When the test automation system (100) identifies that the image of the rendered screen to be matching with the stored reference image, the test automation system identifies that the screen rendered by the media device (104A) is actually the home screen of the media device (104A). Accordingly, the test automation system (100) successfully validates the home screen rendering functionality of the media device (104A). Alternatively, when the test automation system (100) identifies that the image of the rendered screen to be different from the stored reference image, the test automation system (100) identifies that the screen rendered by the media device (104A) is not actually the home screen of the media device (104A). Accordingly, the test automation (100) identifies that there is an issue with the home screen rendering functionality of the media device (104A).
[0048] In certain embodiments, in addition to testing the home screen rendering functionality, the present test automation system (100) also tests functionalities of voice-controlled media devices. For example, the test automation system (100) that automatically tests a voice-controlled set-top-box (STB) by verifying if the voice-controlled STB properly receives a voice command from a remote control unit and performs an appropriate action based on the received voice command is subsequently described with reference to FIG. 3.
[0049] FIG. 3 illustrates a block diagram depicting a voice-controlled set-top-box (302) that is tested and validated using the test automation system (100) of FIG. 1. An example of the voice-controlled set-top-box (302) includes an Amazon’s Firestick device (302). Hereinafter, for the sake of simplicity, the voice-controlled set-top-box (302) is referred as a Firestick device (302).
[0050] Typically, a user testing a functionality of the Firestick device (302) manually presses a ‘voice recognition’ key (304) on a Firestick remote (306) and provides a voice command such as “Open YouTube” while keeping the ‘voice recognition’ key (304) pressed. After providing the voice command, the user releases the ‘voice recognition’ key (304) from the pressed state to a released or non-pressed state. Subsequently, a microphone (310) integrated with the Firestick remote (306) recognizes the voice command “Open YouTube” provided by the user. Further, the Firestick remote (306) transmits a message to the Firestick device (302) based on the recognized voice command such that the Firestick device (302) renders YouTube application.
[0051] The test automation system (100) described in the present disclosure entirely automates the previously noted scenario of manually pressing the ‘voice recognition’ key (304) on the Firestick remote (306), providing the voice command, releasing the ‘voice recognition’ key (304) to the released state, and testing if the Firestick device (302) renders YouTube application based on the provided voice command.
[0052] In one embodiment, the test automation system (100) automates the manual pressing of ‘voice recognition’ key (304) by electronically inducing the ‘voice recognition’ key (304). Specifically, the test automation system (100) determines a designated input-output pin in a remote-keys press controller (312) that is coupled to the ‘voice recognition’ key (304). Hereinafter, for the sake of simplicity, the remote-keys press controller (312) is referred as a Raspberry Pi (312). For example, from the previously provided reference table 2, the test automation system (100) determines that the designated input-output pin that is coupled to the ‘voice recognition’ key (304) is a fourteenth input-output pin (314) in the Raspberry Pi (312).
[0053] Upon determining the designated input-output pin (314) that is coupled to the ‘voice recognition’ key (304), the Raspberry Pi (312) sets the designated input-output pin (314) to a high state. As noted previously with reference to FIG. 2, setting the designated input-output pin (314) to the high state causes a LED (316) to switch ON and emit light towards a phototransistor (318) in a key press inducing circuitry (320). The phototransistor (318) then collects the light emitted by the LED (316) and the key press inducing circuitry (320) electrically connects a first set of electrical lines (322A-B), which in turn, electrically connects a second set of electrical lines (324A-B). Electrically connecting the second set of electrical lines (324A-B) that are positioned underneath the ‘voice recognition’ key (304) simulates a physically pressed state of the ‘voice recognition’ key (304) on the Firestick remote (306).
[0054] Upon simulating the physically pressed state of the ‘voice recognition’ key (304), the Raspberry Pi (312) provides a voice command to the Firestick remote (306). In one embodiment, the voice command to be provided to the Firestick remote (306) is either stored as a text or as an audio file (326). When the voice command to be provided is stored as the text, the Raspberry Pi (312) converts the text into an audio signal using an associated text-to-speech converter (328). When the voice command to be provided is stored as the audio file (326), the Raspberry Pi (312) plays the audio file (326), which generates the audio signal. After playing the audio file (326), the Raspberry Pi (312) sets the designated input-output pin (314) to a low state, which causes the key press inducing circuitry (320) to electrically disconnect the first set of electrical lines (322A-B), which in turn, electrically disconnects the second set of electrical lines (324A-B). Electrically disconnecting the second set of electrical lines (324A-B) that are positioned underneath the ‘voice recognition’ key (304) simulates a physical release of the ‘voice recognition’ key (304) from the physically pressed state to a physically released or non-pressed state.
[0055] Upon simulating the physically released state of the ‘voice recognition’ key (304), the Raspberry Pi (312) converts the audio signal thus derived either from the text or from the audio file (326) into an acoustic-electrical signal, and transmits the acoustic-electrical signal to a small form factor speaker (330) disposed at an exterior surface of the Firestick remote (306) via an electrical cable (332). Subsequently, the speaker (330) converts the acoustic-electrical signal back into the audio signal, and provides the audio signal as an input to the microphone (310) that is disposed inside the Firestick remote (306). From the audio signal received as the input from the speaker (330), the microphone (310) recognizes that the voice command provided by the Raspberry Pi (312) corresponds to, for example, “Open YouTube.”
[0056] Subsequently, the Firestick remote (306) transmits a message to the Firestick device (302), where the message requests the Firestick device (302) to render YouTube application. In certain embodiments, using the frame-capturing unit (112), the test automation system (100) captures a screen rendered by the Firestick device (302) after receiving the message from the Firestick remote (306). The test automation system (100) then compares the rendered screen with a reference screen of YouTube application stored in the test database (110) to identify if the rendered screen is actually a screen corresponding to YouTube application. When the test automation system (100) identifies that the rendered screen is actually the screen corresponding to YouTube application, the test automation system (100) successfully validates the functionality of the Firestick device (302). Otherwise, the test automation system (100) identifies that there is an issue with the Firestick device (302) when the rendered screen is not actually the screen corresponding to YouTube application.
[0057] In certain embodiments, the Raspberry Pi (312) directly provides the voice command to the Firestick remote (306) in lieu of providing the voice command through the speaker (330) and the microphone (310). In this implementation, the Raspberry Pi (312) is operatively coupled to the microphone (310) circuitry via an impedance matching circuit (334), as depicted using dotted lines in FIG. 3.
[0058] Generally, an audio output of the Raspberry Pi (312) includes an associated impedance that is lesser than an impedance associated with the microphone (310) circuitry. Before transmitting the voice command as an acoustic-electrical signal from the Raspberry Pi (312) to the microphone (310) circuitry, the impedance associated with the audio output of the Raspberry Pi (312) needs to be matched with the impedance associated with the microphone (310) circuitry. Otherwise, the acoustic-electrical signal, transmitted to the microphone (310) circuitry, damages the microphone (310) circuitry. In order to avoid occurrences of such damages to the microphone (310) circuitry, the Raspberry Pi (312) is operatively coupled to the impedance matching circuit (334) that includes one or more resistors for matching the impedance associated with the audio output of the Raspberry Pi (312) with the impedance associated with the microphone (310) circuitry.
[0059] As noted previously, for directly providing the voice command to the Firestick remote (306), the Raspberry Pi (312) converts the audio signal that is derived either from the text or from the audio file (326) into the acoustic-electrical signal. Subsequently, the Raspberry Pi (312) transmits the acoustic-electrical signal to the impedance matching circuit (334) via the electrical cable (332). The impedance matching circuit (334) then matches the impedance associated with the audio output of the Raspberry pi (312) with the impedance associated with the microphone (310) circuitry using the associated resistors, and provides the acoustic-electrical signal as an input to the microphone (310) circuitry.
[0060] From the acoustic-electrical signal received as the input from the impedance matching circuit (334), the microphone (310) circuitry recognizes that the voice command provided by the Raspberry Pi (312) corresponds to, for example, “Open YouTube.” Subsequently, the Firestick remote (306) transmits a message requesting the Firestick device (302) to render YouTube application. Based on whether the Firestick device (302) renders the YouTube application appropriately, the test automation system (100) tests and validates the functionality of the Firestick device (302), as noted previously.
[0061] An exemplary method for testing and validating functionalities of one or more of the RCU (102A) and the media device (104A) using the test automation system (100), remote-keys press controller (106A), and key press inducing circuitry (107A) is described subsequently in detail with reference to FIGS. 4A-B.
[0062] FIGS. 4A-B illustrate a flow diagram depicting an exemplary method for testing and validating functionalities of the RCU (102A) and the media device (104A) that is communicatively coupled to the RCU (102A). The order in which the exemplary method (400) is described is not intended to be construed as a limitation, and any number of the described blocks may be combined in any order to implement the exemplary method disclosed herein, or an equivalent alternative method. Additionally, certain blocks may be deleted from the exemplary method or augmented by additional blocks with added functionality without departing from the claimed scope of the subject matter described herein.
[0063] At step (402), the test automation system (100) identifies a unique identifier of the media device (104A) that is to be tested and a unique identifier of the specific key (204) on the RCU (102A) that is to be electronically induced for testing the media device (104A) from a set of test scripts stored in the test database (110). At step (404), the test automation system (100) identifies a particular remote-keys press controller (106A) that is pre-configured to electronically induce keys on the RCU (102A) based on the unique identifier of the media device (104A) and the first reference table stored in the test database (110), as noted previously with reference to FIG. 2.
[0064] At step (406), the test automation system (100) transmits a key-induce command including the unique identifier of the specific key (204) to be electronically induced to the identified remote-keys press controller (106A). At step (408), the remote-keys press controller (106A) identifies a particular input-output pin (202A) whose associated unique identifier is mapped to the unique identifier of the specific key (204) in the second reference table that is stored in the control database (210).
[0065] At step (410), the remote-keys press controller (106A) sets the identified input-output pin (202A) to a high state that causes the identified input-output pin (202A) to output a first electrical signal. At step (412), the key press inducing circuitry (107A) electrically connects the set of designated electrical lines (220A-B) disposed underneath the specific key (204) based on the first electrical signal output by the identified input-output pin (202A). In one embodiment, electrically connecting the set of designated electrical lines (220A-B) electronically induces the specific key (204) and mimics a user action of manually pressing the specific key (204) though the user is not actually pressed the specific key (204).
[0066] Subsequently, at step (414), the RCU (102A) transmits a key command to the media device (104A) based on the specific key (204) that is electronically induced for automatically testing the functionality of the media device (104A). At step (416), the frame-capturing unit (112) captures an image of a screen rendered by the media device (104A) post receiving the key command. At step (418), the test automation system (100) identifies if the rendered screen matches with a reference image that is previously stored as an expected outcome in the test database (100). At step (420), the test automation system (100) successfully validates the functionality of the media device (104A) when the rendered screen is identified to be matching with the reference image stored in the test database (100).
[0067] The test automation system (100) described in the present disclosure is used to automatically test and validate functionalities of media devices that are controlled by remote control units (RCUs). Specifically, the test automation system (100) tests and validates media devices by employing electronic components such as the remote-keys press controllers (106A-N) and key press inducing circuitry (107A-N) that automate the manual pressing of keys on RCUs by electronically inducing those keys. Further, the test automation system (100) tests voice-controlled media devices by automating conventional actions of manually pressing voice command keys on the RCUs and providing voice commands to the RCUs.
[0068] Unlike certain existing test automation systems that use RCUs simulated using software for testing media devices, the present test automation system (100) uses actual or physical remote control units for testing and validating functionalities of the media devices. Therefore, the test automation system (100) saves efforts, time, and cost typically incurred in developing the RCUs simulated using software.
[0069] Although specific features of various embodiments of the present systems and methods may be shown in and/or described with respect to some drawings and not in others, this is for convenience only. It is to be understood that the described features, structures, and/or characteristics may be combined and/or used interchangeably in any suitable manner in the various embodiments shown in the different figures.
[0070] While only certain features of the present systems and methods have been illustrated and described herein, many modifications and changes will occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes.
LIST OF NUMERAL REFERENCES:
100 Test automation system
102A-N Remote control units
104A-N Media devices
106A-N Remote-keys press controllers
107A-N Key press inducing circuitry
108 Communications link
110 Test database
112 Frame-capturing unit
202A-N Input-output pins
204 Home key in a remote control unit
206A-B First set of electrical lines
208A-B Second set of electrical lines
210 Control database
212 Input side of key press inducing circuitry
214, 316 Light emitting diode
216, 318 Phototransistor
218 Output side of key press inducing circuitry
220A-B Third set of electrical lines
222 Microcontroller
302 Firestick device
304 Voice command key
306 Firestick Remote
310 Microphone
312 Raspberry Pi
314 Input-output pin
320 Key press inducing circuitry
322A-B First set of electrical lines
324A-B Second set of electrical lines
326 Audio file
328 Text-to-speech converter
330 Speaker
332 Electrical cable
334 Impedance matching circuit
400-420 Steps of a method for testing and validating functionalities of a remote control unit and a media device
, Claims:
We claim:
1. A system for testing a functionality of a media device (104A), comprising:
a remote control unit (102A) that is communicatively coupled to the media device (104A) to be tested, wherein the remote control unit (102A) comprises a plurality of keys;
a test automation system (100) that stores a set of test scripts that indicate a specific key (204) on the remote control unit (102A) to be electronically induced for testing the functionality of the media device (104A);
a remote-keys press controller (106A) comprising a plurality of input-output pins (202A-N) that are mapped to the plurality of keys on the remote control unit (102A), wherein the remote-keys press controller (106A) identifies a particular input-output pin (202A) that is mapped to the specific key (204) to be electronically induced and further sets the particular input-output pin (202A) to a high state that causes the particular input-output pin (202A) to output a first electrical signal; and
a key press inducing circuitry (107A) that electrically connects a set of designated electrical lines (220A-B) disposed underneath the specific key (204) based on the first electrical signal output by the particular input-output pin (202A), which electronically induces the specific key (204), wherein the remote control unit (102A) subsequently transmits a key command to the media device (104A) based on the specific key (204) that is electronically induced for automatically testing the functionality of the media device (104A).
2. The system as claimed in claim 1, wherein the media device (104A) comprises one of a set-top-box, a television, and a game console, wherein the remote control unit (102A) comprises one of an infrared remote control unit, a Bluetooth remote control unit, an Internet protocol remote control unit, and a Zigbee remote control unit.
3. The system as claimed in claim 1, wherein the remote-keys press controller (106A) comprises one of a single-board computer comprising a Raspberry Pi and a microcontroller board comprising an Arduino, wherein the key press inducing circuitry (107A) comprises one of an optocoupler and a solid-state relay.
4. The system as claimed in claim 1, wherein the test automation system (100):
identifies a unique identifier of the specific key (204) to be electronically induced and a unique identifier of the media device (104A) to be tested from the set of test scripts stored in an associated test database (110); and
determines that the unique identifier of the media device (104A) to be tested is mapped to a unique identifier associated with the remote-keys press controller (106A) from a first reference table that is stored in the test database (110), wherein the first reference table stored in the test database (110) comprises unique identifiers associated with a plurality of media devices (104A-N) that are mapped to unique identifiers associated with a plurality of remote-keys press controllers (106A-N).
5. The system as claimed in claim 4, wherein the remote-keys press controller (106A):
receives the unique identifier of the specific key (204) to be electronically induced from the test automation system (100) via a communications link (108); and
determines that the unique identifier of the specific key (204) to be electronically induced is mapped to a unique identifier associated with the particular input-output pin (202A) from a second reference table that is stored in an associated control database (210), wherein the second reference table stored in the control database (210) comprises unique identifiers associated with the plurality of keys on the remote control unit (102A) that are mapped to unique identifiers associated with the plurality of input-output pins (202A-N) in the remote-keys press controller (106A).
6. The system as claimed in claim 1, wherein the key press inducing circuitry (107A) comprises a light emitting diode (214) that is disposed at an associated input side (212), wherein the light emitting diode (214) emits light signals based on the first electrical signal output by the particular input-output pin (202A), which causes the key press inducing circuitry (107A) to electrically connect a plurality of electrical lines (208A-B) that are disposed at an output side (218) of the key press inducing circuitry (107A) and to electrically connect the set of designated electrical lines (220A-B) that are disposed underneath the specific key (204), and wherein electrically connecting the set of designated electrical lines (220A-B) electronically induces the specific key (204) and mimics a user action of manually pressing the specific key (204).
7. The system as claimed in claim 1, wherein the media device (104A) to be tested corresponds to a voice-controlled media device (302), and wherein the specific key (204) to be electronically induced for testing the functionality of the voice-controlled media device (302) corresponds to a voice recognition key (304) on the remote control unit (102A).
8. The system as claimed in claim 7, wherein the remote-keys press controller (106A):
sets the particular input-output pin (202A) to the high state that mimics a first user action of manually pressing and holding the voice recognition key (304);
generates an audio signal comprising a voice command to be provided to the remote control unit (102A) for testing the functionality of the voice-controlled media device (302) from a text or an audio file (326) stored in a control database (210) of the remote-keys press controller (106A);
playbacks the audio signal and subsequently sets the particular input-output pin (202A) to a low state after completing playback of the audio signal, wherein setting the particular input-output pin (202A) to the low state mimics a second user action of manually releasing the voice recognition key (304) from a pressed state; and
converts the audio signal comprising the voice command into an acoustic-electrical signal.
9. The system as claimed in claim 8, wherein the remote control unit (102A) comprises:
a speaker (330) that is disposed at an exterior surface of the remote control unit (102A), wherein the speaker (330) receives the acoustic-electrical signal from the remote-keys press controller (106A) via an electrical cable (332) and converts the acoustic-electrical signal back into the audio signal comprising the voice command; and
a microphone (310) that is disposed within the remote control unit (102A), wherein the microphone (310) receives the audio signal comprising the voice command from the speaker (330) and recognizes the voice command from the received audio signal; and
wherein the remote control unit (102A) transmits a message to the voice-controlled media device (302) based on the recognized voice command for automatically testing and validating the functionality of the voice-controlled media device (302).
10. The system as claimed in claim 8, wherein the system comprises an impedance matching circuit (334) that is operatively coupled to the remote-keys press controller (106A) via an electrical cable (332),
wherein the impedance matching circuit (334) comprises one or more resistors that match an impedance of an audio output of the remote-keys press controller (106A) with an impedance of a circuitry associated with a microphone (310) in the remote control unit (102A).
11. The system as claimed in claim 10, wherein the impedance matching circuit (334) transmits the acoustic-electrical signal to the circuitry associated with the microphone (310) via the electrical cable (332) such that the circuitry associated with the microphone (310) recognizes the voice command from the acoustic-electrical signal,
wherein the remote control unit (102A) transmits a message to the voice-controlled media device (302) based on the recognized voice command for automatically testing and validating the functionality of the voice-controlled media device (302).
12. A method for testing a functionality of a media device (104A), comprising:
identifying a specific key (204) on a remote control unit (102A) to be electronically induced for testing the functionality of the media device (104A) from a set of test scripts stored in a test automation system (100);
receiving a key-induce command by a remote-keys press controller (106A) from the test automation system (100), wherein the received key-induce command comprises a unique identifier of the specific key (204) to be electronically induced;
identifying a particular input-output pin (202A) in the remote-keys press controller (106A) whose associated unique identifier is mapped to the unique identifier of the specific key (204) in a reference table that is stored in a control database (210) of the remote-keys press controller (106A), wherein the reference table comprises unique identifiers of a plurality of input-output pins (202A-N) in the remote-keys press controller (106A) that are mapped to unique identifiers associated with a plurality of keys on the remote control unit (102A);
setting the identified input-output pin (202A) in the remote-keys press controller (106A) to a high state that causes the identified input-output pin (202A) to output a first electrical signal;
electrically connecting a set of designated electrical lines (220A-B) disposed underneath the specific key (204) using a key press inducing circuitry (107A) based on the first electrical signal output by the identified input-output pin (202A), wherein electrically connecting the set of designated electrical lines (220A-B) electronically induces the specific key (204) and mimics a user action of manually pressing the specific key (204); and
transmitting a key command to the media device (104A) based on the specific key (204) that is electronically induced for automatically testing the functionality of the media device (104A).
| # | Name | Date |
|---|---|---|
| 1 | 202341023889-POWER OF AUTHORITY [30-03-2023(online)].pdf | 2023-03-30 |
| 2 | 202341023889-FORM-9 [30-03-2023(online)].pdf | 2023-03-30 |
| 3 | 202341023889-FORM 3 [30-03-2023(online)].pdf | 2023-03-30 |
| 4 | 202341023889-FORM 18 [30-03-2023(online)].pdf | 2023-03-30 |
| 5 | 202341023889-FORM 1 [30-03-2023(online)].pdf | 2023-03-30 |
| 6 | 202341023889-FIGURE OF ABSTRACT [30-03-2023(online)].pdf | 2023-03-30 |
| 7 | 202341023889-DRAWINGS [30-03-2023(online)].pdf | 2023-03-30 |
| 8 | 202341023889-COMPLETE SPECIFICATION [30-03-2023(online)].pdf | 2023-03-30 |
| 9 | 202341023889-FORM-26 [13-04-2023(online)].pdf | 2023-04-13 |
| 10 | 202341023889-FER.pdf | 2024-08-28 |
| 11 | 202341023889-OTHERS [28-02-2025(online)].pdf | 2025-02-28 |
| 12 | 202341023889-FORM-5 [28-02-2025(online)].pdf | 2025-02-28 |
| 13 | 202341023889-FORM 3 [28-02-2025(online)].pdf | 2025-02-28 |
| 14 | 202341023889-FER_SER_REPLY [28-02-2025(online)].pdf | 2025-02-28 |
| 15 | 202341023889-CLAIMS [28-02-2025(online)].pdf | 2025-02-28 |
| 16 | 202341023889-PatentCertificate12-09-2025.pdf | 2025-09-12 |
| 17 | 202341023889-IntimationOfGrant12-09-2025.pdf | 2025-09-12 |
| 1 | SearchstrategyE_23-08-2024.pdf |