Try not to assume so much

try_not_to_assume_so_much
  • 18th November 2019

Without us actively thinking about it. We all make assumptions about multiple situations, activities, and future events daily.

From the reason our friend isn’t answering the telephone, what that new restaurant down the street is like, and what we are doing next Friday evening are all assumptions, sometimes based on prior experience and knowledge, but always made with the understanding that you may not know the definitive answer. But the conclusion is your best guess.

Some assumptions are safe, like, for example, if I press this full stop on my keyboard, one should appear on my screen. I was correct.

In software testing. Making assumptions, especially assumptions that turn out to be incorrect, are dangerous and costly for the companies we work from and the projects we are working on.

For example, if there are holes in a specification document that we receive, or if an explanation of the workings of a piece of software isn’t so clear. This can lead to miscommunications and bigger problems further on.

But how can we mitigate this risk and manage the assumptions we make?

Types of assumptions

Before learning how to reduce the risk of making dangerous assumptions. Let’s look at the categories of assumptions that all make daily.

Unlikely

We make these assumptions with no knowledge of the subject and are most of the time incorrect. The assumption that you would only make on ‘Who wants to be a millionaire?’ because you didn’t want to leave with only 100 quid.

Risky

We make these with a basis of some understanding of the source matter and have a 50/50 chance of being correct. The assumption you make in the morning when you decide if it will rain today before going out of the door.

Safe

We base these kinds of assumptions on having about a 95% accurate knowledge base on the subject you are making the assumption about and are correct most of the time. An example would be when you assume if your friend wants to go sit in a beer garden on a warm summer evening.

From this list, you might think you need to increase the number of safe assumptions that you are making and decrease the unlikely and risky ones. But I wouldn’t say that is the best conclusion.

Question your assumptions

You might think something is a safe assumption to make, or it is risky or reckless.

Why do you think that is?

If might seem that way to you, but to someone else it may seem less of a risk. Or they might even help you and fill in the parts of your knowledge base which are missing to make the assumption one that doesn’t even have to be made.

Just like the scaffolding that surrounds the shell of a building until they complete it. As testers, we should question the assumptions we make and grow our understanding of the software until we can be confident in our knowledge of the application.

And the best way to grow your understanding is by asking questions.

Sometimes we have to take a deep breath, put our egos aside and be comfortable in asking questions to a developer to increase our understanding before making an incorrect assumption.

No question is a silly question.

Leave a Reply

Your email address will not be published. Please mark all required fields.