GUI Regression Testing via Weighted Difference Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional GUI testing systems rely on human intervention for determining validity, which is costly and prone to error due to the increasing complexity and dynamic nature of graphical user interfaces, as they often require bitwise comparisons that cannot account for acceptable differences in GUI states such as changing information or variations in object placement and color.

Innovation Solution

A system and method for regression testing of graphical user interfaces that computes the difference between the actual and target states using a weighting function, allowing for threshold-based validation, with the option to blind-out specific regions or objects and utilize parameters like color, placement, and time/date to determine GUI validity, thereby automating the testing process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If bitwise comparison is used to validate GUI state, then measurement precision is improved, but adaptability deteriorates because it cannot account for acceptable differences such as changing information or variations in object placement and color

Engineering Contradiction:
ImproveGUI state validation accuracyVSAvoidAcceptance of valid GUI variations
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by assigning different weightings to different regions and properties of the GUI. Critical areas like text content and functional elements receive higher weightings for strict validation, while non-critical areas like background colors, margins, and decorative elements receive lower weightings to accept natural variations. This allows the system to maintain high measurement precision for important elements while adapting to acceptable variations in less important elements.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent transforms the binary bitwise comparison into a continuous measurement system using weightings and thresholds. Instead of a simple pass/fail result, the system calculates a difference score that can be compared against configurable thresholds. This parameter change enables the system to distinguish between critical differences that require correction and minor variations that are acceptable, thereby improving both precision and adaptability.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If human intervention is used to determine GUI validity, then adaptability is improved as humans can judge acceptable differences, but productivity deteriorates due to increased costs and time requirements

Engineering Contradiction:
ImproveJudgment of acceptable GUI differencesVSAvoidTesting efficiency and cost
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements self-service by enabling the GUI testing system to automatically perform the judgment function that previously required human intervention. The weighted difference calculation system autonomously evaluates GUI variations against configured thresholds and determines validity without human involvement. This automation maintains adaptability by using intelligently designed weightings while dramatically improving productivity by eliminating manual review processes.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces an intermediary computational layer between the raw GUI comparison and the validity decision. The weighted difference score acts as an intermediary metric that translates complex visual comparisons into a single comparable value. This intermediary enables automated decision-making while preserving the nuanced judgment capability, allowing the system to handle complex GUI variations without requiring direct human intervention.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If automated testing is implemented, then productivity is improved by reducing human labor, but measurement precision deteriorates because automated systems struggle to distinguish valid variations from actual errors

Engineering Contradiction:
ImproveAutomation of testing processVSAvoidAccuracy of validity determination
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent applies local quality by implementing region-specific and property-specific weightings in the automated comparison system. Different areas of the GUI (e.g., header, content area, footer) and different properties (e.g., text, position, color) receive customized weightings based on their importance. This allows the automated system to maintain high measurement precision for critical elements while being tolerant of variations in less important elements, effectively distinguishing valid variations from actual errors.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent introduces dynamics by making the comparison criteria flexible and configurable rather than fixed. The weighting scheme and thresholds can be dynamically adjusted based on the specific GUI being tested and the acceptable variation requirements. This dynamic approach enables the automated system to adapt to different testing scenarios and maintain high measurement precision across diverse GUI types and requirements.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7644368B2System and method for regression tests of user interfaces
Publication Date: 2010.01.05 SAP SE
  • US7644368B2 patent drawing
  • US7644368B2 patent drawing
  • US7644368B2 patent drawing

AI summary

Embodiments of the invention are generally directed to a system and method for regression tests of graphical user interfaces. In one embodiment, a testing system receives the actual state and the target of a GUI under test. The testing system computes the difference between the actual state and the target state based, at least in part, on a weighting function. The computed difference is compared to a threshold value. In an embodiment, if the difference is within the threshold, then the system indicates that the GUI is valid.