WHITE-BOX TESTING SYSTEMS AND/OR METHODS FOR USE IN CONNECTION WITH GRAPHICAL USER INTERFACES
First Claim
1. A method of testing an application in connection with a predefined test case, the method comprising:
- retrieving the test case to be run on the application, the test case including (a) interactions between the application and components external to the test case'"'"'s scope that were gathered as the application ran and received user input from a user until a desired test state was reached, and (b) assertions to be made to the application once the application reaches the desired test state;
setting up a test environment in connection with a test runner, the test environment replacing a normal environment in which the application runs, the test environment including an adapter configured to execute interactions on the test environment'"'"'s GUI thread;
feeding the application with interactions included in the test case, through the adapter, until the application reaches the desired test state;
once the application reaches the desired state, feeding the application with assertions included in the test case through the adapter;
comparing expected data associated with the assertions with data actually being generated by the application; and
determining, from the comparison, whether the test case resulted in a success or failure.
1 Assignment
0 Petitions
Accused Products
Abstract
Certain example embodiments relate to white-box testing techniques, e.g., for graphical user interfaces (GUIs). A test case to be run on the application includes interactions between the application and external components that were gathered as the application ran and received user input from a user until a desired test state was reached, and assertions to be made to the application once that state is reached. A test environment replaces a normal environment in which the application runs. An adapter executes interactions on the test environment'"'"'s GUI dedicated thread(s). The application is fed with interactions, through the adapter, until the application reaches the desired state. Once the application reaches that state, the application is fed with assertions. Expected data associated with the assertions is compared with data actually being generated by the application. A determination is made regarding whether the test case resulted in success or failure.
-
Citations
20 Claims
-
1. A method of testing an application in connection with a predefined test case, the method comprising:
-
retrieving the test case to be run on the application, the test case including (a) interactions between the application and components external to the test case'"'"'s scope that were gathered as the application ran and received user input from a user until a desired test state was reached, and (b) assertions to be made to the application once the application reaches the desired test state; setting up a test environment in connection with a test runner, the test environment replacing a normal environment in which the application runs, the test environment including an adapter configured to execute interactions on the test environment'"'"'s GUI thread; feeding the application with interactions included in the test case, through the adapter, until the application reaches the desired test state; once the application reaches the desired state, feeding the application with assertions included in the test case through the adapter; comparing expected data associated with the assertions with data actually being generated by the application; and determining, from the comparison, whether the test case resulted in a success or failure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of generating a test case for an application to be tested, the method comprising:
-
starting the application to be tested in an environment in which the application is normally run; storing, in connection with a recorder attached to the application, interactions between the application and components external to the test case'"'"'s scope as the application runs and receives user input from a user; when a desired test state is reached; determining which components of the environment are currently active; determining, from a store including a plurality of different assertion sets, which of those assertions sets apply to the currently active components; feeding corresponding component state data to each said applicable assertion set to generate a corresponding assertion that holds current component state data; and generating the test case, the test case including the generated assertions and the stored interactions. - View Dependent Claims (13, 14, 15)
-
-
16. A computer system for testing a computer application in connection with a predefined test case, comprising:
-
processing resources including at least one processor and a memory; a non-transitory computer readable storage medium storing a plurality of test cases, each said test case including (a) interactions between the application and components external to the test case'"'"'s scope that were gathered as the application ran and received user input from a user until a desired test state was reached, and (b) assertions to be made to the application once the application reaches the desired test state; and a test runner configured to cooperate with the processing resources to set up a test environment in connection that replaces a normal environment in which the application runs, the test environment including an adapter configured to execute interactions on the test environment'"'"'s GUI thread; wherein, in connection with a selected one of said test cases, the adapter and/or test runner is/are configured to; feed the application with interactions included in the selected test case until the application reaches the desired test state, once the application reaches the desired state, feed the application with assertions included in the selected test case, compare expected data associated with the assertions with data actually being generated by the application, and determine, from the comparison, whether the selected test case resulted in a success or failure. - View Dependent Claims (17, 18, 19, 20)
-
Specification