Semi-Automated GUI Testing via State Capture and Comparison
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
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
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.
Data Source
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.


