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.

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, and the validity of each of the fields (e.g. email has the pattern «something»@«validdonaminpatter».«valid pattern».

Simple. Clear. A 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) every day 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 state 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, and she leaves happy - me: not so much. I broke my promise (contract) with myself. I am not honoring my boundary values. I am now feeling a bit victim-y - losing my peace, changing my state to a lower state. Stress, worry, and judgment follow. Not only that, had I honored my boundary and said no to my manager - who I like a lot, I would have felt guilty. State change to lower level, guilt, losing my peace.

Humans are great at negotiating, considering multiple rules of engagement, pivoting, and 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 a 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 we care for, and ignore our boundaries, that we start getting upset with them.

It’s all about boundaries.