Embedded Command Server for GUI Event Automation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current GUI test automation tools are inefficient, expensive, and require extensive programming, often missing events or experiencing timing issues, making it difficult to thoroughly and correctly test all possible GUI combinations.

Innovation Solution

A computer system with a command execution server and client architecture that generates and verifies graphical user interface events, allowing for easy test script generation and execution, independent of underlying business logic, and providing real-time verification of GUI state changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual GUI testing is used, then test coverage can be thorough, but testing efficiency is low and time consumption is high

Engineering Contradiction:
Improvetesting efficiencyVSAvoidtime consumption
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system enables self-service testing by allowing the GUI application to automatically generate and execute its own test cases through the command execution server, eliminating the need for manual test script writing and execution while maintaining thorough test coverage

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical testing operations with an automated command execution server that generates GUI events programmatically, substituting human operators with an automated system that can rapidly execute test cases without time loss

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Extent of automation

If current automated GUI testing tools are used, then testing automation is achieved, but the tools are expensive and require extensive programming

Engineering Contradiction:
Improvetesting automationVSAvoidprogramming complexity
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The patent extracts the testing functionality from complex external tools and embeds it directly into the GUI application through a command execution server, removing the need for separate expensive testing software and extensive programming while maintaining full automation capability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The command execution server provides universal testing capability that works with any GUI application, making the testing mechanism multi-functional and applicable across different applications without requiring application-specific testing tools or extensive programming

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Extent of automation

If current automated GUI testing tools are used, then automation is implemented, but timing issues and missed events occur

Engineering Contradiction:
Improvetesting automationVSAvoidtest accuracy
Core Design Contradiction:
Extent of automationVSReliability

Solution Approach 1:

The system implements feedback mechanisms where the command execution server monitors GUI event completion and provides acknowledgment signals, allowing the testing system to adjust timing dynamically based on actual event execution status, thereby preventing timing issues and missed events

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces dynamic timing adjustment where the command execution server can pause or wait for specific GUI events to complete before proceeding to the next test step, making the automated testing process adaptive to actual application behavior rather than relying on fixed timing schedules

Inventive Principle:
Principle #15Dynamics

4Adaptability or versatility

If generic GUI testing tools are used, then testing coverage is achieved, but the tools are graphic intensive and expensive

Engineering Contradiction:
Improvetesting coverageVSAvoidresource consumption
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent extracts the heavy graphic-intensive testing functionality from external generic tools and implements a lightweight command execution server that runs within the application itself, reducing resource consumption while maintaining comprehensive testing coverage

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system uses a lightweight, disposable command execution server that can be instantiated and executed without requiring expensive, permanent graphic-intensive testing infrastructure, making the testing solution more economical and resource-efficient

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS9454463B2Rapid automation front-end framework library and executable graphic user interface testing system and method
Publication Date: 2016.09.27 INFINERA CORP
  • US9454463B2 patent drawing
  • US9454463B2 patent drawing
  • US9454463B2 patent drawing

AI summary

A computer system comprising a display, one or more computer readable medium storing a computer application comprising computer executable code for creating a graphical user interface, one or more processors receiving and executing the computer executable code to provide the graphical user interface on the display, the computer readable medium also storing a testing application comprising computer executable code for activating the graphical user interface, the testing application defining a command execution server embedded into the computer application, and a command client external to the computer application. Upon execution by the one or more processors, the command execution server receives a command for the graphical user interface, enables the execution of the command by the computer application by generating a graphical user interface event in the graphical user interface of the computer application, and sends an acknowledgement to the command client responsive to the completed execution of the command.