7917895

Automated Software Testing and Validation System

PublishedMarch 29, 2011
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for automated software testing and validation, the method executed by one or more controllers, the method comprising: identifying a software application under test (AUT), the AUT including one or more processes having one or more windows including multiple objects and one or more data elements, the objects corresponding to respective visible graphical user interface (GUI) fields adapted to receive input; forming, for at least one of the one or more processes in the AUT, a test thread tree corresponding to each window, object and data element in the process; generating, from the test thread tree, a grid enumerating a plurality of test cases indicative of the windows, data elements and objects in the AUT process, the grid enabling different values for objects and data elements in the process and different types of actions for respective objects; and in response to learning objects in the AUT, automatically generating a parameterized script indicative of the plurality of test cases, the parameterized script including: (a) first string variables referring to respective ones of the windows in the AUT process and operable in the parameterized script to be modified by input data parameters to refer to different windows; (b) second string variables referring to respective ones of the objects in the AUT process and operable in the parameterized script to be modified by input data parameters to refer to different objects; and (c) third string variables referring to respective ones of the data elements and operable in the parameterized script to be modified by input data parameters to take on different data values associated with their respective data element; the parameterized script being operable to be executed by a test engine, wherein automatically generating a parameterized script further includes creating a variable name in the parameterized script for the string variables referring to the respective objects, and automatically linking the string variable to an array represented by a column in the grid.

2

2. The method of claim 1 wherein automatically generating the parameterized script is part of an automated process in which an entire test structure, including the test thread tree, the grid, and the parameterized script, is created automatically in response to learning of objects.

3

3. The method of claim 2 wherein generating the grid further comprises importing object values from an external database, the external database being operable to populate the grid in an automated manner.

4

4. The method of claim 1 in which automatically generating the parameterized script is based on the test thread tree and the grid.

5

5. The method of claim 1 wherein generating the grid further comprises gathering object values, each of the object values indicative of a particular process window, data element or object for a particular test case.

6

6. The method of claim 1 wherein generating the grid further comprises propagating an object value across multiple grid entries from a particular object value.

7

7. The method of claim 1 further comprising using the test thread tree, modifying attributes of references to at least one of the AUT process objects and the window across multiple scripts in an automated manner.

8

8. The method of claim 1 further comprising modifying attributes of references to at least one of the AUT process objects and the windows across multiple scripts in an automated manner by: receiving an indication to select a plurality of tests on a system; prompting a user to select a test object to modify; receiving a user selection of a test object to modify; receiving a desired change to make in the selection; performing an object search sequence in the selected plurality of tests to locate all objects relevant to the modification in the selected plurality of tests; and implementing the desired change in the relevant objects.

9

9. The method of claim 1 further comprising generating, from the test thread tree and the grid, a test description of a scenario of one or more test cases, the test description comprising a step-by-step natural language description of actions in each test case in the scenario.

10

10. The method of claim 1 wherein the AUT further comprises a graphical user interface (GUI) and forming the test thread tree further comprises traversing a window sequence of a plurality of the windows of the GUI.

11

11. A computer system for automated software testing and validation, the computer system including one or more controllers programmed with executable software, the computer system for interacting with a workpiece software application under test (AUT), the AUT including one or more processes having one or more windows including multiple objects and one or more data elements, the objects corresponding to respective visible graphical user interface (GUI) fields adapted to receive input, the computer system including: a learning module adapted for learning characteristics of the AUT, the learning module further operable for forming, for at least one of the one or more processes in the AUT, a test thread tree corresponding to each window, object and data element in the AUT process; a grid, generated from the test thread tree, the grid enumerating a plurality of test cases indicative of the windows, data elements and objects in the AUT process, the grid enabling different values for objects and data elements in the process and different types of actions for respective objects; and a test engine operable to automatically generate a parameterized script indicative of the plurality of test cases, the parameterized script including: (a) first string variables referring to respective windows in the AUT process, and operable in the parameterized script to be modified by input data parameters to refer to different windows; (b) second string variables referring to respective ones of the objects in the AUT process and operable in the parameterized script to be modified by input data parameters to refer to different objects; and (c) third string variables referring to respective ones of the data elements and operable in the parameterized script to be modified by input data parameters to take on different data values associated with their respective data element; the parameterized script being operable to be executed by a test engine, the test engine further operable to create a variable name in the parameterized script for the string variables referring to the respective objects, and automatically link the string variable to an array represented by a column in the grid.

12

12. The computer system of claim 11 wherein the computer system is further operable to conduct an automated process in which an entire test structure, including the test thread tree, the grid, and the parameterized script, is created automatically in response to learning of objects.

13

13. The computer system of claim 11 further comprising a global change manager module operable for modifying attributes of references to at least one of the AUT process objects and the windows across multiple scripts in an automated manner by: receiving an indication to select a plurality of tests on a system; prompting a user to select a test object to modify; receiving a user selection of a test object to modify; receiving a desired change to make in the selection; performing an object search sequence in the selected plurality of tests to locate all objects relevant to the modification in the selected plurality of tests; and implementing the desired change in the relevant objects.

14

14. The computer system of claim 11 further comprising generating, from the test thread tree and the grid, a test description of a scenario of one or more test cases, the test description comprising a step-by-step natural language description of actions in each test case in the scenario.

15

15. A method for automated software testing and validation, the method executed by one or more controllers, the method comprising: identifying a software application under test (AUT), the AUT including one or more processes having one or more windows including multiple objects, the objects corresponding to respective visible graphical user interface (GUI) fields adapted to receive input, the one or more processes further including one or more data elements; forming, for at least one of the one or more processes in the AUT, a test thread tree corresponding to each window, object and data element in the process; generating a plurality of test cases for the AUT process including generating, from the test thread tree, a grid enumerating a plurality of test cases indicative of the windows, data elements and objects in the AUT process, the grid enabling different values for objects and data elements in the process and different types of actions for respective objects; and wherein automatically generating the test description comprises generating a test description for each of multiple rows of the grid relevant to the scenario; generating a parameterized script indicative of the plurality of test cases, the parameterized script enabling different values for data elements in the process and different types of actions for respective objects, wherein generating a parameterized script further includes creating a variable name in the parameterized script for string variables referring to the respective objects, and automatically linking the string variable to an array represented by a column in the grid; and automatically generating a test description of a scenario of one or more of the test cases, the test description comprising a step-by-step natural language description of actions in each test case in the scenario.

16

16. The method of claim 15 wherein the scenario is based on a subset of test cases selected by the user.

17

17. The method of claim 15 wherein generating the test description further comprises retrieving an actions table containing GUI action descriptions and constructing at least part of the step-by-step natural language description by combining action descriptions from the actions table with object names used in the test cases.

18

18. The method of claim 17 wherein combining action descriptions from the actions table with object names further includes combining window names used in the test cases.

19

19. The method of claim 15 wherein generating the test description further comprises determining a type of action taken in the test case and retrieving action descriptions to describe the test case according to the determined type of action.

20

20. The method of claim 15 wherein automatically generating the test description is repeated in response to a user calling a scenario view onto a display.

Patent Metadata

Filing Date

Unknown

Publication Date

March 29, 2011

Inventors

Ethan Givoni
Naomi Ravitz
Ziv Ravitz
Thang Quoc Nguyen
Thieu Nguyen

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “AUTOMATED SOFTWARE TESTING AND VALIDATION SYSTEM” (7917895). https://patentable.app/patents/7917895

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.