Loading

Recovery Testing


What is Recovery Testing?

As the name suggests, recovery testing is the process of testing the capability of a software product to recover data quickly in the aftermath of system failures such as crashes, hardware glitches, network blackout, etc. A non-functional form of testing, recovery testing is performed through forced failing the software in different ways, and then check how well the recovery has panned out.

Need of Recovery Testing?

  • IT giants such as Google and Amazon are increasingly making use of cloud based facilities in their apps and websites for large scale computing and data storage. They have employed sophisticated software to mask the reliability of their PCs and memory storage modules. This makes the task of recovery analysis and exercise quite a demanding task.
  • Military hardware and installations are required to operate in deserts and other hazardous environments where the recovery of crucial information from systems compromised by climatic factors such as sandstorms or snowfall, becomes a challenging proposition.

How to prepare for Recovery Testing?

  • The test cases should be built based on the requirements and result analysis of the test environment.
  • Maintaining sufficient back up of data such as customer details, transaction records, etc.
  • Back up of data should be maintained at multiple places

How is Recovery Testing Done?

Recovery testing entails a series of simulated force failed scenarios to verify the efficacy of recovery mechanisms of different software systems or products. Some of the potential failures and their simulated processes for recovery testing are:

  1. External server becomes Unreachable:

    The server is disconnected at different points of time, so selected such that they visualise all possible application states.

  2. Failure of Power Supply:

    The main power supply is unplugged and then re-plugged with different strength of power supplied.

  3. Hazardous Climate Conditions:

    The system components are run under extreme working conditions of temperature and humidity to gauge their responsiveness, by running performance tests.

  4. Unexpected System Behaviour:

    Feeding incorrect data from the device side.

  5. Disturbances from Nearby Electronics:

    The proximity of signal generating appliances from the product is varied, while on the other hand, performance tests are executed.

  6. Intermittent or Disconnected Network:

    A temporary shutdown of the local network or running the operating system under different settings.

  7. Overloaded Network:

    Above normal load is simulated on specific components that would generate a response on the application under test.

Challenges in Recovery Testing:

  • Recovery testing is a time consuming exercise.
  • Creation of back up data of user logs and system history and maintaining it is a tedious process.