0% found this document useful (0 votes)
51 views5 pages

Software Recovery Testing Guide

Recovery testing ensures a system can recover from failures by intentionally causing failures and verifying proper recovery. The document outlines different types of recovery testing, including database, data, load, crash, security, and environment recovery testing. Steps for recovery testing include recovery analysis, test planning, environment preparation, and documentation.

Uploaded by

Anant More
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views5 pages

Software Recovery Testing Guide

Recovery testing ensures a system can recover from failures by intentionally causing failures and verifying proper recovery. The document outlines different types of recovery testing, including database, data, load, crash, security, and environment recovery testing. Steps for recovery testing include recovery analysis, test planning, environment preparation, and documentation.

Uploaded by

Anant More
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Unit III

Recovery Testing in Software Testing

 Recovery testing is a type of system testing which aims at testing whether


a system can recover from failures or not.
 The technique involves failing the system and then verifying that the
system recovery is performed properly.
 To ensure that a system is fault-tolerant and can recover well from failures,
recovery testing is important to perform.
 A system is expected to recover from faults and resume its work within a
pre-specified time period.
 Recovery testing is essential for any mission-critical system, for example,
the defense systems, medical devices, etc. In such systems, there is a strict
protocol that is imposed on how and within what time period the system
should recover from failure and how the system should behave during the
failure.

A system or software should be recovery tested for failures like:


 Power supply failure
 The external server is unreachable.
 Wireless network signal loss.
 Physical conditions.
 The external device not responding.
 The external device is not responding as expected, etc.
Steps to be performed before executing a Recovery Test
A tester must ensure that the following steps are performed before carrying out
the Recovery testing procedure :
1. Recovery Analysis – It is important to analyze the system’s ability to
allocate extra resources like servers or additional CPUs. This would
help to better understand the recovery-related changes that can impact
the working of the system. Also, each of the possible failures, their
possible impact, their severity, and how to perform them should be
studied.
2. Test Plan preparation – Designing the test cases keeping in mind the
environment and results obtained in recovery analysis.
3. Test environment preparation – Designing the test environment
according to the recovery analysis results.
4. Maintaining Back-up – Information related to the software, like
various states of the software and database should be backed up. Also, if
the data is important, then the backing up of the data at multiple
locations is important.
5. Recovery personnel Allocation – For the recovery testing process, it is
important to allocate recovery personnel who are aware and educated
enough for the recovery testing being conducted.
6. Documentation – This step emphasizes on documenting all the steps
performed before and during the recovery testing so that the system can
be analyzed for its performance in case of a failure.
Example of Recovery Testing:
 When a system is receiving some data over a network for processing
purposes, we can stimulate software failure by unplugging the system
power. After a while, we can plug in the system again and test its ability
to recover and continue receiving the data from where it stopped.
 Another example could be when a browser is working on multiple
sessions, we can stimulate software failure by restarting the system.
After restarting the system, we can check if it recovers from the failure
and reloads all the sessions it was previously working on.
 While downloading a movie over a Wifi network, if we move to a place
where there is no network, then the downloading process will be
interrupted. Now to check if the process recovers from the interruption
and continues working as before, we move back to a place where there
is a Wifi network. If the downloading resumes, then the software has a
good recovery rate.
Types of Recovery Testing
 Database Recovery Testing: Evaluate the system’s capacity to recover
from corrupted or malfunctioning databases. To test how well the
system can restore the database to a consistent and useful condition, it
involves intentionally destroying or damaging it.
 Data Recovery Testing: Evaluate the system’s capacity to restore data
following an unplanned disruption or failure. To make sure that data backups,
restoration procedures and recovery mechanisms are efficient and dependable,
this might involve planned data loss scenarios.

 Load and Stress Recovery Testing: Determine how effectively the


system bounces back from variables that affect performance, including
heavy loads or stressful situations. It helps in determining if the system
is capable of handling higher loads and in the event that it cannot, how
soon it will resume normal operation after the load is dropped.
 Crash Recovery Testing: Determine how well the system bounces
back from a hardware or software failure. To make sure the system can
resume regular operations without losing data, it can involve unexpected
shutdowns, abrupt power failures or a sudden halt of services.
 Security Recovery Testing: Examine the system’s resilience to
security lapses, illegal access, and other security-related events by
conducting security recovery testing. It guarantees that the system can
recover from security breaches and helps discover loopholes in the
security procedures, reducing the impact of any unauthorized access.
 Environment Recovery Testing: Examine the software’s ability to
adjust to changes in dependencies or configurations in the environment.
It guarantees that in the event of modifications to the underlying
structure or environmental circumstances, the system can recover and
go on operating as anticipated.
Advantages of Recovery Testing
 Improves the quality of the system by eliminating the potential flaws
in the system so that the system works as expected.
 Recovery testing is also referred to as Disaster Recovery Testing. A lot
of companies have disaster recovery centers to make sure that if any of
the systems is damaged or fails due to some reason, then there is back
up to recover from the failure.
 Risk elimination is possible as the potential flaws are detected and
removed from the system.
 Improved performance as faults are removed, and the system becomes
more reliable and performs better in case a failure occurs.
Disadvantages of Recovery testing
 Recovery testing is a time-consuming process as it involves multiple
steps and preparations before and during the process.
 The recovery personnel must be trained as the process of recovery
testing takes place under his supervision. So, the tester needs to be
trained to ensure that recovery testing is performed in the proper way.
For performing recovery testing, he should have enough data and back
up files to perform recovery testing.
 The potential flaws or issues are unpredictable in a few cases. It is
difficult to point out the exact reason for the same, however, since the
quality of the software must be maintained, so random test cases are
created and executed to ensure such potential flaws are removed.

You might also like