Assisted compositional reasoning for test scripts
First Claim
1. A type checking method comprising:
- analyzing, using logic executed by a processor, a test script statement stored in a non-transitory memory coupled to the processor to determine;
an exposed method expressed in the test script statement;
Application Programming Interface (API) calls, executable by the processor, characterized by API call types that navigate in sequence to the exposed method;
a destination Graphical User Interface (GUI) object that exposes the exposed method;
finding, using the logic executed by the processor, an element path between sequential GUI objects in a GUI tree, where the element path leads to the destination GUI object, where the sequential GUI objects are characterized by GUI object types;
determining, using the logic executed by the processor, whether the API call types in sequence are compatible with the GUI object types in sequence;
obtaining, from a GUI object repository, validated action result for actions performed by the API calls on GUI object types in sequence;
assigning API call types to each API call according to the action results that specify valid API calls useable to perform actions on particular GUI object types;
obtaining, from the GUI object repository, mappings of GUI object types, where each of the mappings comprise properties of a GUI object type;
assigning GUI object types to each GUI object according to the API call types in sequence determined to be compatible with the GUI object types in sequence;
determining a GUI object interactions count for the sequential GUI objects based on a configurable number of GUI object interactions for the sequential GUI objects; and
generating a type inferencer message guide that explain how to transform data during data exchange between the GUI object.
2 Assignments
0 Petitions
Accused Products
Abstract
Assisted compositional reasoning for test scripts is implemented by a Type Inference of GUI Object References (TIGOR). TIGOR makes types of GUI objects explicit in the source code by using the properties of GUI objects as referred to in test script statements to access a GUI object repository for GUI objects that have matching GUI objects properties. TIGOR analyzes the GUI object types of the matching GUI objects in view of a sequence of operations performed on the GUI objects in the test script statements. TIGOR infers a GUI object type for a GUI object when that GUI object type is determined to be valid and/or compatible with a sequence of operations, such as API calls, executed in test script statements that perform actions on the GUI object.
-
Citations
18 Claims
-
1. A type checking method comprising:
-
analyzing, using logic executed by a processor, a test script statement stored in a non-transitory memory coupled to the processor to determine; an exposed method expressed in the test script statement; Application Programming Interface (API) calls, executable by the processor, characterized by API call types that navigate in sequence to the exposed method; a destination Graphical User Interface (GUI) object that exposes the exposed method; finding, using the logic executed by the processor, an element path between sequential GUI objects in a GUI tree, where the element path leads to the destination GUI object, where the sequential GUI objects are characterized by GUI object types; determining, using the logic executed by the processor, whether the API call types in sequence are compatible with the GUI object types in sequence; obtaining, from a GUI object repository, validated action result for actions performed by the API calls on GUI object types in sequence; assigning API call types to each API call according to the action results that specify valid API calls useable to perform actions on particular GUI object types; obtaining, from the GUI object repository, mappings of GUI object types, where each of the mappings comprise properties of a GUI object type; assigning GUI object types to each GUI object according to the API call types in sequence determined to be compatible with the GUI object types in sequence; determining a GUI object interactions count for the sequential GUI objects based on a configurable number of GUI object interactions for the sequential GUI objects; and generating a type inferencer message guide that explain how to transform data during data exchange between the GUI object. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A product, the product comprising:
-
a non-transitory machine-readable medium; logic, stored on the machine-readable medium, that when executed by a processor, cause the processor to; analyze a test script statement to determine; an exposed method expressed in the test script statement; Application Programming Interface (API) calls, executable by the processor, characterized by API call types that navigate in sequence to the exposed method; determine a destination Graphical User Interface (GUI) object that exposes the exposed method; find an element path between sequential GUI objects in a GUI tree, where the element path leads to the destination GUI object, where the sequential GUI objects are characterized by GUI object types; determine whether the API call types in sequence are compatible with the GUI object types in sequence; obtain, from a GUI object repository, validated action result for actions performed by the API calls on GUI object types in sequence; assign API call types to each API call according to the action results that specify valid API calls useable to perform actions on particular GUI object types; obtain, from the GUI object repository, mappings of GUI object types, where each of the mappings comprise properties of a GUI object type; assign GUI object types to each GUI object according to the API call types in sequence determined to be compatible with the GUI object types in sequence; determine a GUI object interactions count for the sequential GUI objects based on a configurable number of GUI object interactions for the sequential GUI objects; and generate a type inferencer message guide that explain how to transform data during data exchange between the GUI object. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system, the system comprising:
-
a processor; a memory coupled to the processor, the memory comprising;
a test script statement, comprising;an exposed method expressed in the test script statement; Application Programming Interface (API) calls characterized by API call types that navigate in sequence to the exposed method; logic, stored in the memory, that when executed by the processor, causes the processor to;
determine a destination Graphical User Interface (GUI) object that exposes the exposed method;find an element path between sequential GUI objects in a GUI tree, where the element path leads to the destination GUI object, where the sequential GUI objects are characterized by GUI object types; determine whether the API call types in the element path between sequential GUI objects are compatible with the GUI object types in the sequence; obtaining, from a GUI object repository, validated action result for actions performed by the API calls on GUI object types in sequence; calculating API call type assignments for each API call according to the action results that specify valid API calls useable to perform actions on particular GUI object types; obtaining, from the GUI object repository, mappings of GUI object types, where each of the mappings comprise properties of a GUI object type; assigning GUI object types to each GUI object according to the API call types in sequence determined to be compatible with the GUI object types in sequence; determining a GUI object interactions count for the sequential GUI objects based on a configurable number of GUI object interactions for the sequential GUI objects; and generating a type inferencer message guide that explain how to transform data during data exchange between the GUI object. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification