background image
<< Examining the Structure of a 4Test Statement | What You Have Learned >>

Understanding How the Recovery System Works

<< Examining the Structure of a 4Test Statement | What You Have Learned >>
110
Getting Started: A Tutorial
5 C
REATING
T
ESTCASES
Understanding How the Recovery System Works
Understanding How the Recovery System Works
The recovery system is a unique, powerful and fully integrated feature of
SilkTest. The recovery system ensures that each testcase begins and ends
with the application in its intended state. SilkTest refers to this intended
application state as the base state.
Base state
An application's base state is the known, stable state that you expect the
application to be in before each testcase begins execution, and the state the
application can be returned to after each testcase has ended execution. This
state may be the state of an application when it is first started.
Base states are important because they ensure the integrity of your tests. By
guaranteeing that each testcase can start from a stable base state, you can be
assured that an error in one testcase does not cause subsequent testcases to
fail.
When you activate the recovery system for one or more testcases, SilkTest
automatically ensures that your application is at its base state during the
following three stages:
Before a testcase is run
During the execution of a testcase
If an error occurs, SilkTest does the following:
-
Stops execution of the testcase
-
Transfers control to the recovery system, which restores the
application to its base state and logs the error in a results file
-
Resumes script execution by running the next testcase after the
failed testcase
After a testcase completes successfully
The recovery system makes sure that the testcase was able to "clean up" after
itself, so that the next testcase is run under valid conditions.
Default base state
SilkTest provides a default base state for applications, which ensures the
following conditions are met before recording and executing a testcase:
The application is running
The application is not minimized
The application is the active application
No windows other than the application's main window are open