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
Some assumptions are safe, like, for
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?
Before learning how to reduce the risk of making dangerous assumptions. Let’s look at the categories of assumptions that all make daily.
We make these assumptions with no knowledge of the subject and are most of the time incorrect. The assumption that you would only make
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.
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.
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
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.