2 min read

Boundary Value Analysis

Boundary value analysis is a type of black box or specification based testing technique in which tests are performed using the boundary values.
Boundary Value Analysis
Boundaries define your life...

How often do you find yourself getting upset with people you love and respect? You see the good in them, you see the value in your friendship / relationship, and you keep getting tagged by something they say or do.  More often than not, this is an indication of some sort of boundary value failure.

Let me explain.

As technologists, when we undertake projects related to technology, we make sure to define very concrete boundaries.  Then, we verify that those boundaries hold, by systematically testing them.

Here's a simple example:  We need an intake form.   The form needs to collect Name, email & Phone number as required fields, and comments as optional.  When we design, develop and test this intake form, we will test for the required fields being present, validity of each of the fields (e.g. email has the pattern <something>@<validdonaminpatter>.<validpattern>.

Simple. Clear. Consequence of failed boundary value - the contract is null - the intake form fails.  If you want to complete the intake form, you fix the input.  When the program accepts faulty input, the state of the program is compromised.  So, setting the boundary conditions is very important.

Not so easy with humans.

We have hundreds of implicit contracts (agreements) everyday with each other.  For example, when driving on a road, we do not ram into each other.  Breaking a contract may result in punishment, provided a crime occurs. In other words, we can get away with driving erratically when no harm is done. A bunch of people on the road might get upset. The sate of the system (traffic) might get impacted.

Others driving on the road might change their state - in other words - they are punishing themselves by losing their peace.

How about something simpler.   Let's say that I promised myself I would take my lunch break and focus on myself.  My manager, who I like a lot, asks if I can spare a few minutes for a quick question.  I say yes.  We take care of whatever it was, she leaves happy - me: not so much.  I broke my promise (contract) with myself.  I am not honoring my own boundary values.  I am now feeling a bit victim-y - losing my peace, changing my state to a lower state.  Stress, worry, judgement follow. Not only that, had I honored my boundary, and said no to my manager - who I like a lot, I would have felt guilt.  State change to lower level, guilt, losing my peace.

Humans are great at negotiating, considering multiple rules of engagement, pivoting, rolling with the punches.   I can argue that I am much smarter than a program that collects data - and I am smart enough to re-evaluate my promise and pivot based on the situation.  However, can we do this without changing the state of our consciousness?  Can I say yes, and feel OK later even though I had planned on something else?  How many interrupted lunches add up to diminishing state where I am now consistently not feeling OK about myself?

It's a delicate balance - promises or boundary value contracts.  We can either keep them, break them or re-negotiate them.  However it is important to put our choice in perspective and not lose our peace.

It is when we are in automatic mode and we say yes one too many times to that loved one, that person you care for, and ignore your own boundaries, that you start getting upset with them.

It's all about boundaries.