Adaptive Timeout Value for GUI Element Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Automated functional testing of applications faces challenges in setting an optimal timeout value for detecting graphical user interface (GUI) elements, leading to either premature termination or unnecessary delays due to temporary slowdowns or communication issues.

Innovation Solution

A dynamically determined adaptive timeout value is used, based on prior functional testing iterations, to accommodate changes in execution time, ensuring accurate and efficient detection of GUI elements without manual presetting.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a fixed timeout value is used for detecting GUI elements, then the testing process is simple to implement, but it causes premature termination when execution time increases or unnecessary delays when execution time decreases

Engineering Contradiction:
Improvetesting accuracyVSAvoidtesting speed
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies the dynamics principle by transitioning from a static fixed timeout value to a dynamic adaptive timeout value that automatically adjusts based on historical performance data. The timeout value is updated iteratively using exponential moving average calculation: new_timeout = alpha * current_execution_time + (1 - alpha) * old_timeout, where alpha is a smoothing factor. This allows the timeout to adapt to changing execution conditions, preventing both premature termination and unnecessary delays.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements feedback by continuously monitoring the actual execution time of GUI element detection and using this information to adjust the timeout value for future operations. The system collects performance data from previous testing iterations and feeds it back into the timeout calculation mechanism, creating a closed-loop control system that self-optimizes based on real-world performance.

Inventive Principle:
Principle #23Feedback

2Reliability

If a long timeout value is set to avoid premature termination, then reliability improves, but testing speed decreases due to unnecessary waits

Engineering Contradiction:
Improvedetection accuracyVSAvoidtesting efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by using only the necessary portion of the timeout value based on actual performance needs. Rather than always waiting for a fixed long duration, the adaptive timeout calculates the minimum required wait time based on historical data, performing just enough waiting to ensure reliable detection without excessive delays. This optimizes the balance between reliability and efficiency.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If a short timeout value is set to improve testing speed, then productivity improves, but reliability decreases due to premature termination

Engineering Contradiction:
Improvetesting speedVSAvoiddetection accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by pre-calculating the timeout value based on historical performance data before each detection operation. The system maintains a running record of execution times and uses this pre-computed information to set an optimized timeout value in advance, rather than using a conservative fixed value that would cause unnecessary delays or a risky short value that might cause premature termination.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10860459B2Dynamically determined adaptive timeout value for detecting graphical user interface element of application undergoing functional testing
Publication Date: 2020.12.08 MICRO FOCUS LLC
  • US10860459B2 patent drawing
  • US10860459B2 patent drawing
  • US10860459B2 patent drawing

AI summary

An adaptive timeout value for a script operation associated with functional testing of an application is determined. The script operation specifies detecting display of a specific graphical user interface (GUI) element by the application. The adaptive timeout value is dynamically determined based on prior functional testing of the application. Responsive to encountering the script operation within a script while functionally testing the application under direction of the script, waiting occurs until display of the specific GUI element by the application has been detected, or until timing out has occurred in correspondence with the dynamically determined adaptive timeout value.