IP Library Granted Patent US 9,772,929
Granted Patent B2
US 9,772,929 · App. 14/675,155 · Granted Sep 26, 2017

System and method for automated testing of software applications with dynamic user interfaces spanning multiple technologies

Inventor: Andres Matias Yates (Dallas, TX)
Assignee: WORKSOFT, INC.
G06F11/3664G06F8/35G06F8/38
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,772,929
App. No.
14/675,155
Granted
Sep 26, 2017
Kind
B2
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 (24)

1. 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 computer hardware processor, generic control implementations of the graphical user interface of the running application using a plurality of collection driven algorithms;

defining, using the programmed processor, a plurality of hierarchical declarative function meta-objects describing operation of each of the plurality of the collection driven algorithms of at least one of an identity, property, collection or action meta-object associated with the generic control implementations, each of the plurality of declarative function meta-objects defining a predetermined result responsive to execution of at least one declarative function without providing any detail of how the predetermined result is achieved;

receiving at least one abstraction layer object as input and generating a second at least one abstraction layer object as output responsive to the plurality of algorithms for an associated meta-object of a generic control implementation executing the received abstraction layer object;

emulating user interactions occurring external to the running application between the user and the graphical user interface, each of the generic control implementations 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.

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

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

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

5. A non-transitory, computer readable medium including instructions which, when executed by a computer hardware 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 the computer hardware processor, generic control implementations of the graphical user interface of the running application using a plurality of collection driven algorithms;

defining, using the computer hardware processor, a plurality of hierarchical declarative function meta-objects describing operation of each of the plurality of the collection driven algorithms of at least one of an identity, property, collection or action meta-object associated with the generic control implementations, each of the plurality of declarative function meta-objects defining a predetermined result responsive to execution of at least one declarative function without providing any detail of how the predetermined result is achieved;

receiving at least one abstraction layer object as input and generating a second at least one abstraction layer object as output responsive to the plurality of algorithms for an associated meta-object of a generic control implementation executing the received abstraction layer object; and

emulating user interactions occurring external to the running application between the user and the graphical user interface, each of the generic control 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.

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

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

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

9. An automated software testing system for testing a running application from a viewpoint of a user of a graphical user interface of the running application, comprising:

a computer hardware processor;

a plurality of meta-layer implementations, executed by the computer hardware processor, defining controls of the graphical user interface using a plurality of algorithms from the viewpoint of the user of the graphical user interface of the running application, 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 execution of the plurality of algorithms using the at least one abstraction layer object for at least one of an associated identity, property, collection or meta-object;

a plurality of declarative function modules for defining each of the plurality of algorithms for each of the plurality of meta-layer implementations, each of the plurality of declarative function modules defining a predetermined result responsive to execution of a declarative function responsive to the at least one abstraction layer object without providing any detail of how the predetermined result is achieved; and

a common user interface for emulating user 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.

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

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

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

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE RECEIVING PARTY NAME PREVIOUSLY RECORDED AT REEL: 060426 FRAME: 0652. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 25, 2022
From: WORKSOFT MIDCO, LLC; WORKSOFT, INC.; TRIPOD TECHNOLOGIES LLC; EUREQA, LLC
To: TORONTO DOMINION (TEXAS) LLC
Reel/Frame 062226/0767 →
RELEASE OF SECURITY INTEREST Recorded Jul 22, 2022
From: VARAGON CAPITAL PARTNERS AGENT, LLC
To: WORKSOFT, INC.
Reel/Frame 060594/0728 →
SECURITY INTEREST Recorded Jul 1, 2022
From: WORKSOFT MIDCO, LLC; WORKSOFT, INC.; TRIPOD TECHNOLOGIES LLC; EUREQA, LLC
To: TORONTO DOMINION {TEXAS) LLC
Reel/Frame 060426/0652 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2019
From: PACIFIC WESTERN BANK (AS SUCCESSOR IN INTEREST BY MERGER TO SQUARE 1 BANK)
To: WORKSOFT, INC.
Reel/Frame 048424/0476 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 22, 2019
From: WORKSOFT, INC.
To: VARAGON CAPITAL PARTNERS AGENT, LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 048415/0281 →
SECURITY INTEREST Recorded Apr 7, 2016
From: WORKSOFT, INC.
To: PACIFIC WESTERN BANK AS SUCCESSOR IN INTEREST BY MERGER TO SQUARE 1 BANK
Reel/Frame 038219/0290 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2015
From: YANES, ANDRES MATIAS
To: WORKSOFT, INC.
Reel/Frame 035844/0586 →
Continuity (3)
Continuation 13006759 · Jan 14, 2011
Provisional Application 61295042 · Jan 14, 2010
Related Publication 20150205705A1 · Jul 23, 2015