System and method for automated testing of software applications with dynamic user interfaces spanning multiple technologies
First Claim
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.
7 Assignments
0 Petitions
Accused Products
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.
61 Citations
12 Claims
-
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. - View Dependent Claims (2, 3, 4)
-
-
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. - View Dependent Claims (6, 7, 8)
-
-
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. - View Dependent Claims (10, 11, 12)
-
Specification