Model-Driven UI Test Script Generation via Abstract Modeling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing UI testing methods are tedious, error-prone, and require significant effort due to the need for manual scripting and rework, especially when updating or migrating test cases across different platforms and technologies, with limited customizability and independence from technology and platform.

Innovation Solution

A method and system for automated UI testing using model-driven techniques, where a processor selects a UI model, creates a test case model as a sequence of UI actions based on a structure pattern, validates the model, and generates a test case script, allowing for technology and platform independence and reduced rework.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If manual scripting is used for UI automation testing, then test cases can be created, but the process becomes tedious, error-prone, and requires significant effort and time

Engineering Contradiction:
ImproveUI automation testingVSAvoidtime required for creating and maintaining test cases
Core Design Contradiction:
Extent of automationVSLoss of time

Solution Approach 1:

The patent uses UI models as abstract copies or representations of the actual user interface. These models capture the structure, elements, and behavior of the UI without being the UI itself. Test cases are generated by transforming these model copies into executable test scripts, eliminating the need to manually observe and script every UI interaction while maintaining accuracy.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs preliminary actions by creating and maintaining UI models separately before test case generation. The UI models are established as the source of truth, and test cases are subsequently derived from these pre-existing models. This preliminary modeling phase enables automated generation and simplifies updates when UI changes occur.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If test cases are manually updated to reflect UI changes, then testing accuracy is maintained, but significant rework and effort are required

Engineering Contradiction:
Improvetesting accuracyVSAvoidefficiency of updating test cases
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Test cases are generated as transformations of the UI model copies. When the UI model changes, the test case generation process automatically transforms the updated model into new test scripts, ensuring testing accuracy reflects the current UI state without manual intervention. The model acts as an intermediate copy that captures UI changes centrally.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system establishes a feedback loop where UI model changes automatically trigger test case regeneration. The transformation process continuously monitors the UI model state and regenerates test cases accordingly, providing automatic feedback that ensures test accuracy without requiring manual updates. This closed-loop system maintains reliability while improving productivity.

Inventive Principle:
Principle #23Feedback

3Extent of automation

If test cases are generated directly from running applications, then automation is achieved, but customizability and independence from technology and platform are reduced

Engineering Contradiction:
Improvetest script generationVSAvoidcustomizability and platform independence
Core Design Contradiction:
Extent of automationVSAdaptability or versatility

Solution Approach 1:

The patent introduces UI models as intermediary artifacts between the running application and the test case generation process. These models serve as technology- and platform-independent abstractions that mediate the transformation into executable test scripts. The intermediary model layer enables automation while preserving adaptability, as the same model can be transformed into different test scripts for different platforms and technologies.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the test case generation process into distinct phases: UI modeling (creating abstract representations), transformation (converting models to test scripts), and execution. This segmentation allows the modeling phase to be technology-independent while the transformation phase can be customized for different platforms, maintaining both automation and adaptability.

Inventive Principle:
Principle #1Segmentation

4Productivity

If conventional technology-driven test generation is used, then test cases can be created, but implementation, maintenance, and migration across platforms become challenging and effort-consuming

Engineering Contradiction:
Improvetest case creation speedVSAvoidcomplexity of implementing, maintaining, and migrating test cases
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates universal UI models that can serve multiple functions: they represent the UI structure, define test case behavior, and enable generation across different platforms and technologies. This single universal model replaces multiple platform-specific test scripts, reducing the complexity of implementation, maintenance, and migration while maintaining high productivity in test case creation.

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

Data Source

PatentUS10146672B2Method and system for automated user interface (UI) testing through model driven techniques
Publication Date: 2018.12.04 TATA CONSULTANCY SERVICES LTD
  • US10146672B2 patent drawing
  • US10146672B2 patent drawing
  • US10146672B2 patent drawing

AI summary

A method and system for automated UI testing through model driven techniques where the UI test case model is generated based on the selected UI model content. The system selects the UI model corresponding to which test case model is created and populated into a test case editor using a test case model creation module. In one embodiment, the test case model before being populated into the test case editor is created as a sequence of UI Actions based on a structure pattern of the selected UI model. In another embodiment, the test case editor displays and edits the test case model. A validation module, based on rules and constraints then validates the test case model against the corresponding UI model. Thereafter, a script generation module generates a test case script from the test case model for the selected UI model.