Availability Testing

Software's are not simple programs any longer. They are complex in build and complex in execution. This very complexity of their nature makes it important to conduct intensive testing so as to ensure that it works in accordance with the specifications provided by the client.

What is Availability Testing?

Availability Testing is a measure of how often any given software is actually on hand and accessible for use. In other words, it measures the probability that the software will run as required and when required.

Testing For Availability

In Availability Testing, the software under test is run continuously for a fixed or planned period of time during which data is collected in terms of failure events and their repair times. In this manner, the deduced result is a prediction of the programs or software's availability probability.

Formula For Availability Testing

The various parameters through which availability is tested are:

  • Mean Time Between Failure (MTBF): It is the measure of average length of time that the software runs before it fails.
  • Mean Time To Recovery (MTTR): It is a measure of the average length of time that is actually required to repair and restore the service.

Availability = (MTBF / (MTBF + MTTR)) x 100

Features Of Availability Testing

The various features of Availability Testing are:

  • Continuous Test For Fixed Duration: This test is conducted continuously for a fixed duration without any interruptions. This duration is usually predetermined and corresponds to the normally expected time for which the program will be run or the software will be used.
  • Calculate Efficiency: The purpose is to calculate the efficiency of the program within the fixed time frame. This efficiency should meet the client expectations from the program else amendments will have to be made to the main software to make it more reliable and increase its efficiency.
  • Mostly Automated: This test is mostly automated barring a few steps where manual intervention would be required. As such, running it is mostly a task of few specific and implicit commands.
  • Continuous Monitoring: The moderator in this test has to be always available at the test site to keep an eye on the entire run of the software. Special attention is paid at the time of failure of the test and its recovery and repair time. Due to this very reason, constant monitoring is a must.

Advantage Of Availability Testing

Availability Testing makes for a more efficient program. This efficiency is not just in terms of the software run time, but also in terms of its recovery and repair time. Hence, a software that has been through Availability Testing is bound to be more competent and more effective in functioning.


Availability Testing ensures that the software is living up to the client's expectations of its operational stability. In other words, Availability Testing is a way to make sure that the software downtime is as less as possible and that it is always up and available, barring maybe a few expected scenarios like planned system maintenance, software up-gradation, etc.