Automated Software Testing via UI Data Model Emulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Manual software testing is cumbersome, time-consuming, and error-prone, lacking efficient automated techniques that provide documented objective evidence of testing activities and results, especially for identifying passed and failed tests and potential causes of failures.

Innovation Solution

A method and system for automated software testing that emulates user interactions with a graphical user interface, using a test script to execute instructions, verify outputs, and generate reports, including partial path specifications for user interface data elements and customized parameters for different users, to search and retrieve data elements efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If automated testing is implemented, then productivity and efficiency are improved, but device complexity increases due to the need for test scripts and automation infrastructure

Engineering Contradiction:
Improvetesting efficiencyVSAvoidtesting system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a virtual copy of the user interface through a hierarchical data model that mirrors the visual display structure. This data model includes elements like windows, controls, and data elements with hierarchical relationships, allowing the testing system to interact with a simplified representation rather than the complex actual UI, thus reducing testing system complexity while maintaining automation capabilities

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces a data model as an intermediary layer between the testing system and the actual user interface. This data model serves as a mediator that translates complex UI interactions into simplified data operations, reducing the complexity of the testing system while enabling automated testing through structured data manipulation

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If complete path specifications are used for all user interface data elements, then measurement precision is improved, but device complexity increases due to the verbosity of test scripts

Engineering Contradiction:
Improvedata element identification accuracyVSAvoidtest script complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies local quality by allowing test scripts to specify only the necessary portion of the path to a data element rather than requiring the complete path. The data model includes hierarchical information that enables identification of data elements through partial paths, maintaining precise identification while reducing test script complexity by including only relevant path segments locally where needed

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements partial action by allowing test scripts to reference data elements using partial paths instead of complete paths. The data model's hierarchical structure enables the system to resolve partial path references to unique data elements, achieving precise identification without requiring the full path specification, thus reducing test script complexity while maintaining measurement precision

Inventive Principle:
Principle #16Partial or excessive action

3Ease of operation

If manual testing is performed, then ease of operation is maintained, but loss of time increases due to the cumulative nature of manual testing activities

Engineering Contradiction:
Improvetesting simplicityVSAvoidtesting duration
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-defining the hierarchical data model structure that represents the user interface before testing begins. This pre-established data model with its hierarchical relationships and element definitions enables automated testing to proceed efficiently without requiring manual setup during each test execution, thus reducing testing duration while maintaining operational simplicity through standardized structures

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a virtual copy of the user interface interaction process through automated test scripts that replicate user actions. This copying of user interactions into automated sequences maintains the simplicity of the original user operations while eliminating the time-consuming manual execution, allowing the same ease of operation to be achieved automatically and much faster

Inventive Principle:
Principle #26Copying

Data Source

PatentEP2619660B1Techniques for automated software testing
Publication Date: 2018.11.21 WATERS TECHNOLOGY CORP
  • EP2619660B1 patent drawingFigure 1
  • EP2619660B1 patent drawingFigure 2
  • EP2619660B1 patent drawingFigure 3

AI summary

Described are techniques for testing an application. A test script including one or more instructions is received to test an application. A user interaction with a user interface of the application is emulated. Emulating includes executing a first portion of instructions in the test script. An output is received including information displayed using the user interface in response to the user interaction. Verification processing is performed for the output. The verification processing includes executing a second portion of instructions in the test script. A first instruction in the test script references a user interface data element without specifying a complete path for the user interface data element.