Test Controller for Concurrent Multi-Device Application Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Manual testing of applications on multiple devices is inefficient, and existing automation methods require time-consuming pre-recording and reworking of test scripts, which are not reusable when application functions or user interfaces are updated.
Innovation Solution
A test controller that interfaces between a master computing device and multiple slave devices, allowing direct transmission of input test commands and eliminating the need for pre-recorded scripts by using a processor to initiate installations, launch applications, and compare test results across devices, with agents capable of translating commands and adapting to different operating systems and screen sizes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If pre-recorded test scripts are used for automation testing, then testing automation is achieved, but the time and effort required to write and pre-record scripts increases significantly
Solution Approach 1:
Instead of pre-recording test scripts before testing (traditional approach), the system captures test commands during actual test execution and translates them in real-time to slave devices. This inversion eliminates the time-consuming pre-recording phase while maintaining automation benefits.
Solution Approach 2:
The system performs preliminary setup by installing agent programs on all devices and pre-configuring the translation mechanism, so that during actual testing, only command translation is needed without full script pre-recording. This reduces the time burden while maintaining automation.
2Extent of automation
If pre-recorded test scripts are used, then automation is achieved, but the scripts are not reusable when application functions or user interfaces are updated
Solution Approach 1:
The test command translation system dynamically adapts to changes in application functions and user interfaces by translating commands in real-time during test execution. This dynamic approach allows the system to handle updates without requiring script re-recording, maintaining both automation and adaptability.
Solution Approach 2:
The system changes parameters such as device identifiers, interface elements, and command formats dynamically during test execution based on the target device and application state. This allows the same test logic to work across different application versions and device configurations without script modification.
3Adaptability or versatility
If manual testing is performed on multiple devices, then flexibility is maintained, but testing efficiency is very low
Solution Approach 1:
The system segments the testing process into master device (test command generation) and slave devices (test execution). This segmentation allows one tester to simultaneously test multiple devices, dramatically improving efficiency while maintaining the flexibility to test different device configurations.
Solution Approach 2:
The test controller serves multiple functions: generating test commands, translating commands to different device formats, coordinating multiple slave devices, and collecting test results. This multi-functionality allows a single system to replace multiple manual testers while maintaining testing flexibility across diverse devices.
Data Source
AI summary
A test controller interfacing between a master computing device and slave computing devices includes a processor configured to launch a master application on the master computing device and a slave application to be tested on each respective slave computing device, with each slave application being the same as the master application. The processor is also configured to receive from the master computing device an input test command along with a test result based on execution of the input test command by the master application, and transmit the received input test command to each slave computing device. In addition, the processor is configured to receive a respective test result from each slave computing device based on execution of the received input test command, and compare each respective test result from the slave computing devices to the test result from the master computing device.


