Abstract: This disclosure relates to method and system for automated testing of an application on a set of gaming consoles. For each of the set of gaming consoles, the method (300) includes receiving (301) a command to send an activating signal to a gaming console from an Infrared (IR) module (205). The IR module (205) includes an IR Light Emitting Diode (LED) (211). For each of the set of gaming consoles, the method (300) further includes sending (302) the activating signal from the IR module (205) to an IR receiver of the gaming console via the IR LED (211) to activate the gaming console; initiating (303), upon activation, the application on the gaming console; receiving (304) instructions for a set of test operation actions for the application by a virtual Input/Output (I/O) controller (214) from an automated Universal Serial Bus (USB) simulator (204); and performing (305) each of the set of test operation actions on the application through the virtual I/O controller (214).
Claims:1. A method (300) for automated testing of an application on a set of gaming consoles, the method (300) comprising:
for each of the set of gaming consoles,
receiving (301), by an application testing system (101), a command to send an activating signal to a gaming console from an Infrared (IR) module (205), wherein the IR module (205) comprises an IR Light Emitting Diode (LED) (211), and wherein the command is a Hexadecimal code command;
sending (302), by the application testing system (101), the activating signal from the IR module (205) to an IR receiver of the gaming console via the IR LED (211) to activate the gaming console;
initiating (303), upon activation and by the application testing system (101), the application on the gaming console;
receiving (304), by the application testing system (101), instructions for a set of test operation actions for the application by a virtual Input/Output (I/O) controller (214) from an automated Universal Serial Bus (USB) simulator (204), wherein the virtual I/O controller (214) is communicatively coupled with the gaming console and the automated USB simulator (204); and
performing (305), by the application testing system (101), each of the set of test operation actions on the application through the virtual I/O controller (214).
2. The method (300) of claim 1, further comprising monitoring (306) a set of performance parameters of the application on each of the set of gaming consoles corresponding to each of the set of test operation actions.
3. The method (300) of claim 1, further comprising receiving a command to send a deactivating signal to each of the set of gaming consoles from the IR module (205), wherein the command is a Hexadecimal code command.
4. The method (300) of claim 1, wherein the virtual I/O controller (214), the automated USB simulator (204), and the IR module (205) for each of the set of gaming consoles are communicatively coupled with a master computing device, wherein each of the set of gaming consoles is communicatively coupled with the master computing device through a capture card, and further comprising receiving, by the automated USB simulator (204), the instructions for the set of test operation actions for the application from the master computing device.
5. The method (300) of claim 1, wherein the set of test operation actions comprises at least one of a digital key press event, an analog key press event, and a mouse action event, and wherein the mouse action event comprises one of cursor navigation, scrolling, left click, or right click.
6. A system (200) for automated testing of an application on a set of gaming consoles, the system (200) comprising:
for each of the set of gaming consoles,
an Infrared (IR) module (205) comprising an IR Light Emitting Diode (LED) (211), wherein the IR module (205) is configured to:
receive (301) a command to send an activating signal to a gaming console, wherein the command is a Hexadecimal code command;
send (302) the activating signal from the IR module (205) to an IR receiver of the gaming console via the IR LED (211) to activate the gaming console; and
initiate (303), upon activation, the application on the gaming console.
an automated Universal Serial Bus (USB) simulator (204); and
a virtual Input/Output (I/O) controller (214) communicatively coupled with the gaming console and the automated USB simulator (204), wherein the virtual I/O controller (214) is configured to:
receive (304) instructions for a set of test operation actions for the application from the automated USB simulator (204); and
perform (305) each of the set of test operation actions on the application.
7. The system (200) of claim 6, wherein the virtual I/O controller (214) is further configured to monitor (306) a set of performance parameters of the application on each of the set of gaming consoles corresponding to each of the set of test operation actions.
8. The system (200) of claim 6, wherein the IR module (205) is further configured to receive a command to send a deactivating signal to each of the set of gaming consoles, wherein the command is a Hexadecimal code command.
9. The system (200) of claim 6, further comprising a master computing device, wherein the virtual I/O controller (214), the automated USB simulator (204), and the IR module (205) for each of the set of gaming consoles are communicatively coupled with the master computing device, wherein each of the set of gaming consoles is communicatively coupled with the master computing device through a capture card, and wherein the automated USB simulator (204) is further configured to receive the instructions for the set of test operation actions for the application from the master computing device.
10. The system (200) of claim 6, wherein the set of test operation actions comprises at least one of a digital key press event, an analog key press event, and a mouse action event, and wherein the mouse action event comprises one of cursor navigation, scrolling, left click, or right click.
DESCRIPTION-
Technical Field
[001] This disclosure relates generally to game testing, and more particularly to method and system for automated testing of an application on gaming consoles.
Background
[002] Present-day gaming consoles include several hardware components. Currently, manually playing games and performing manual tests is a traditional approach followed by most of vendors. While implementing test automation for such embedded hardware-based systems, several additional hardware elements (such as, IR blaster, splitter, etc.) are required to tap signals and control subsequent actions or navigations, thus, making entire system more complex and tedious to operate and maintain in a production lab. Achieving parallel execution and writing script for automation in such hardware-based testing is difficult due to complex embedded design and programming dependencies. Moreover, in the present state of art, scaling up testing operations is becoming increasingly difficult as production capacity of the electronic devices increases.
[003] The conventional technqiues fail to provide for methods to automate testing gaming consoles and applications on the gaming consoles which are scalable and cost-effective. There is, therefore, a need in the present state of art for techniques to automatically perform testing operations on gaming consoles such as, switching on, switching off, key press of controllers or mouse, or the like.
SUMMARY
[004] In one embodiment, a method for automated testing of an application on a set of gaming consoles is disclosed. In one example, for each of the set of gaming consoles, the method includes receiving a command to send an activating signal to a gaming console from an Infrared (IR) module. The IR module includes an IR Light Emitting Diode (LED). The command is a Hexadecimal code command. For each of the set of gaming consoles, the method further includes sending the activating signal from the IR module to an IR receiver of the gaming console via the IR LED to activate the gaming console. For each of the set of gaming consoles, the method further includes initiating, upon activation, the application on the gaming console. For each of the set of gaming consoles, the method further includes receiving instructions for a set of test operation actions for the application by a virtual Input/Output (I/O) controller from an automated Universal Serial Bus (USB) simulator. The virtual I/O controller is communicatively coupled with the gaming console and the automated USB simulator. For each of the set of gaming consoles, the method further includes performing each of the set of test operation actions on the application through the virtual I/O controller.
[005] In one embodiment, a system for automated testing of an application on a set of gaming consoles is disclosed. In one example, for each of the set of gaming consoles, the system includes an IR module including an IR LED. The IR module is configured to receive a command to send an activating signal to a gaming console. The command is a Hexadecimal code command. The IR module is further configured to send the activating signal from the IR module to an IR receiver of the gaming console via the IR LED to activate the gaming console. The IR module is further configured to initiate, upon activation, the application on the gaming console. For each of the set of gaming consoles, the system further includes an automated USB simulator and a virtual I/O controller communicatively coupled with the gaming console and the automated USB simulator. The virtual I/O controller is configured to receive instructions for a set of test operation actions for the application from the automated USB simulator. The virtual I/O controller is further configured to perform each of the set of test operation actions on the application.
[006] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
BRIEF DESCRIPTION OF THE DRAWINGS
[007] The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles.
[008] FIG. 1 is a block diagram of an exemplary system for automated testing of an application on a set of gaming consoles, in accordance with some embodiments of the present disclosure.
[009] FIG. 2 illustrates a functional block diagram of an exemplary system for automated testing of an application on a set of gaming consoles, in accordance with some embodiments of the present disclosure.
[010] FIG. 3 illustrates a flow diagram of an exemplary process for automated testing of an application on a set of gaming consoles, in accordance with some embodiments of the present disclosure.
[011] FIG. 4 illustrates a block diagram of an exemplary Infrared (IR) module of an application testing system, in accordance with some embodiments of the present disclosure.
[012] FIG. 5 illustrates a block diagram of an exemplary controller module of an application testing system, in accordance with some embodiments of the present disclosure.
[013] FIG. 6 is a block diagram of an exemplary computer system for implementing embodiments consistent with the present disclosure.
DETAILED DESCRIPTION
[014] Exemplary embodiments are described with reference to the accompanying drawings. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While examples and features of disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the spirit and scope of the disclosed embodiments. It is intended that the following detailed description be considered as exemplary only, with the true scope and spirit being indicated by the following claims.
[015] Referring now to FIG. 1, an exemplary system 100 for automated testing of an application on a set of gaming consoles is illustrated, in accordance with some embodiments of the present disclosure. The system 100 may implement a game testing device 101 (for example, server, desktop, laptop, notebook, netbook, tablet, smartphone, mobile phone, or any other computing device), in accordance with some embodiments of the present disclosure. The application testing system 101 may automate testing of an application (for example, a game) on a set of gaming consoles using an Infrared (IR) module, a controller module, an automatic Universal Serial Bus (USB) simulator, and a testing Personal Computer (PC). It should be noted that, in some embodiments, the IR module of the application testing system 101 may send an activation signal to a gaming console in order to activate the gaming console and the controller module may perform a set of test operations received from the testing PC via the automated USB simulator.
[016] As will be described in greater detail in conjunction with FIGS. 2 – 5, for each of the set of gaming consoles, the application testing system may receive a command to send an activating signal to a gaming console from an IR module. The IR module includes an IR Light Emitting Diode (LED). The command is a Hexadecimal code command. For each of the set of gaming consoles, the application testing system may further send the activating signal from the IR module to an IR receiver of the gaming console via the IR LED to activate the gaming console. For each of the set of gaming consoles, the application testing system may further initiate, upon activation, the application on the gaming console. For each of the set of gaming consoles, the application testing system may further receive instructions for a set of test operation actions for the application by a virtual I/O controller from an automated USB simulator. The virtual I/O controller is communicatively coupled with the gaming console and the automated USB simulator. For each of the set of gaming consoles, the application testing system may further perform each of the set of test operation actions on the application through the virtual I/O controller.
[017] In some embodiments, the application testing system 101 may include one or more processors 102 and a computer-readable medium 103 (for example, a memory). The computer-readable medium 103 may include instructions for a set of test operation actions for the application. Further, the computer-readable storage medium 103 may store instructions that, when executed by the one or more processors 102, cause the one or more processors 102 to automate testing of an application on a set of gaming consoles, in accordance with aspects of the present disclosure. The computer-readable storage medium 103 may also store various data (for example, set of performance parameters of the application on each of the set of gaming consoles, IR automator data, controller data, and the like) that may be captured, processed, and/or required by the system 100.
[018] The system 100 may further include a display 104. The system 100 may interact with a user via a user interface 105 accessible via the display 104. The system 100 may also include one or more external devices 106. In some embodiments, the application testing system 101 may interact with the one or more external devices 106 over a communication network 107 for sending or receiving various data. The external devices 106 may include, but may not be limited to, a remote server, a digital device, or another computing system.
[019] Referring now to FIG. 2, functional block diagram of an exemplary system 200 for automated testing of an application on a set of gaming consoles is illustrated, in accordance with some embodiments of the present disclosure. In an embodiment, the system 200 is analogous to the application testing system 101 of the system 100. In an embodiment, the system 200 may automate testing of an application on a gaming console 201 and a gaming console 202. It should be noted that described mechanism of function of the system 200 may not be limited to two gaming consoles and may be scaled to automate testing of an application in any number of gaming consoles. The system 200 includes a testing PC 203. Further, for automated testing of an application on the gaming console 201, the system 200 includes an automated USB simulator 204 associated with the testing PC 203, an IR module 205, a controller module 206, a High-Definition Multimedia Interface (HDMI) splitter 207, a capture card 208, and a Television (TV) 209. The IR module 205 includes an IR automator 210 and an IR LED 211. The controller module 206 includes a microcontroller 212, a Raspberry Pi 213 including a virtual I/O controller 214, and an Audio/Video Receiver (AVR) USB control board 215.
[020] Similarly, for automated testing of an application on the gaming console 202, the system 200 includes an automated USB simulator 216 associated with the testing PC 203, an IR module 217, a controller module 218, an HDMI splitter 219, a capture card 220, and a TV 221. The IR module 217 includes an IR automator and an IR LED (not shown in figure). The controller module 218 includes a microcontroller, a Raspberry Pi including a virtual I/O controller, and an AVR USB control board (not shown in figure).
[021] To activate the console 201, the IR module 205 sends an activating signal from the IR LED 211 to an IR receiver (not shown in figure) of the console 201. It should be noted that the IR module 205 acts as an automated remote control to switch on or switch off the console 201. The IR automator 210 of the IR module 205 receives a command corresponding to an action from the automated USB simulator 204 of the testing PC 203 via a USB A2B cable. The command is a Hexadecimal code command including IR binary data for the IR LED 211. The action may be activating or deactivating the console 201 through the IR LED 211. By way of an example, the IR automator 210 may be an Atmega328P® microcontroller. In some embodiments, the command may be programmed into the IR automator 210 through the automated USB simulator 204 in form of an IR automation script.
[022] Further, the IR automator 210 decodes the IR binary data received and transforms the IR binary data into an electronic form. The IR automator 210 executes the IR binary data via the IR LED 211. It may be noted that the IR LED 211 may emit IR rays corresponding to the IR binary data of the command received from the IR automator 210. It may be noted that the IR rays corresponding to the IR binary data are transferred in a frequency range of about 300 GHz to about 430 THz, which is outside human visible range. Further, when the IR binary data is executed through the IR automation script, corresponding IR commands are emitted from the IR LED 211 with a clock frequency of about 16 MHz to the IR receiver of the console 201.
[023] The automated USB simulator 204 is a software-based application which simulates key press events and mouse action events via a USB protocol to trigger the virtual I/O controller 214 within the Raspberry Pi 213. The software is flashed in an ATMEGA32U4® chip, which is an 8-bit AVR microcontroller with a clock frequency of 16 MHz. The automated USB simulator acts 204 like a bridging platform between the virtual I/O controller 214 and the testing PC 203 via a serial communication port. Additionally, a keyboard/mouse automating application is programmed into the virtual I/O controller 214 via the automated USB simulator 204 to simulate a set of test operation actions in the console 201. The set of test operation actions includes at least one of a digital key press event, an analog key press event, and a mouse action event. The mouse action event includes one of cursor navigation, scrolling, left click, or right click. Commands corresponding to the set of test operation actions from the automated USB simulator 204 communicate with OS drivers of the testing PC 203 via the USB Protocol. Further, the automated USB simulator 204 synchronizes with the virtual I/O controller 214 via the microcontroller 212 to perform the set of test operation actions upon script execution.
[024] The virtual I/O controller 214 is an application developed specifically for computer systems and mini-PCs (such as, the Raspberry Pi 213) to perform test automation actions in a cost-effective manner. The virtual I/O controller 214 communicates with the testing PC 203 and acts as a bridging hub between the testing PC 203 and the console 201. In some embodiments, the virtual I/O controller 214 is compatible with Microsoft® Windows®, Linux® OS, and various gaming consoles (such as, Xbox® and PlayStation®). The virtual I/O controller 214 is supported by EMUG29PS4 firmware. Further, communication between the testing PC 203 and the gaming console 201 is established using a USB-based hardware. Further, the virtual I/O controller 214 performs set of test operation actions (such as, digital key press events, analog key press events, and mouse action events) to reproduce entire gaming action scenarios. The virtual I/O controller 214 is flashed with Hexadecimal code commands to trigger the console 201 directly without intervention of controllers or joysticks. Further, the virtual I/O controller 214 sends the Hexadecimal code commands to the AVR USB control board 215.
[025] AVR USB control board 215 is a small microcontroller configured to transform Transistor-Transistor-Logic (TTL) signals (about 3.3 Volts (V)) received from the virtual I/O controller 214 to USB protocol-type signals (about 5 V). The USB protocol-type signals are recognizable by electronic devices (such as, the console 201). Further, the electrical data in the form of USB protocol is transferred to the console 201 through a specific communication port (com port) via serial communication. Each of the set of test operation actions of the console 201 is transmitted in form of raw binary and hexadecimal data via the serial communication. Further, the console sends the raw binary and hexadecimal data to the TV 209 and the capture card 208 via the HDMI splitter 207. The set of test operation actions are visualized on the TV 209. The capture card 208 captures response of the console 201 to the set of test operation actions and provides feedback to the testing PC 203. In some embodiments, the feedback includes a set of performance parameters of the application corresponding to each of the set of test operation actions.
[026] It may be noted that for activating the console 202, the IR module 217 is functionally analogous to the IR module 205. Further, to perform the set of test operation actions on the console 202, the automated USB simulator 216, the controller module 218, the HDMI splitter 219, the capture card 220, and the TV 221 are functionally analogous to the automated USB simulator 204, the controller module 206, the HDMI splitter 207, the capture card 208, and the TV 209. Further, in some embodiments, the system 200 may be scaled up to include n number of consoles, each operated upon by an IR module (analogous to the IR module 205), an automated USB simulator (analogous to the automated USB simulator 204), and a controller module (analogous to the controller module 206). In such embodiments, each of the IR module, the automated USB simulator, and the controller module is communicatively coupled with the testing PC 203. Further, it may be noted that system 200 may be used to perform the set of test operation actions on any electronic device with an IR receiver.
[027] It should be noted that all such aforementioned modules 201 – 227 may be represented as a single module or a combination of different modules. Further, as will be appreciated by those skilled in the art, each of the modules 201 – 227 may reside, in whole or in parts, on one device or multiple devices in communication with each other. In some embodiments, each of the modules 201 – 227 may be implemented as dedicated hardware circuit comprising custom application-specific integrated circuit (ASIC) or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. Each of the modules 201 – 227 may also be implemented in a programmable hardware device such as a field programmable gate array (FPGA), programmable array logic, programmable logic device, and so forth. Alternatively, each of the modules 201 – 227 may be implemented in software for execution by various types of processors (e.g., processor 102). An identified module of executable code may, for instance, include one or more physical or logical blocks of computer instructions, which may, for instance, be organized as an object, procedure, function, or other construct. Nevertheless, the executables of an identified module or component need not be physically located together, but may include disparate instructions stored in different locations which, when joined logically together, include the module and achieve the stated purpose of the module. Indeed, a module of executable code could be a single instruction, or many instructions, and may even be distributed over several different code segments, among different applications, and across several memory devices.
[028] As will be appreciated by one skilled in the art, a variety of processes may be employed for automated testing of an application on a set of gaming consoles. For example, the exemplary system 100 and the associated application testing system 101 may automate testing of an application on a set of gaming consoles by the processes discussed herein. In particular, as will be appreciated by those of ordinary skill in the art, control logic and/or automated routines for performing the techniques and steps described herein may be implemented by the system 100 and the associated application testing system 101 either by hardware, software, or combinations of hardware and software. For example, suitable code may be accessed and executed by the one or more processors on the system 100 to perform some or all of the techniques described herein. Similarly, application specific integrated circuits (ASICs) configured to perform some or all of the processes described herein may be included in the one or more processors on the system 100.
[029] Referring now to FIG. 3, an exemplary process 300 for automated testing of an application on a set of gaming consoles is depicted via a flowchart, in accordance with some embodiments of the present disclosure. In an embodiment, the process 300 is implemented by the application testing system 101 of the system 100. For each of the set of gaming consoles, the process 300 includes receiving a command to send an activating signal to a gaming console (for example, the console 201) from an IR module (such as, the IR module 205), at step 301. The IR module includes an IR LED (such as, the IR LED 211). The command is a Hexadecimal code command. Further, for each of the set of gaming consoles, the process 300 includes sending the activating signal from the IR module to an IR receiver of the gaming console via the IR LED to activate the gaming console, at step 302. Further, for each of the set of gaming consoles, the process 300 includes initiating, upon activation, the application on the gaming console, at step 303.
[030] Further, for each of the set of gaming consoles, the process 300 includes receiving instructions for a set of test operation actions for the application by a virtual I/O controller (for example, the virtual I/O controller 214) from an automated USB simulator (for example, the automated USB simulator 204), at step 304. The virtual I/O controller is communicatively coupled with the gaming console and the automated USB simulator. In an embodiment, the virtual controller, the automated USB simulator, and the IR module for each of the set of gaming consoles are communicatively coupled with a master computing device (for example, the testing PC 203). In such an embodiment, the automated USB simulator receives the instructions for the set of test operation actions for the application from the master computing device and each of the set of gaming consoles is communicatively coupled with the master computing device through a capture card (for example, the capture card 208). By way of an example, the set of test operation actions may include, but may not be limited to, a digital key press event, an analog key press event, and a mouse action event (such as, cursor navigation, scrolling, left click, or right click).
[031] Further, for each of the set of gaming consoles, the process 300 includes performing each of the set of test operation actions on the application through the virtual I/O controller, at step 305. Further, the process 300 includes monitoring a set of performance parameters of the application on each of the set of gaming consoles corresponding to each of the set of test operation actions, at step 306. Further, the process 300 may include receiving a command to send a deactivating signal to each of the set of gaming consoles from the IR module. The command is a Hexadecimal code command.
[032] By way of an example, the IR automator 210 of the IR module 205 receives a command to send an activating signal to the console 201. The command may be programmed into the IR automator 210 via the automated USB simulator 204 by a programmer using the testing PC 203. Further, the IR automator 210 triggers the IR LED 211 to send the activating signal as IR rays to the IR receiver of the console 201 to activate the console 201. Further, the application is initiated on the activated console 201. Further, the microcontroller 212 of the controller module 205 receives instructions for a set of test operation actions for the application from the automated USB simulator 204. Further, the microcontroller 212 sends the instructions for the set of test operation actions for the application to the Raspberry Pi 213. The set of test operation actions are processed by the virtual I/O controller 214 within the Raspberry Pi 213. Further, the virtual I/O controller 214 sends signals corresponding to the set of test operation actions to the console 201 via the AVR USB control board 215 for performing the set of test operation actions on the application. Response of the console 201 to the set of test operation actions may be visualized on the TV 209 and monitored as feedback received by the testing PC 203 through the capture card 208.
[033] Referring now to FIG. 4, a block diagram of an exemplary IR module 400 of an application testing system is illustrated, in accordance with some embodiments of the present disclosure. It may be noted that the IR module 400 may be analogous to the IR module 205 of the system 200. The IR module 400 includes an ATMega 328P chip 401, electrical jumper wires 402, and an IR LED 403. In an embodiment, the ATMega 328P chip 401 is analogous to the IR automator 210 and the IR LED 403 is analogous to the IR LED 211.
[034] A PC 404 may send an activation signal to the ATMega 328P chip 401 through an A2B cable 405 in form of an IR automator hexadecimal code 406. Further, the ATMega 328P chip 401 may receive the IR automator hexadecimal code 406 and send the activation signal to an IR receiver 407 of a console 408 via the IR LED 403 in form of IR rays with corresponding codes 409. Similarly, to deactivate the console 408, the ATMega 328P chip 401 may receive the IR automator hexadecimal code 406 and send the deactivating signal to the IR receiver 407 of the console 408.
[035] Referring now to FIG. 5, a block diagram of an exemplary controller module 500 of an application testing system is illustrated, in accordance with some embodiments of the present disclosure. It may be noted that the controller module 500 may be analogous to the controller module 206 of the system 200. The controller module 500 includes a microcontroller 501, electrical jumper wires 502, TTL-USB converter 503, and a Raspberry Pi 504 including a virtual I/O controller 505. In an embodiment, the microcontroller 501 is analogous to the microcontroller 212 and the virtual I/O controller 505 is analogous to the virtual I/O controller 214.
[036] A PC 506, via an automated USB simulator 507, may send instructions for a set of test operation actions for the application to a USB-TTL converter 508 in form of electrical signals at about 5 V range. The instructions are a hexadecimal code 509 corresponding to the set of test operation actions. The USB-TTL converter 508 transforms the electrical signals from about 5 V range to about 3.3 V range. Further, the USB-TTL converter 508 sends the hexadecimal code 509 to the microcontroller 501. Further, the microcontroller 501 sends the hexadecimal code to the TTL-USB converter 503 through the electrical wires 502. The TTL-USB converter 503 transforms the electrical signals from about 3.3 V range to about 5 V range. Further, the TTL-USB converter 503 sends keyboard and mouse actions 510 to the virtual I/O controller 505 within the Raspberry Pi 504 via EMUG29PS4 Firmware. Further, the virtual I/O controller 505 sends the set of test operation actions in form of binary codes 511 to an AVR USB board with TTL-USB converter 512. The AVR USB board with TTL-USB converter 512 transforms the binary codes 511 from about 3.3 V range to about 5 V range. Further, the AVR USB board with TTL-USB converter 512 sends the binary codes 511 to a console 513.
[037] As will be also appreciated, the above described techniques may take the form of computer or controller implemented processes and apparatuses for practicing those processes. The disclosure can also be embodied in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, solid state drives, CD-ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer or controller, the computer becomes an apparatus for practicing the invention. The disclosure may also be embodied in the form of computer program code or signal, for example, whether stored in a storage medium, loaded into and/or executed by a computer or controller, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.
[038] The disclosed methods and systems may be implemented on a conventional or a general-purpose computer system, such as a personal computer (PC) or server computer. Referring now to FIG. 6, an exemplary computing system 600 that may be employed to implement processing functionality for various embodiments (e.g., as a SIMD device, client device, server device, one or more processors, or the like) is illustrated. Those skilled in the relevant art will also recognize how to implement the invention using other computer systems or architectures. The computing system 600 may represent, for example, a user device such as a desktop, a laptop, a mobile phone, personal entertainment device, DVR, and so on, or any other type of special or general-purpose computing device as may be desirable or appropriate for a given application or environment. The computing system 600 may include one or more processors, such as a processor 601 that may be implemented using a general or special purpose processing engine such as, for example, a microprocessor, microcontroller or other control logic. In this example, the processor 601 is connected to a bus 602 or other communication medium. In some embodiments, the processor 601 may be an Artificial Intelligence (AI) processor, which may be implemented as a Tensor Processing Unit (TPU), or a graphical processor unit, or a custom programmable solution Field-Programmable Gate Array (FPGA).
[039] The computing system 600 may also include a memory 603 (main memory), for example, Random Access Memory (RAM) or other dynamic memory, for storing information and instructions to be executed by the processor 601. The memory 603 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by the processor 601. The computing system 600 may likewise include a read only memory (“ROM”) or other static storage device coupled to bus 602 for storing static information and instructions for the processor 601.
[040] The computing system 600 may also include a storage device 604, which may include, for example, a media drives 605 and a removable storage interface. The media drive 605 may include a drive or other mechanism to support fixed or removable storage media, such as a hard disk drive, a floppy disk drive, a magnetic tape drive, an SD card port, a USB port, a micro USB, an optical disk drive, a CD or DVD drive (R or RW), or other removable or fixed media drive. A storage media 606 may include, for example, a hard disk, magnetic tape, flash drive, or other fixed or removable medium that is read by and written to by the media drive 605. As these examples illustrate, the storage media 606 may include a computer-readable storage medium having stored there in particular computer software or data.
[041] In alternative embodiments, the storage devices 604 may include other similar instrumentalities for allowing computer programs or other instructions or data to be loaded into the computing system 600. Such instrumentalities may include, for example, a removable storage unit 607 and a storage unit interface 608, such as a program cartridge and cartridge interface, a removable memory (for example, a flash memory or other removable memory module) and memory slot, and other removable storage units and interfaces that allow software and data to be transferred from the removable storage unit 607 to the computing system 600.
[042] The computing system 600 may also include a communications interface 609. The communications interface 609 may be used to allow software and data to be transferred between the computing system 600 and external devices. Examples of the communications interface 609 may include a network interface (such as an Ethernet or other NIC card), a communications port (such as for example, a USB port, a micro USB port), Near field Communication (NFC), etc. Software and data transferred via the communications interface 609 are in the form of signals which may be electronic, electromagnetic, optical, or other signals capable of being received by the communications interface 609. These signals are provided to the communications interface 609 via a channel 610. The channel 610 may carry signals and may be implemented using a wireless medium, wire or cable, fiber optics, or other communications medium. Some examples of the channel 610 may include a phone line, a cellular phone link, an RF link, a Bluetooth link, a network interface, a local or wide area network, and other communications channels.
[043] The computing system 600 may further include Input/Output (I/O) devices 611. Examples may include, but are not limited to a display, keypad, microphone, audio speakers, vibrating motor, LED lights, etc. The I/O devices 611 may receive input from a user and also display an output of the computation performed by the processor 601. In this document, the terms “computer program product” and “computer-readable medium” may be used generally to refer to media such as, for example, the memory 603, the storage devices 604, the removable storage unit 607, or signal(s) on the channel 610. These and other forms of computer-readable media may be involved in providing one or more sequences of one or more instructions to the processor 601 for execution. Such instructions, generally referred to as “computer program code” (which may be grouped in the form of computer programs or other groupings), when executed, enable the computing system 600 to perform features or functions of embodiments of the present invention.
[044] In an embodiment where the elements are implemented using software, the software may be stored in a computer-readable medium and loaded into the computing system 600 using, for example, the removable storage unit 607, the media drive 605 or the communications interface 609. The control logic (in this example, software instructions or computer program code), when executed by the processor 601, causes the processor 601 to perform the functions of the invention as described herein.
[045] Thus, the disclosed method and system try to overcome the technical problem of automated testing of an application on a set of gaming consoles. The method and system do not require additional hardware (such as, joystick, IR blaster, controller hardware, and the like) to operate a gaming console. Further, the method and system may simulate keypresses for multiple electronic devices (such as, gaming consoles) with usage of a single testing PC, thus, reducing requirement for additional hardware (for example, extra PCs for each console). The system is capable of mass scalability testing of electronic devices with reduced complexity and high affordability.
[046] As will be appreciated by those skilled in the art, the techniques described in the various embodiments discussed above are not routine, or conventional, or well understood in the art. The techniques discussed above provide for automated testing of an application on a set of gaming consoles. For each of the set of gaming consoles, the techniques first receive a command to send an activating signal to a gaming console from an IR module. The IR module includes an IR LED. The command is a Hexadecimal code command. For each of the set of gaming consoles, the techniques then send the activating signal from the IR module to an IR receiver of the gaming console via the IR LED to activate the gaming console. For each of the set of gaming consoles, the techniques then initiate, upon activation, the application on the gaming console. For each of the set of gaming consoles, the techniques then receive instructions for a set of test operation actions for the application by a virtual I/O controller from an automated USB simulator. The virtual I/O controller is communicatively coupled with the gaming console and the automated USB simulator. For each of the set of gaming consoles, the techniques then perform each of the set of test operation actions on the application through the virtual I/O controller.
[047] In light of the above mentioned advantages and the technical advancements provided by the disclosed method and system, the claimed steps as discussed above are not routine, conventional, or well understood in the art, as the claimed steps enable the following solutions to the existing problems in conventional technologies. Further, the claimed steps clearly bring an improvement in the functioning of the device itself as the claimed steps provide a technical solution to a technical problem.
[048] The specification has described method and system for automated testing of an application on a set of gaming consoles. The illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
[049] Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
[050] It is intended that the disclosure and examples be considered as exemplary only, with a true scope and spirit of disclosed embodiments being indicated by the following claims.
| # | Name | Date |
|---|---|---|
| 1 | 202111031322-IntimationOfGrant27-05-2024.pdf | 2024-05-27 |
| 1 | 202111031322-STATEMENT OF UNDERTAKING (FORM 3) [12-07-2021(online)].pdf | 2021-07-12 |
| 2 | 202111031322-PatentCertificate27-05-2024.pdf | 2024-05-27 |
| 2 | 202111031322-REQUEST FOR EXAMINATION (FORM-18) [12-07-2021(online)].pdf | 2021-07-12 |
| 3 | 202111031322-REQUEST FOR EARLY PUBLICATION(FORM-9) [12-07-2021(online)].pdf | 2021-07-12 |
| 3 | 202111031322-CLAIMS [09-09-2022(online)].pdf | 2022-09-09 |
| 4 | 202111031322-PROOF OF RIGHT [12-07-2021(online)].pdf | 2021-07-12 |
| 4 | 202111031322-FER_SER_REPLY [09-09-2022(online)].pdf | 2022-09-09 |
| 5 | 202111031322-POWER OF AUTHORITY [12-07-2021(online)].pdf | 2021-07-12 |
| 5 | 202111031322-FER.pdf | 2022-03-11 |
| 6 | 202111031322-FORM-9 [12-07-2021(online)].pdf | 2021-07-12 |
| 6 | 202111031322-COMPLETE SPECIFICATION [12-07-2021(online)].pdf | 2021-07-12 |
| 7 | 202111031322-FORM 18 [12-07-2021(online)].pdf | 2021-07-12 |
| 7 | 202111031322-DECLARATION OF INVENTORSHIP (FORM 5) [12-07-2021(online)].pdf | 2021-07-12 |
| 8 | 202111031322-DRAWINGS [12-07-2021(online)].pdf | 2021-07-12 |
| 8 | 202111031322-FORM 1 [12-07-2021(online)].pdf | 2021-07-12 |
| 9 | 202111031322-FIGURE OF ABSTRACT [12-07-2021(online)].jpg | 2021-07-12 |
| 10 | 202111031322-FORM 1 [12-07-2021(online)].pdf | 2021-07-12 |
| 10 | 202111031322-DRAWINGS [12-07-2021(online)].pdf | 2021-07-12 |
| 11 | 202111031322-FORM 18 [12-07-2021(online)].pdf | 2021-07-12 |
| 11 | 202111031322-DECLARATION OF INVENTORSHIP (FORM 5) [12-07-2021(online)].pdf | 2021-07-12 |
| 12 | 202111031322-FORM-9 [12-07-2021(online)].pdf | 2021-07-12 |
| 12 | 202111031322-COMPLETE SPECIFICATION [12-07-2021(online)].pdf | 2021-07-12 |
| 13 | 202111031322-POWER OF AUTHORITY [12-07-2021(online)].pdf | 2021-07-12 |
| 13 | 202111031322-FER.pdf | 2022-03-11 |
| 14 | 202111031322-PROOF OF RIGHT [12-07-2021(online)].pdf | 2021-07-12 |
| 14 | 202111031322-FER_SER_REPLY [09-09-2022(online)].pdf | 2022-09-09 |
| 15 | 202111031322-REQUEST FOR EARLY PUBLICATION(FORM-9) [12-07-2021(online)].pdf | 2021-07-12 |
| 15 | 202111031322-CLAIMS [09-09-2022(online)].pdf | 2022-09-09 |
| 16 | 202111031322-REQUEST FOR EXAMINATION (FORM-18) [12-07-2021(online)].pdf | 2021-07-12 |
| 16 | 202111031322-PatentCertificate27-05-2024.pdf | 2024-05-27 |
| 17 | 202111031322-STATEMENT OF UNDERTAKING (FORM 3) [12-07-2021(online)].pdf | 2021-07-12 |
| 17 | 202111031322-IntimationOfGrant27-05-2024.pdf | 2024-05-27 |
| 1 | ExtensiveSearchhasbeenconductedE_11-03-2022.pdf |