Knowledgebase

Testing Reliability and Resilience Print

  • softwaretestingqa, software, performance, guide, howto, solution, zillionkinghost, hosting
  • 0

Verifying behaviour under failure.

WHAT TO TEST

Behaviour when a dependency fails Behaviour when a dependency is slow Behaviour when resources are exhausted Recovery after failure ends

WHY SLOWNESS SPECIFICALLY

It is worse than failure, since it consumes resources while producing nothing.

WHAT TO VERIFY

That timeouts exist and are enforced That failure is contained rather than cascading That the system recovers without intervention

WHAT CASCADING FAILURE IS

One component's failure exhausting resources elsewhere until everything fails.

WHAT PREVENTS IT

Timeouts Limits on concurrent calls Circuit breakers stopping calls to a failing dependency

WHAT TO TEST ABOUT CIRCUIT BREAKERS

That they open That they close when the dependency recovers That behaviour while open is acceptable

WHAT CHAOS TESTING IS

Deliberately introducing failures to verify resilience.

WHERE TO START

A test environment, with a single known failure.

WHAT TO PROGRESS TO

Production, carefully, once confidence is established.

WHAT TO ALWAYS HAVE

A way to stop the experiment immediately.

WHAT TO TEST ABOUT DATA

That failure partway does not leave inconsistency.

WHAT TO TEST ABOUT RESTARTS

That the system recovers to a working state automatically.

WHAT TO MEASURE

Time to recover.


Was this answer helpful?
Back

Are you happy with your experience? Leave us a review on Trustpilot.


Trustpilot