• info@helpingtesters.com
  • helpingtesters

Failover Testing

January 24, 2018
Failover Testing, Failover Testing Importance

There may be a case when the server is expecting heavy traffic and having heavy use and heavy traffic at the peak time involving lots of data transfer. In such scenarios, it may happen that available server may become unable to render service to all the requests that come to it. There has to be a solution to solve this problem otherwise server may crash or may become inactive or get hanged for a long time. To prevent such scenarios to happen in real life, there is need to do Failover testing in order to prevent disaster due to the Failover system.

It is Failover testing which verifies whether the system is able to continue daily operation with the increased load at peak times and is able to recognize that need has arisen to allocate additional resource and allocate additional resource in the scenario when the system is not able to handle the traffic without additional resource.

Let us make it more clear from one example. Let us suppose that there are 4 web servers which are undergoing heavy load and one of them crashes due to heavy load, then there is need to see whether Load Balancer is working as per expectation and are the three web service capable enough to handle the load or does it require manual help or whether the notification is sent to right people at the right time to recover from such situation. In Failover testing, we need to see all things which are related to recovery and are working as per expectation to recover from such scenarios.

Importance of Failover testing

Apart from load balancing, Failover testing also helps in determining the future requirement of the resource for load balancing and set the benchmark for the future. Also by setting the load balancing, the system can afford to bring down any server for maintenance without having downtime without impacting any operation by moving operation to the backup system and keeping the existing system in the maintenance and allocating the extra resource to prevent failure of the system after the system reaches the threshold value of the load and after which system is bound to crash if the required external resource is not allocated to the system. Extra resource here means additional CPU or server required to maintain the continuity of the operation without any downtime.

One more thing to note here is that Failover testing is done as part of performance testing and is very important what doing performance and capacity planning.

Factors considered for doing Failover testing

There are some applications which are very critical and scheduling downtime in such applications can be a great loss to the business of the client. For doing Failover testing there is need to schedule downtime. Therefore there are many factors which are to be considered before scheduling downtime in order to do Failover testing some of which are given as below

  • Loss to the company during the scheduled downtime
  • Cost to prevent the system from breaking Down
  • Duration of the downtime
  • Probability of system failure

Let us discuss these points in brief

  • Loss to the company during the scheduled downtime– it means there will be a business loss to the company during the scheduled downtime and whole operation will be interrupted due to this downtime.
  • Cost to prevent the system from Breaking Down– it means when the system reaches the performance threshold where the system is bound to break, there is need to allocate extra resource to prevent the system from Breaking Down such as adding CPU or server to maintain the balance and share the load so that operation is continued. The cost will be associated with allocating extra resource which will be also considered before doing Failover testing.
  • Duration of downtime– Any client will not like to get the operation interrupted for a very long time. So if the duration of downtime is more, the client is less likely to approve Failover testing.
  • Probability of system failure– If the probability of system failure is very less almost zero, then in this situation also client is less likely to approve Failover testing.

How to perform Failover testing

  • Failover testing plan should be done in terms of performance requirement which will be there in coming future or is already required.
  • Set up suitable benchmark to meet the performance requirement
  • Prepare test plan as per market requirement
  • Execution of the test plan
  • Preparation of report regarding issue or resource requirement

Things that require special attention while doing Failover testing

Proper backup and restore mechanism should be in place before doing Failover testing. There should be a proper backup of data so that in case any problem occurs during the Failover testing, same data can be restored. Also, there should be a proper mechanism to handle system failure or crash during taking data backup.

Summary

Overall, we can say that main purpose of Failover testing is to, first of all, identify the phase at a particular load where the system stops responding and allocate extra resource to that system so as to provide support to the system in handling the load by sharing of load or taking the whole load of extra resources, in case required. So we can say that purpose of Failover testing is to build a system which is stable and robust enough to provide continuous service without having any type failure.

About the author

RamPrakash Singh author

Ram Prakash has worked in various domains of testing including security, performance, security testing and automation testing. Including several tools like QTP, selenium, LoadRunner,JMeter, VSTS Coded UI, soap UI, Burp Suite etc.

Leave a Reply

Your email address will not be published.