Recovery Testing is performed to determine whether operations can be continued after a disaster or after the integrity of the system has been lost. It involves reverting to a point where the integrity of the system was known and then reprocessing transactions up to the point of failure. The purpose of recovery testing is to verify the system’s ability to recover from varying points of failure.

Recovery testing is a type of non- Functional Testing. (Non- functional testing refers to aspects of the software that may not be related to a specific function or user action such as scalability or security.)

The time taken to recover depends upon:

The number of restart points

Volume of the applications

Training and skills of people conducting recovery activities and tools available for recovery.

When there are number of failures then instead of taking care of all failures, the recovery testing should be done in a structured fashion which means recovery testing should be carried out for one segment and then another. It is done by professional testers. Before recovery testing, adequate backup data is kept in secure locations. This is done to ensure that the operation can be continued even after a disaster.

The life cycle of recovery process can be classified into following five steps:

• Normal operation

• Disaster occurrence

• Disruption and failure of operation

• Disaster clearance through recovery process

• Reconstruction of all processes and information to bring the whole system to move to normal operation

Restoration Strategy

The recovery team should have their unique strategy for retrieving the important code and data to bring the operation of the agency back to normalcy. The strategy can be unique to each organization based on the criticality of the systems they are handling.

The possible strategy for critical systems can be visualized as follows:

• To have single backup or more than one

• To have multiple back-ups at one place or different places

• To have online backup or offline backup

• Can the backup is done automatically based on a policy or to have it manually?

• To have independent restoration team or development team itself can be utilized for the work