Semi-Automated GUI Testing via State Capture and Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current automated GUI testing methods require significant manual effort for maintaining and updating test scripts due to frequent changes in graphical user interfaces, leading to inefficiency and reduced confidence in test results.

Innovation Solution

A semi-automatic method that captures the entire current state of the system under test, including all components and attributes, and compares it to a modified state, allowing users to approve or discard detected changes, thereby reducing manual effort and enhancing testing robustness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If capture/replay or direct scripting is used for automated GUI testing, then test automation is achieved, but significant manual effort is required to maintain and update test scripts due to frequent GUI changes

Engineering Contradiction:
Improvetest automationVSAvoidmanual maintenance time
Core Design Contradiction:
Extent of automationVSLoss of time

Solution Approach 1:

The patent creates a digital copy of the entire GUI state including all components and their attributes. This copy serves as the basis for automated testing, eliminating the need for manual script updates when the GUI changes. The system captures the complete state of the GUI under test and uses this copied state for comparison and validation, automatically adapting to GUI modifications without requiring manual intervention.

Inventive Principle:
Principle #26Copying

2Measurement precision

If manual definition of target components and assertions is required, then test precision is improved, but productivity decreases due to significant manual effort

Engineering Contradiction:
Improvetest precisionVSAvoidtesting productivity
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system performs self-service by automatically capturing the complete GUI state, identifying all components and their attributes, and generating test assertions without manual intervention. The testing system autonomously extracts component information, creates test cases, and updates test scripts automatically, eliminating the need for manual definition while maintaining high precision through comprehensive state capture.

Inventive Principle:
Principle #25Self-service

3Reliability

If test scripts are manually maintained to adapt to GUI changes, then test reliability is preserved, but the complexity of the testing process increases

Engineering Contradiction:
Improvetest reliabilityVSAvoidtesting process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a feedback mechanism that automatically detects GUI changes by comparing the current GUI state with the captured state. When changes are detected, the system automatically updates the test scripts to reflect these changes, ensuring test reliability is maintained. This closed-loop feedback system eliminates manual script maintenance while reducing process complexity through automation.

Inventive Principle:
Principle #23Feedback

4Measurement precision

If component identification uses multiple criteria such as label and coordinates, then identification accuracy is improved, but the effort to maintain test scripts increases due to frequent GUI changes

Engineering Contradiction:
Improvecomponent identification accuracyVSAvoidscript maintenance time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system uses a universal approach by capturing the complete GUI state including all components and their multiple attributes (labels, coordinates, and other properties). This comprehensive state capture serves multiple functions: it enables accurate component identification, automatically adapts to GUI changes, and generates test assertions. The multi-functional state capture eliminates the need for manual script maintenance while maintaining high identification accuracy.

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

Data Source

PatentUS10705950B2Method and system for semi-automatic testing of program code for graphical user interfaces
Publication Date: 2020.07.07 RETEST GMBH
  • US10705950B2 patent drawing
  • US10705950B2 patent drawing
  • US10705950B2 patent drawing

AI summary

A semi-automatic method for testing program code is disclosed. The method includes executing a program code, and capturing at least one current state of the system under test. The method includes providing a modified version of the program code, thus providing a modified system under test, and executing the modified program code and capturing a modified state of the modified system under test. The method includes comparing the current state of the system under test and the modified state of the modified system under test and detecting changes in the system under test. The method includes displaying at least part of the detected changes to a user and soliciting corresponding user input in terms of applying or discarding the displayed changes. The method includes applying or discarding the detected changes based on the corresponding user input by automatically updating the current state of the system under test.