Multi-layer Architecture for Automated Software Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software testing technologies face challenges in automating tests for applications with dynamic user interfaces across multiple technologies, requiring frequent software updates and complicating the creation and maintenance of control identification algorithms and test libraries.

Innovation Solution

A multi-layer architecture system that encapsulates and abstracts dependencies, separating responsibilities between system developers and automated test designers, allowing for extensible and display-independent software testing across various platforms using a drag-and-drop method for designing control test suites and transformation rules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If existing software testing technologies are used to automate tests for applications with dynamic user interfaces across multiple technologies, then test automation capability is provided, but frequent software updates are required and creation and maintenance of control identification algorithms and test libraries becomes complicated

Engineering Contradiction:
Improvetest automation capabilityVSAvoidcomplexity of control identification algorithms and test libraries
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The system segments the testing architecture into multiple independent layers: the presentation layer handles display-specific rendering, the abstraction layer provides technology-neutral control identification, and the test library layer manages test cases. This segmentation allows each layer to be developed and maintained independently, reducing overall system complexity while maintaining automation capability across multiple technologies.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an abstraction layer as an intermediary between the presentation layer and test library layer. This intermediary contains technology-independent control identification algorithms that translate between different display technologies and a unified control model, eliminating the need for separate algorithms for each technology and reducing maintenance complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If existing software testing technologies are used for applications with dynamic user interfaces, then test execution is possible, but the system requires frequent software updates to maintain compatibility

Engineering Contradiction:
Improvetest execution capabilityVSAvoidtime for software updates
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The abstraction layer implements universal control identification algorithms that work across multiple display technologies and programming languages simultaneously. By creating a technology-neutral intermediate representation of user interface controls, the system can execute tests against applications built with different technologies without requiring technology-specific updates, significantly reducing update frequency and time loss.

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

3Extent of automation

If manual testing processes are automated without abstraction layers, then automation is achieved, but the system lacks flexibility and reusability across different platforms

Engineering Contradiction:
Improveautomation of manual testing processVSAvoidflexibility and reusability across platforms
Core Design Contradiction:
Extent of automationVSAdaptability or versatility

Solution Approach 1:

The patent adds an intermediate dimension (the abstraction layer) between the presentation layer and test library layer. This additional dimensional layer provides a technology-neutral control model that enables test libraries to be reused across multiple platforms and technologies without modification, while still maintaining full automation capability through systematic translation of control identifiers.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9772929B2System and method for automated testing of software applications with dynamic user interfaces spanning multiple technologies
Publication Date: 2017.09.26 WORKSOFT INC
  • US9772929B2 patent drawing
  • US9772929B2 patent drawing
  • US9772929B2 patent drawing

AI summary

An automated software testing system tests a running application from a viewpoint of user of a graphical user interface of the running application. A programmed processor executes a plurality of meta-layer implementations defining controls of the graphical user interface using algorithms. Each of the meta-layer implementations receives at least one abstraction layer object as input and generates a second at least one abstraction layer object as output responsive to at least one of the algorithm for an associated identity, property, collection or meta-object. A plurality of declarative function modules define each algorithm for each of the plurality of meta-layer implementations. Each of the plurality of declarative function modules encapsulates a predetermined result responsive to execution of the declarative function without providing any detail of how the predetermined result is achieved.