A common phenomenon that is quite prevalent with machines, or to be precise with computer systems, is that they tend to suffer from performance issues. This may be due to heavy load on the system which might crash the system. One needs a mechanism to address the issues. Failover testing deals with system failures.
It is a way to gauge the capacity of a system in order to ensure whether a system is capable of allocating extra resource. The entire process is an effort to create a back up system. Failover testing aims to verify that a system is efficiently handling extra resource like additional CPU or servers during a failure.
A real situation could be we have 3 web servers. Due to heavy load, one fails, so we are left with two web servers. Now the question arises whether the failed server is capable of restarting on its own and will the other two servers be able to handle to load?
These are few issues that is dealt with during the testing process. The testing team is responsible for handling such faults and provide a necessary solution. This type of testing is essential in assuring the reliability test planning.
The term 'failover' means that a system comes to a halt in the event of failure or abnormal termination of any of the components server, hardware, network component etc. To deal with failovers a system is equipped with a load balancer that will act upon in the event of system slowdown.
Failover testing is a part of performance testing activity, where we check the system for load balancing.
What if we cannot restore the data that has a back up? Or what if during the attempt for a back up the system crashes or fails? The consequences may be disastrous.
One way of testing our back up is to monitor a server without connecting it to the network. We may do so by connecting a tape drive into the server, and hence we can track the back up system without the need to issue the network duplicate server names or IP addresses.
When we are done with backup testing, the next aspect we may begin with testing failover equipments. A server slowdown or crash may be a result of router malfunction. So it's a wise thought to take up router testing in the first place. We may prioritize the tests in terms of daily,weekly or fortnightly basis. Failover testing also involves checking for uninterrupted power supplies, booting up of the operating system and so on.
If during the aforementioned process, a failover occurs it is advisable to prepare a checklist to note at what point does the system fails.
The major idea that underlies fail over testing is to be able to identify the phase at which the system stops responding , is a point where the system should be able to take an action. The objective of a testing team always remains to deliver a robust system to the end user that efficiently serves the purpose it has built or design for.