Automatic model-based testing
First Claim
1. A method, comprising the computer-implemented steps of:
- receiving a set of objects associated with a computer program application under test;
prior to testing the application, automatically classifying the objects as state objects representing states of the application, or transition objects representing transitions in the application from one state to another state, or static information objects;
linking the state objects with the transition objects to result in creating a model in memory of all states and transitions provided by the application;
associating, in the model, one or more tests with one or more of the state objects;
creating and storing, based on the states and transitions, a finite state machine that represents execution behavior of the application according to the model;
selecting a set of states or transitions associated with application behavior that is unwanted for testing;
testing the application by (a) automatically navigating the states and transitions of the finite state machine which are not in the set of states or transitions that are unwanted for testing and (b) providing state and transition data from the finite state machine to a graphical user interface functional test application that executes the one or more tests upon reaching the states represented by the state objects;
wherein the set of objects are graphical user interface (GUI) objects and the automatically classifying comprises analyzing a GUI map;
wherein the GUI map stores information about elements generated by the application based at least in part on information about states of the application, transitions in the application from one state to another state, or static information objects;
wherein the method is performed by one or more computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
Automatic model-based testing is disclosed, including receiving a set of objects associated with a computer program application under test; automatically classifying the objects as state objects representing states of the application, or transition objects representing transitions in the application from one state to another state, or static information objects; linking the state objects with the transition objects to result in creating a model in memory of all states and transitions provided by the application; associating, in the model, one or more tests with one or more of the state objects; creating and storing, based on the states and transitions, a finite state machine that represents execution behavior of the application according to the model; and testing the application by (a) automatically navigating the finite state machine and (b) providing state and transition data from the finite state machine to a graphical user interface functional test application that executes the one or more tests upon reaching the states represented by the state objects.
94 Citations
28 Claims
-
1. A method, comprising the computer-implemented steps of:
-
receiving a set of objects associated with a computer program application under test; prior to testing the application, automatically classifying the objects as state objects representing states of the application, or transition objects representing transitions in the application from one state to another state, or static information objects; linking the state objects with the transition objects to result in creating a model in memory of all states and transitions provided by the application; associating, in the model, one or more tests with one or more of the state objects; creating and storing, based on the states and transitions, a finite state machine that represents execution behavior of the application according to the model; selecting a set of states or transitions associated with application behavior that is unwanted for testing; testing the application by (a) automatically navigating the states and transitions of the finite state machine which are not in the set of states or transitions that are unwanted for testing and (b) providing state and transition data from the finite state machine to a graphical user interface functional test application that executes the one or more tests upon reaching the states represented by the state objects; wherein the set of objects are graphical user interface (GUI) objects and the automatically classifying comprises analyzing a GUI map; wherein the GUI map stores information about elements generated by the application based at least in part on information about states of the application, transitions in the application from one state to another state, or static information objects; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method, comprising the computer-implemented steps of:
-
receiving a set of objects associated with a computer program application under test; prior to testing the application, automatically classifying the objects as state objects representing states of the application, or transition objects representing transitions in the application from one state to another state, or static information objects; creating and displaying a graphical user interface of a model-based test application, wherein the graphical user interface comprises a state information panel and a graphical workspace panel; displaying, in the state information panel, a hierarchical representation of the state objects and the transition objects, wherein the hierarchical representation corresponds to an organization of the states and transitions of the application; displaying, in the graphical workspace panel, state icons representing the state objects; linking the state objects with the transition objects in response to user input in the graphical workspace panel; creating and storing, based on the states and transitions, a finite state machine that represents execution behavior of the application according to the model; wherein the set of objects are graphical user interface (GUI) objects and the automatically classifying comprises analyzing a GUI map; wherein the GUI map stores information about elements generated by the application based at least in part on information about states of the application, transitions in the application from one state to another state, or static information objects; associating, in the model, one or more tests with one or more of the state objects; selecting a set of states or transitions associated with application behavior that is unwanted for testing; testing the application by (a) automatically navigating the states and transitions of the finite state machine which are not in the set of states or transitions that are unwanted for testing and (b) providing state and transition data from the finite state machine to a graphical user interface functional test application that executes the one or more tests upon reaching the states represented by the state objects; wherein the method is performed by one or more computing devices.
-
-
11. A computer-readable volatile or non-volatile, non-transitory medium comprising one or more stored sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
receiving a set of objects associated with a computer program application under test; prior to testing the application, automatically classifying the objects as state objects representing states of the application, or transition objects representing transitions in the application from one state to another state, or static information objects; linking the state objects with the transition objects to result in creating a model in memory of all states and transitions provided by the application; associating, in the model, one or more tests with one or more of the state objects; creating and storing, based on the states and transitions, a finite state machine that represents execution behavior of the application according to the model; selecting a set of states or transitions associated with application behavior that is unwanted for testing; testing the application by (a) automatically navigating the states and transitions of the finite state machine which are not in the set of states or transitions that are unwanted for testing and (b) providing state and transition data from the finite state machine to a graphical user interface functional test application that executes the one or more tests upon reaching the states represented by the state objects; wherein the set of objects are graphical user interface (GUI) objects and the automatically classifying comprises analyzing a GUI map; wherein the GUI map stores information about elements generated by the application based at least in part on information about states of the application, transitions in the application from one state to another state, or static information objects; wherein the method is performed by one or more computing devices. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. An apparatus, comprising:
-
one or more processors; means for receiving a set of objects associated with a computer program application under test; means for automatically classifying, prior to testing the application, the objects as state objects representing states of the application, or transition objects representing transitions in the application from one state to another state, or static information objects; means for linking the state objects with the transition objects to result in creating a model in memory of all states and transitions provided by the application; means for associating, in the model, one or more tests with one or more of the state objects; means for creating and storing, based on the states and transitions, a finite state machine that represents execution behavior of the application according to the model; means for selecting a set of states or transitions associated with application behavior that is unwanted for testing; means for testing the application by (a) automatically navigating the states and transitions of the finite state machine which are not in the set of states or transitions that are unwanted for testing and (b) providing state and transition data from the finite state machine to a graphical user interface functional test application that executes the one or more tests upon reaching the states represented by the state objects; wherein the set of objects are graphical user interface (GUI) objects and the automatically classifying comprises analyzing a GUI map; wherein the GUI map stores information about elements generated by the application based at least in part on information about states of the application, transitions in the application from one state to another state, or static information objects. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28)
-
Specification