Dynamic Test Scripts via Semantic UI Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing test script tools, such as eCATT and HP-QTP, generate scripts that are specific to the user interfaces of applications, requiring significant changes even with minor UI modifications, due to dependency on screen layout and object hierarchy, making them inflexible and resource-intensive.

Innovation Solution

A dynamic test scripting system that uses a server and client architecture with a testing program, including a testing execution engine and modules, which defines and executes test scripts independently of the user interface layout, utilizing a test data repository and a screen reader to match test data, checks, and actions with user interface elements through unique semantic identifiers, excluding screen location information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If test scripts are created by recording user actions with tracked screen coordinates or object hierarchy, then the automation testing function is achieved, but the test scripts become dependent on specific user interface layout and require significant changes with minor UI modifications

Engineering Contradiction:
Improveautomation testingVSAvoidUI layout adaptability
Core Design Contradiction:
Extent of automationVSAdaptability or versatility

Solution Approach 1:

The patent segments the test script into two independent parts: a data layer containing test logic, test data, and expected results, and a presentation layer handling UI interaction. This segmentation allows the test logic to remain unchanged while only the UI mapping layer needs adjustment when interfaces change, thereby maintaining automation while improving adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary layer (test data repository and screen reader) that acts as a mediator between the test script and the user interface. This intermediary abstracts the UI-specific details from the test logic, allowing the test script to interact with the UI through standardized interfaces rather than direct coordinate or hierarchy references, thus enabling automation while reducing dependency on specific UI layouts.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If test scripts use static information representing application state at recording time, then the testing process is simplified, but the test scripts require significant resource investment to update with UI changes

Engineering Contradiction:
Improvetest script creationVSAvoidscript update time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent transforms the static test script approach into a dynamic system where the test data repository can be updated independently of the test logic. The screen reader dynamically maps test data to current UI elements, allowing the system to adapt to UI changes automatically without requiring manual updates to the entire test script, thus reducing update time while maintaining ease of creation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal test data repository structure that can accommodate different UI layouts and application types through standardized data formats and mappings. This universal structure allows the same test script framework to work across different UI configurations, reducing the need for significant updates when interfaces change, thereby maintaining ease of manufacture while minimizing time loss.

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

3Reliability

If test scripts are application and user interface specific, then accurate testing of the specific application is achieved, but the resource expenditure increases significantly with any UI modification

Engineering Contradiction:
Improvetesting accuracyVSAvoidresource efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments testing into application-logic testing and UI-specific mapping. The test data repository contains application-specific test logic that ensures accurate testing, while the screen reader handles UI-specific mappings. This segmentation allows the core testing logic to remain unchanged and reusable across different UI versions, maintaining reliability while improving resource efficiency by eliminating redundant updates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces the screen reader as an intermediary that handles all UI-specific interactions, allowing the core test logic to remain application-specific and accurate while the intermediary absorbs UI changes. This ensures that testing accuracy is maintained through precise application logic testing, while resource expenditure is reduced because only the intermediary layer needs adjustment when UIs change.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8667467B2Dynamic test scripts
Publication Date: 2014.03.04 SAP SE
  • US8667467B2 patent drawing
  • US8667467B2 patent drawing
  • US8667467B2 patent drawing

AI summary

A method and apparatus for generating dynamic test scripts enables the design and use of testing scripts that are independent of an application and the user interface layout of the application. The method and apparatus store a set of test data, checks and an action list independent from a test script. The test script matches the properties of the test data, checks and action list items with the properties of user interface elements in an application at run-time. The run-time matching allows for the script to be utilized for different applications as well as altered or updated versions of those applications with minimal or no changes to the testing script. This method and system are particularly relevant for the testing of applications using the user interface rather than backend utilities (APIs, services etc.).