When testing an application, typically, you have a number of test cases that have identical setup steps. Rather than record the same steps over and over again, you can record the steps as an application state and then associate the application state with the relevant test cases.
An application state is the state you want your application to be in after the base state is restored but before you run one or more test cases. By creating an application state, you are creating reusable code that saves space and time. Furthermore, if you need to modify the Setup stage, you can change it once, in the application state routine.
At most, a test case can have one application state associated with it. However, that application state may itself be based on another previously defined application state. For example, assume that:
If a test case is based on a single application state, that application state must itself be based on DefaultBaseState in order for the test case to use the recovery system. Similarly, if a test case is based on a chain of application states, the final link in the chain must be DefaultBaseState. In this way, the built-in recovery system of Silk Test Classic is still able to restore the application to its base state when necessary.