# US 2015/0205705 A1 · System and method for automated testing of software applications with dynamic user interfaces spanning multiple technologies

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2015/0205705 A1
- Document ID: US20150205705A1
- Status: Published application
- Kind: A1
- Application number: 14/675,155
- Filed: 2015-03-31
- Published: 2015-07-23
- Earliest claimed: 2009-11-06
- Assignees: Worksoft, Inc.
- Applicants: Worksoft, Inc.
- Inventors: ANDRES MATIAS YATES
- Web page: https://patentgrep.com/patent/US20150205705A1

## CPC

- G06F 11/3698: Environments for analysis, debugging or testing of software
- G06F 8/35: model driven
- G06F 8/38: for implementing user interfaces
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

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.

## Claims

### Claim 1

An automated software testing system for testing a running application from a viewpoint of user of a graphical user interface of the running application, comprising:
a programmed processor;
a plurality of meta-layer implementations, executed by the programmed processor, defining controls of the graphical user interface using algorithms, each of the meta-layer implementations receiving at least one abstraction layer object as input and generating a second at least one abstraction layer object as output responsive to the algorithm for at least one of an associated identity, property, collection or meta-object; and
a plurality of declarative function modules for defining each algorithm for each of the plurality of meta-layer implementations, each of the plurality of declarative function modules encapsulating a predetermined result responsive to execution of the declarative function without providing any detail of how the predetermined result is achieved.

### Claim 2 (depends on 1)

The system of claim 1, wherein each of the plurality of meta-layer implementations and their algorithms create a generic user interface control hierarchy.

### Claim 3 (depends on 2)

The system of claim 2, wherein the meta-layer implementations comprise identity meta-objects for use in creating the generic user interface control hierarchy.

### Claim 4 (depends on 1)

The system of claim 1 further comprising a common user interface for emulating user interaction interactions occurring external to the running application between the user and the graphical user interface, each of the meta-layer implementations providing a generic representation of graphical visual controls of the graphical user interface of the running application to emulate the user interactions with the graphical user interface occurring external to the running application.

### Claim 5 (depends on 1)

The system of claim 1, wherein the generic representation comprises a technology independent representation.

### Claim 6

A method of testing a running application from a viewpoint of a user of a graphical user interface of the running application, comprising:
defining, using a programmed processor, generic control implementations of the graphical user interface using collection driven algorithms;
defining, using the programmed processor, a plurality of hierarchical declarative function meta-objects for each of the collection driven algorithms of at least one of an identity, property, collection or action meta-object associated with the plurality of the implementations, each of the plurality of declarative function meta-objects encapsulating a predetermined result responsive to execution of the declarative function without providing any detail of how the predetermined result is achieved; and
receiving at least one abstraction layer object as input and generating a second at least one abstraction layer object as output responsive to the algorithm for an associated meta-object of an implementation.

### Claim 7 (depends on 6)

The method of claim 6, wherein the plurality of implementations and their meta-object algorithms create a generic user interface control hierarchy.

### Claim 8 (depends on 7)

The method of claim 7, wherein the implementations comprise identity meta-objects for use in creating the generic user interface control hierarchy.

### Claim 9 (depends on 6)

The method of claim 6, further comprising a common user interface for emulating user interaction interactions occurring external to the running application between the user and the graphical user interface, each of the object collections providing a technology-independent representation of graphical visual controls of the graphical user interface of the running application to emulate the user interactions with the graphical user interface occurring external to the running application

### Claim 10 (depends on 9)

The method of claim 9, wherein the generic representation comprises a technology independent representation.

### Claim 11

A non-transitory, computer readable medium including instructions which, when executed by a programmed processor, implement an automated software testing process for testing a running application from a viewpoint of a user of a graphical user interface of the running application comprising:
defining, using a programmed processor, generic control implementations of the graphical user interface using collection driven algorithms;
defining, using the programmed processor, a plurality of hierarchical declarative function meta-objects for each of the collection driven algorithms of at least one of an identity, property, collection or action meta-object associated with the plurality of the implementations, each of the plurality of declarative function meta-objects encapsulating a predetermined result responsive to execution of the declarative function without providing any detail of how the predetermined result is achieved; and
receiving at least one abstraction layer object as input and generating a second at least one abstraction layer object as output responsive to the algorithm for an associated meta-object of an implementation.

### Claim 12 (depends on 11)

The computer readable storage medium of claim 11, wherein each of the plurality of implementations and their meta-object algorithms create a generic user interface control hierarchy.

### Claim 13 (depends on 12)

The computer readable storage medium of claim 12, wherein the implementations comprise identity meta-objects for use in creating the generic user interface control hierarchy.

### Claim 14 (depends on 13)

The computer readable storage medium of claim 13, further comprising a common user interface for emulating user interaction interactions occurring external to the running application between the user and the graphical user interface, each of the implementations providing a generic representation of graphical visual controls of the graphical user interface of the running application to emulate the user interactions with the graphical user interface occurring external to the running application.

### Claim 15 (depends on 11)

The computer readable storage medium of claim 11, wherein the generic implementation comprises a technology independent representation.
