Automated test system for testing an application running in a windows-based environment and related methods
First Claim
1. A system for testing an application running on a target device, the system comprising:
- a target device storing and executing a software test agent, wherein said application under test is also stored and executed on said target device;
a test development computer storing and executing a software test tool for testing and validating said application'"'"'s rendering of output to a Graphical User Interface (GUI), said test tool configured to communicate with said agent on said target device;
said software test tool executing a test script for testing and validating one or more aspects of said application'"'"'s rendering of output to said GUI, said test tool operable to generate requests to said agent to obtain information from and send events to controls associated with said GUI; and
said software test tool comprising a trap manager for handling trap events that can occur on said target device during execution of said test script, said trap manager executed by said test development computer to;
allow a user to define a trap event and create an associated user-defined function for handling the trap event;
automatically check whether the trap event has occurred during execution of said test script; and
upon detecting an occurrence of the trap event, execute said user-defined function to handle said trap event.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems disclosed herein can be used for testing an application'"'"'s rendering of output to individual controls of a Graphical User Interface (GUI), displayed on a target device executing the application. A system according to the present invention includes a test tool running on a development computer that communicates with an agent executing on the target device. Testing is performed by using the test tool to execute test scripts, which cause test input to be injected via the agent into the application on the target device. The test tool can validate whether actual output on the target device matches expected output known to the test tool. The present invention includes a variety of key components, such as a flexible trap manager for handling unexpected screens that appear during an automated test, and a configuration manger for testing against multiple languages and platform configurations.
-
Citations
23 Claims
-
1. A system for testing an application running on a target device, the system comprising:
-
a target device storing and executing a software test agent, wherein said application under test is also stored and executed on said target device;
a test development computer storing and executing a software test tool for testing and validating said application'"'"'s rendering of output to a Graphical User Interface (GUI), said test tool configured to communicate with said agent on said target device;
said software test tool executing a test script for testing and validating one or more aspects of said application'"'"'s rendering of output to said GUI, said test tool operable to generate requests to said agent to obtain information from and send events to controls associated with said GUI; and
said software test tool comprising a trap manager for handling trap events that can occur on said target device during execution of said test script, said trap manager executed by said test development computer to;
allow a user to define a trap event and create an associated user-defined function for handling the trap event;
automatically check whether the trap event has occurred during execution of said test script; and
upon detecting an occurrence of the trap event, execute said user-defined function to handle said trap event. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of handling a trap event during execution of an automated test of an application running on a target device, the method comprising:
-
creating a user-defined function for handling an occurrence of the trap event;
defining the trap event using a software test tool being executed by a test development computer;
checking to see whether the trap event has occurred on said target device during execution of said automated test; and
upon detecting an occurrence of the trap event, executing said user-defined function to handle the trap event. - View Dependent Claims (7)
-
-
8. A method of handling a trap event during execution of an automated test of an application running on a target device, the method comprising:
-
creating a user-defined function for handling an occurrence of the trap event;
defining the trap event using a software test tool executing on a test development computer;
storing trap event data on the target device, said data capable of being used by an agent executing on the target device to detect the occurrence of the trap event;
monitoring with the agent to determine whether the trap event has occurred on the target device;
upon detecting an occurrence of the trap event, transmitting a notification of the occurrence of the trap event from the agent to the test tool, the notification comprising a user-defined name for uniquely referring to the trap event;
accessing a table on the development computer using said trap event name to obtain a pointer that points to the user-defined function for handling the trap event; and
executing the user-defined function to handle the trap event.
-
-
9. A system for testing an application running on a target device, the system comprising:
-
a target device storing and executing a software test agent, wherein said application under test is also stored and executed on said target device;
a test development computer storing and executing a software test tool for testing and validating said application'"'"'s rendering of output to a Graphical User Interface (GUI), said test tool configured to communicate with said agent on said target device;
said software test tool executing a test script for testing and validating one or more aspects of said application'"'"'s rendering of output to said GUI, said test tool operable to generate requests to said agent to obtain information from and send events to controls associated with said GUI; and
said software test tool comprising a configuration manager for handling testing of said application against multiple languages and platform configurations. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A method of testing an application that is operable to execute in multiple languages and platform configurations, the method comprising:
-
storing a configuration table having a plurality of user-defined configurations, each configuration comprising a collection of value sets, each said value set comprising a collection of one or more related configuration items and corresponding values for said related items;
writing a test script that executes differently based on which user-defined configuration is loaded from said table;
loading a user-defined configuration from said configuration table prior to execution of said test script; and
executing said test script. - View Dependent Claims (16, 17)
-
-
18. A system for testing an application running on a target device, the system comprising:
-
a target device storing and executing a software test agent, wherein said application under test is also stored and executed on said target device;
a test development computer storing and executing a software test tool for testing and validating said application'"'"'s rendering of output to a Graphical User Interface (GUI), said test tool configured to communicate with said agent on said target device;
said software test tool executing a test script for testing and validating one or more aspects of said application'"'"'s rendering of output to said GUI, said test tool operable to generate requests to said agent to obtain information from and send events to controls associated with said GUI;
said software test tool comprising a configuration manager for handling testing of said application against multiple languages and platform configurations; and
said software test tool comprising a trap manager for handling trap events that can occur on said target device during execution of said test script, said trap manager executed by said test development computer to;
allow a user to define a trap event and create an associated user-defined function for handling the trap event;
automatically check whether the trap event has occurred during execution of said test script; and
upon detecting the occurrence of the trap event, execute said user-defined function to handle said trap event.
-
-
19. A method performed by a test development computer storing and executing a test tool operable to communicate with a target device storing and executing a test agent to interrogate a particular Graphical User Interface (GUI) control that is associated with an application under test running on said target device, the method comprising:
-
storing a first table that comprises a list of entries, each said entry containing information corresponding to a particular GUI control associated with said application under test, the information associated with each said control comprising;
a user-defined name for uniquely referring to that control;
a plurality of properties which define that control, including a class name that indicates a class type to which that control belongs; and
a data field for optionally storing a control-specific identify flag, said control-specific identify flag used for indicating which of said properties are to be used in identifying that control on said target device;
storing a second table that comprises a list of entries, each said entry containing information related to a particular class of GUI controls associated with said application under test, the information associated with each said class of controls comprising;
a class name for uniquely referring to that class of controls; and
a default identify flag for indicating which of said properties are to be used for identifying any control of that class type that does not have a control-specific identify flag associated with it, as defined in said first table. - View Dependent Claims (20, 21, 22, 23)
-
Specification