Sobes.tech
Middle

What is failover testing?

sobes.tech AI

Answer from AI

Failover Testing is a type of non-functional testing that verifies the ability of a system or application to automatically switch to a backup component (server, database, etc.) in case of a failure of the primary.

Main goal: ensure continuous operation and availability of the system in abnormal situations.

Aspects tested:

  • Switch-over time: How quickly the system detects a failure and switches to the backup.
  • Data loss: Minimizing or completely avoiding data loss during switch-over.
  • Data integrity: Maintaining data integrity after reconnecting to the backup node.
  • Functionality: Proper operation of all application functions after switch-over.
  • Load: The backup component's ability to handle the current load.

Failure scenarios include:

  • Server failure.
  • Network connection failure.
  • Database failure.
  • Failure of a specific service/component.

Test examples:

  1. Simulating the shutdown of the primary server during an active user session. Automatic switch to the backup server is expected without session interruption (or with minimal progress loss).
  2. Simulating a failure of the primary database during a transaction. Proper completion of the transaction on the backup database is expected.

Failover testing is often conducted in test environments that closely resemble production, and may require specialized tools to simulate failures.