Resilience Testing: How a software test can make you more comfortable with failure

October 9, 2019 | Blog

Resilience testing is a type of software testing that observes how applications act under stress. It’s meant to ensure the product’s ability to perform in chaotic conditions without a loss of core functions or data; it ensures a quick recovery after unforeseen, uncontrollable events.

Interestingly enough, the “chaotic conditions” tested are less “chaotic” than they are potential incidents that are simply outside of the program’s realm of experience. Varied yet essentially neutral environments can prove chaotic when experienced for the first time.

There’s not much new under the sun, but when something happens to us personally it can be blindingly unfamiliar. Newness feels like chaos. In such an environment, there is bound to be uncertainty and imprecision.

It may seem weird to compare our human experience to that of a program or application, but the similarities are striking. Regardless of how we plan the “program” of our life, between mistakes and breakdowns, things go awry.

That’s where the power of the resilience testing system comes in. It’s based on two basic principles:

1. Knowledge of the system

2. Acknowledgement of the inevitability of failure

The test itself is practical and beneficial, but the key is in the main assumption: inevitable failure.

Regardless of how good the program, eventually something will go wrong.

And that’s okay.

Software developers work preventatively knowing that that day will come. Failure is accepted as part of the program’s reality. When the fateful day arrives, they don’t assume a program is worthless. Instead, they troubleshoot and recalibrate.

Regardless of how good the program, eventually something will go wrong.

Most of our struggle comes from attempting—futilely—to live a failure-free life. We assume that a successful life means no failure. However, a successful life may very well be rife with mistakes, missteps and a myriad of other unfortunate events. Failure is relative; it’s how we approach it and react to it that determines how it manifests.

If we recoil and disown failure, it remains as a shadow lurking and growing. Its presence starts to affect everything we do.

If we embrace it and use it as an opportunity for growth and understanding, we funnel that energy into something valuable.

Failure is relative; it’s how we approach it and react to it that determines how it manifests.

By adopting an approach of resilience testing, we’re better equipped to deal with failure. We’re primed for its inevitability and “chaos.” In our acceptance of imperfection, we unleash a freedom not found in striving after perfect success.

All this doesn’t mean that stress and frustration are banished forever; however, it allows for a quick recovery. We can continue to perform in less-than-perfect conditions without a loss of direction and motivation. Instead of getting caught up in the shame of our mistakes, we spend our precious energy on finding solutions instead of magnifying the problem.

Resilience testing is preparation and acceptance at its finest. In this futurist age that blurs the lines between natural and artificial intelligence, perhaps we can take a page from our approach to software development.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

About Me

About Me
Hi, I'm Miranda!

I'm a 2x Olympian passionate about turning our flaws and failures into powerful opportunities for growth.

Miranda Ayim

Follow on Facebook